/* Fonts */

p, h1, h2, h3, h4, h5, h6 {
    font-family: 'Nunito Sans', sans-serif;
    margin-bottom: 1em;
}

p {
    font-size: 1.25rem;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 1em;
}

label {
    font-family: 'Nunito Sans', sans-serif;
    font-variant-caps: all-petite-caps;
}

td {
    font-family: 'Nunito Sans', sans-serif;
}

/* Navigation */

.nav {
    justify-content: space-between;
    align-items: flex-end;
}

.nav-link {
    font-size: 1em;
    color: #ED7D31;
}

.nav-link-step {
    margin-right: 1em;
}

.nav-item {
    width: auto;
}

.nav-pills .nav-link.active {
    position: relative;
}

.nav-pills .nav-link.active:before {
    content: "";
    position: absolute;
    right: -1em;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: .86em solid #007bff;
    border-top: 1.2em solid transparent;
    border-bottom: 1.2em solid transparent;
}

.nav-pills .nav-link.finish {
    background-color: green;
}

.tab-content {
    margin-left: 20px;
    margin-top: 20px;
    margin-bottom: 20px;    
}

.logo-img {
    max-width: 100px;
    height: auto;
}

/* Hero Page */
.jumbotron {
    position: relative;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;    
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 0;
}

.hero-text {
    position: absolute;
    top: 0;
    left: 0;
    padding-left: 1em;
    background-color: rgba(0,0,0,0.30);    
    height: 100%;
    width: inherit;
}

.banner-page-text {
    margin-top: .25em;
}

/* Buttons */
.btn-primary {
    background-color: #169BD5;
    color: #fff;
    text-align: center;
    border: 2px;
    border-radius: 5px;
    padding: 10px;
}

.btn-primary :hover {
    background-color: #fff;
    color: #169BD5;
    border: 2px #169BD5;
}

.btn__link-dark {
    color:#FFFFFF;
    text-decoration: none;
    border: none;
    background: none;
    margin-left: 10px;    
}

/* Containers */
.container-fluid {
    width: 100vw;
}

.section {
    min-height: 60vh;
    margin-left: 1em;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.media {
    background-color: #2F5597;
    align-items: center;
    vertical-align: middle;
}

.media-body {
    color: #fff;   
    margin-top: 0;
    margin-left: 5em;
    justify-content: center;
}

.figure {
    padding: 1em;
}

.figure-caption {
    text-align: center;
}

.mr-3 {
    margin: 2em;
    max-height: 200px;
    height: inherit;
}

/* Text Styles */
h1 {
    margin-bottom: 1rem;
}

/* Carousel controls */


.carousel {
    margin-bottom: 10px;
}

.carousel-item {
    width: 100%;
    height: auto;
    min-height: 350px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.carousel-indicators {
    bottom: -2.5em;
    width: auto;
    height: 20px;
    background-color: rgba(0,0,0,.15);
}

/* Image Controls */

.flex-column { 
    max-width : 260px;
}

.scale {
    transform: scaleY(1.05);
        padding-top: 5px; 
}

.card-icon {
    margin-left: 10px;
}

i {
    width: 30px;
    height: auto;
}

.credit-icon {
    max-width: 3em;
    padding-right: 10px;
}


/* Cards */
.card-gallery {
    position: relative;
    left: 10px;
    display: flex;
    align-items: flex-start;
}

.card-btn {
    align-self: flex-end;
}

.card-img-top {
    width: auto;
    max-height: 300px;
}

.card-deck .card {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 15px;
}

.icon {
    max-width: 5rem;
    padding-right: 10px;
}

.button-visibility {
    display: none;
}

/* Form */

.form-buttons {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: stretch;
    cursor: pointer
}

.custom-control {
    display: flex;
    justify-content: space-between;
}

.custom-switch {
    padding-left: 0;
}

.custom-control-label {
    margin-left: 4rem;
}

.custom-checkbox {
    padding-left: 0;
}

.toggle-label-left {
    margin-left: 0;
    margin-right: 5px;
}

.checkbox-label-left {
    margin-left: .75rem;
    margin-right: 5px;
}

.custom-range {
    width: 10em;
    padding-top: .75em;
}

.scrollbox {
    width: auto;
    height: 40vh;
    border: 2px solid #BDBDBD;
    padding: 5px;
    margin: 10px 0;
    overflow: scroll;
}

/* Form Error Handling */
.error {
  border-color: red;
}

.error-message {
  color: red;
  font-style: italic;
}

/* Footer */
.footer {
    max-width: 100vw;
    min-height: 3em;
    background-color: #333333;
    color: white;
    vertical-align: bottom;
    padding-top: 10px;
}

.footer-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

/* Menu */

#menu-button {
    position: absolute;    
    right: 15px;
    top: 15px;
    padding: 10px 10px;
    border: none;
    background-color: transparent;
    display: block;
    cursor: pointer;
    user-select: none;
    z-index: 5;    
}
    
.top {
    top: 6px;
    right: 0px;
    height: .15em;
    width: 1.5em;
    margin-bottom: .1em;
    border-radius: 2px;
    background-color: #ED7D31;   
    position: absolute;
    transition: all .2s ease-in-out;    
}
    
.mid {
    top: 12px;
    right: 0px;
    height: .15em;
    width: 1.5em;
    margin-bottom: .1em;    
    border-radius: 2px;
    background-color: #ED7D31;
    position: absolute;
    transition: all .2s ease-in-out;
}    
    
.bottom {
    top: 18px;
    right: 0px;
    height: .15em;
    width: 1.5em;   
    border-radius: 2px;
    background-color: #ED7D31; 
    position: absolute;
    transition: all .2s ease-in-out;
}
    
.closemid {
    background-color: transparent;
}  
    
.closetop {
    transform: rotate(45deg) translate(32%, 32%);
    opacity: 1;
}
    
.closebottom {
    transform: rotate(-45deg) translate(32%, -32%);
}

.menu-container {
    margin-top: 0;
    padding-right: 2em;
    background: transparent;
    background-color: rgba(64,64,64,0.90);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 75px;
}

#menu-items {
    top: -5px;
    right: 0;   
    z-index: 4;
    position: fixed;
}

.visibility {
    visibility: hidden;
}

/* MEDIA QUERIES */

/* Mobile Styles */
@media only screen and (max-width: 414px) {

.nav-landscape {
    visibility: hidden;       
}
    
.nav-portrait {
    visibility: visible;    
}
    
.nav-link {
    font-size: .75em;
    color: #ED7D31;
}    
    
.media {
    display: block;
    padding-top: 1em;
}
    
.media-body {
    margin-left: .1em;
    justify-content: space-around;
}
    
.figure {
    padding: 0;
    max-width: 4em;
}   
    
.carousel {
    width: 100%;
    height: auto;
        
} 
    
.container-fluid {
    padding-left: 0;
    padding-right: 0;
}
    
.section {
    min-height: 60vh;
    margin-left: .1em;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}    
    
.jumbotron {
    position: relative;
    top: 0;
    left: 0;
    width: 100vw;
    height: 40vh;
    background-color: #000;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
}
    
.jumbotron .display-4 {
    font-size: 2.25rem;    
}    
    
p {
    padding-left: .5em;
    padding-right: .5em;
}
    
form {
    margin-left: .5em;
    margin-right: .5em;
        
}    

.footer-item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-left: 1.25em;
}    
    
.footer-links {
    display: inline;
}
    
}

/* Navigation for Larger Screens */
@media only screen and (min-width: 415px) {

.nav-landscape {
    visibility: visible;       
}
    
.nav-portrait {
    visibility: hidden;    
}
    
}

/* Multi-Item Carousel */
@media (min-width: 768px) and (max-width: 991px) {
    /* Show 4th slide on md if col-md-4*/
#myCarousel .carousel-inner .active.col-md-4.carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -33.3333%;
        z-index: -1;
        display: block;
        visibility: visible;
    }
}
@media (min-width: 576px) and (max-width: 768px) {
    /* Show 3rd slide on sm if col-sm-6*/
 #myCarousel .carousel-inner .active.col-sm-6.carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -50%;
        z-index: -1;
        display: block;
        visibility: visible;
    }
}
@media (min-width: 576px) {
#myCarousel .carousel-item {
        margin-right: 0;
    }
    /* show 2 items */
#myCarousel .carousel-inner .active + .carousel-item {
        display: block;
    }
#myCarousel .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
        transition: none;
    }
    
#myCarousel .carousel-inner .carousel-item-next {
        position: relative;
        transform: translate3d(0, 0, 0);
    }
    /* left or forward direction */
#myCarousel .active.carousel-item-left + .carousel-item-next.carousel-item-left,
#myCarousel .carousel-item-next.carousel-item-left + .carousel-item,
#myCarousel .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* farthest right hidden item must be also positioned for animations */
#myCarousel .carousel-inner .carousel-item-prev.carousel-item-right {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        display: block;
        visibility: visible;
    }
    /* right or prev direction */
#myCarousel .active.carousel-item-right + .carousel-item-prev.carousel-item-right,
#myCarousel .carousel-item-prev.carousel-item-right + .carousel-item,
#myCarousel .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;    
    }
}
/* MD */
@media (min-width: 768px) {
    /* show 3rd of 3 item slide */
#myCarousel .carousel-inner .active + .carousel-item + .carousel-item {
        display: block;
    }
#myCarousel .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item {
        transition: none;
    }
#myCarousel .carousel-inner .carousel-item-next {
        position: relative;
        transform: translate3d(0, 0, 0);
}
    /* left or forward direction */
#myCarousel .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* right or prev direction */
#myCarousel .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible; 
    }
}
/* LG */
@media (min-width: 991px) {
    /* show 4th item */
#myCarousel .carousel-inner .active + .carousel-item + .carousel-item + .carousel-item {
        display: block;
    }
#myCarousel .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item {
        transition: none;
    }
    
/* Show 5th slide on lg if col-lg-3 */
    .carousel-inner .active.col-lg-3.carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -25%;  /*change this with javascript in the future*/
        z-index: -1;
        display: block;
        visibility: visible;
    }  

    /* left or forward direction */
#myCarousel .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* right or prev direction //t - previous slide direction last item animation fix */
#myCarousel .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;    
    }
}