
body{
    overflow-x:hidden;
}
.scroll-container{
    display:block;
}
/*background/foreground*/
.background-item{
    width:100%;
    height:100vh;
    z-index:0;
    position:sticky;
    display:block;
    top:0;
    margin-bottom:20%;
}
.foreground-item{
    position:relative;
    padding-bottom:50%;
}
.hidden{
    display:none !important;
}

/*positioning*/
.center, .center-wide{
    text-align:center;
}
.left, .right-inline{
    display:inline-block;
}
.left{
    vertical-align:top;
}
.half-width{
    width:50%;
}
.full-width, .fit{
    width:100%;
}
.half-height{
    height:50%;
}
.full-height, .fill{
    height:100%;
}

/*title*/
.title{
    height:100vh;   
}
.title > * {
    display:inline-block;
}
.title h1{
    font-size:100px;
}

/*bottom margin styles*/
.row{
    margin-bottom:30%;
}

/*smaller bottom margin for rows in the foreground*/
.foreground-item > .row{
    margin-bottom:60%;
}
.no-margin{
    margin-bottom:0 !important;
    margin-top:0 !important;
}
.lg-margin{
    margin-bottom:100% !important;
}
.md-margin{
    margin-bottom:50% !important;
}
.sm-margin{
    margin-bottom:25% !important;
}

/*block styles*/
.rounded{
    border-radius:2%;
}
.background-white{
    background-color:white;
    padding:20px;
}
.background-transparent{
    background-color:rgba(255,255,255,0.8);
    padding:20px;
}

/*credits section*/
.credits{
    text-align:left;
    margin-bottom:50px;
}
.credits > p{
    margin-bottom:5px;
}

/*interactions*/
.no-event{
    pointer-events:none;
}

/*temp*/
#map, #background-map, .full-screen{
    height:100vh;
    width:100vw;
}

/*animation*/
.fade-in{
    animation:in 2s; 
}
@keyframes in {
    from {opacity: 0;}
    to {opacity: 1;} 
 } 

/*slideshow*/
/*slideshow container */
.slideshow-container {
    width:100%;
    position: relative;
    margin: auto;
}

/* hide the images by default */
.slide {
    display: none;
}

/* next & previous buttons */
.prev, .next {
    cursor: pointer;
    position: absolute;
    top: calc(50% - 30px);
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
}

/* position next button to the right */
.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}
/* position prev button to the left */
.prev{
    left: 0;
}

/* hover styling for next/prev buttons */
.prev:hover, .next:hover {
    background-color: rgba(0,0,0,0.5);
    color:white;
}

.slide > img{
    width:100%;
}

/* image captions */
.caption {
    color: #f2f2f2;
    font-size: 20px;
    padding: 8px 0px;
    position: absolute;
    bottom: 50px;
    width: 100%;
    text-align: center;
    background:rgba(0,0,0,0.3)
}

/* the dots/bullets/indicators */
.slideshow-dots{
    text-align:center;
}
.dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 15px 2px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.active, .dot:hover {
    background-color: #717171;
}


@media screen and (min-width: 1200px) {
    .center{
        flex: 0 0 auto;
        margin-left:25%;
        width:50% !important;
    }
    .center-wide{
        flex: 0 0 auto;
        margin-left:15%;
        width:70% !important;
    }
    .left{
        flex: 0 0 auto;
        margin-left: 8.33333333%;
        width: 41.66666667% !important;
    }
    .right{
        flex: 0 0 auto;
        margin-left:50%;
        width: 41.66666667% !important;
    }
    .right-inline{
        width: 41.66666667% !important;
        margin-left:20px;
    }
}
    @media screen and (min-width: 720px) and (max-width: 1199px) {
    .center{
        flex: 0 0 auto;
        margin-left: 16.66666667%;
        width: 66.66666667% !important;
    }
    .center-wide{
        flex: 0 0 auto;
        margin-left:15%;
        width:70% !important;
    }
    .left{
        flex: 0 0 auto;
        margin-left:5%;
        width: 45% !important;
    }
    .right{
        flex: 0 0 auto;
        margin-left:50%;
        width: 45% !important;
    }
    .right-inline{
        flex: 0 0 auto;
        margin-left:20px;
        width: 45% !important;
    }

}
@media screen and (min-width: 540px) and (max-width: 719px) {
    .center, .center-wide{
        flex: 0 0 auto;
        margin-left: 8.33333333%;
        width: 83.333333333% !important;
    }
    .left{
        flex: 0 0 auto;
        width: 48% !important;
    }
    .right{
        flex: 0 0 auto;
        margin-left:50%;
        width: 48% !important;
    }
    .right-inline{
        flex: 0 0 auto;
        width: 48% !important;
        margin-left:10px;   
    }
}
@media screen and (max-width: 539px) {
    .center, .center-wide{
        width: 100% !important;
    }
    .left{
        width: 100% !important;
    }
    .right{
        width: 100% !important;
    }
    .right-inline{
        width: 100% !important;
    }
    .row{
        margin-bottom:50vh !important;
    }
    .foreground-item > .row{
        margin-bottom:100%;
    }
    /*move slideshow caption*/
    .caption{
        top:100%;
        background:none;
        color:black;
    }
    .vert-center{
        margin-top:0px !important;
    }
}
