html {
    min-height: 100%;
}

body {
    background-color: #283618;
    color: #040502;
    min-height: 100vh;
}

/* WRAPPERS */
.wrapper {
    display: flex;
    flex-direction: column;
}

.main-content-outer-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    min-height: 91.75vh; /* that's pretty hacky, tho */
}
.main-content-inner-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;

    min-width: 75vw;
}
@media only screen and (min-width: 768px) {
    .main-content-inner-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
    
        min-width: 75vw;
        text-align: justify;
    }
}
/* WRAPPER for images in cards, also some responsive stuff for those cards */
.image-card-wrapper {
    display: flex;
    flex-direction: column;
    min-width: 75vw;
}
.image-card-wrapper > .card {
    order: 3;
}
.image-card-wrapper > .portrait {
    order: 1;
    width: 100%;
    height: 100%;
    border-radius: .25rem;;
}
@media only screen and (min-width: 768px) {
    .image-card-wrapper > .portrait {
        width: 50%;
        margin-left: 25%;
    }
}
@media only screen and (min-width: 1024px) {
    .image-card-wrapper {
        flex-direction: row;
    }

    .image-card-wrapper > .card {
        order: 1;
    }

    .image-card-wrapper > .portrait {
        order: 3;
        margin-left: 0%;
    }
}
@media only screen and (min-width: 1480px) {
    .image-card-wrapper {
        min-width: 60vw;
    }
    .image-card-wrapper > .portrait {
        width: 25%;
    }
}
@media only screen and (min-width: 2000px) {
    .image-card-wrapper > .portrait {
        width: 20%;
    }
}

/* FORMATTING */
.bold{
    color: #DDA15E;
    font-size: 22px;
    font-weight: 700;
}.black{
    color: black;
}

.center {
    align-self: center;
    width: 100%;
    text-align: center;
}

.serif {
    font-family: Garamond;
}

/* SPACERS */
.main-content-outer-wrapper > .spacer {
    width: 50%;    
}

.main-content-inner-wrapper > .inner-content > .spacer,
.main-content-inner-wrapper > .inner-content > .noscript_canvas > .spacer
{
    height: 2vh;
}

.main-content-inner-wrapper > .inner-content > .image-card-wrapper > .spacer {
    order: 2;    
    height: 0.25vh;
}
@media only screen and (min-width: 1024px) {
    .main-content-inner-wrapper > .inner-content > .image-card-wrapper > .spacer {
        height: auto;
        width: 0.25vw;
    }
}


/* VARIOUS ELEMENTS */
.slogan {
    color: #BC6C25;
    margin: 40px 0;
    font-size: 3em;
}

.big-underline {
    margin-bottom: 40px; 
    padding-bottom: 10px;
    border-bottom: 1px solid #283242;
}

.heading {
    margin-bottom: 25px;
}

.textbox {
    background-color: #fdf6ca;
    padding: 16px;
    border-radius: 0.25rem;
}

.center-block{
    display: flex;
    align-self: center;
    width: 100%;
    text-align: center;
    justify-content: center;
}

.map {
    width: 100%;
}

.slim {
  width: 75%;
}

.hacky-margin-left {
  margin-left: 14%;
}  

/* NAV ELEMENTS */
.nav-dark {
    background-color: #0A0E06;
}
.nav-dark > .nav > .nav-item > .nav-link {
    color: #f7f4e8;
}
.nav-dark > .nav > .nav-item > .nav-link:visited {
    color: #c0bba8;
}


/* BAD PRACTICES */
/* BOOTSTRAP OVERRIDES */
.nav-pills .nav-link {
    border-radius: 0.2rem;
  }
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #86A9DC;
}

.card {
    background-color: #606C38;
}
.card-body {
    color: #FEFAE0;
}
.card-text {
    color: #040502;
}

.list-group-item {
    background-color: #fdf6ca;
    color: #040502;
    border-radius: .25rem;
}
.list-group-item:first-child {
    border-radius: .25rem;
}
.list-group-item:last-child {
    border-radius: .25rem;
}


/* OLD STUFF BELOW */
/*
* {
    margin: 0;
}

#header {
    color: #f3f5f8;
    background-color: #36404b;
    padding: 8px;
}
#header_nav {
    width: 35%;
    align-items: center;
}
#main {

}
#footer {
    color: #f3f5f8;
    background-color: #36404b;
    padding: 8px;
    flex-grow: 2;
}

.flex-col {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}
.flex-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.nav_wrapper {
    
}
.nav_div {
    font-size: 18px;
}

.nav_link_mobile {
    display: none;
}
*/