/*==========STICKY FOOTER==========*/
html {
    position: relative;
    min-height: 100%;
}

footer {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}

/*==========Global Font==========*/
body {
    font-family: 'Nunito', sans-serif;
}

/*==========PARAGRAPHS==========*/
p {
    font-size: 15px;
    font-family: 'Roboto', sans-serif;
}

@media screen and (max-width: 991px) {
    .reactive-text {
        text-align: center!important;
    }
}

/*==========BUTTONS==========*/
.flat-button {
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 100%;
    height: auto;
    max-width: 480px;
    background-color: #31A3DD;
    box-shadow: 5px 5px 0px rgba(0,0,0,.265);
    text-align: center;
    font-size: 26px;
    color: white;
    text-decoration: none;
    padding: 5px;
    cursor: pointer;
    border: none;
    outline: none;
}

.flat-button:hover, .flat-button:active {
    background-color: #FF9F2A;
    border: none;
    outline: none;
}

.flat-button:active {
    box-shadow: 3px 3px 0px rgba(0,0,0,.265);
}

.flat-button:link, .flat-button:visited, .flat-button:hover {
    color: white;
    text-decoration: none;
}

.flat-button:focus {
    border: none;
    outline:none;
}

.flat-button.active {
    background-color: #FF9F2A;
}

/*==========IMAGES==========*/
.flat-image {
    box-shadow: 5px 5px 0px rgba(0,0,0,.265);
    border: 5px solid #31A3DD;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
}

a .flat-image:hover, a .flat-image:active {
    border-color: #FF9F2A;
}

a .flat-image:active {
    box-shadow: 3px 3px 0px rgba(0,0,0,.265);
}

/*==========CAROUSELS==========*/
.carousel-control.left, .carousel-control.right {
    background-image: none
}

.carousel-control, .carousel-control:focus {
    color: #fff;
    text-decoration: none;
    opacity: .5;
    filter: alpha(opacity=50);
}

.carousel-control:hover {
    color: #fff;
    text-decoration: none;
    opacity: .9;
    filter: alpha(opacity=90);
}

.carousel-fade .carousel-inner .item {
    transition-property: opacity;
    transition-duration: .4s;
}

.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
    opacity: .01;
}

.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
    opacity: 1;
}

.carousel-fade .carousel-inner .next,
.carousel-fade .carousel-inner .prev,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
    left: 0;
    transform: translate3d(0, 0, 0);
}

.carousel-fade .carousel-inner .carousel-control {
    z-index: 2;
}

.carousel-caption p
{
    color: white;
    margin: 0 auto;
    margin-bottom: 10px;
    padding: 10px;
    background-color: rgba(49,163,221, .9);
    text-align: center;
    font-size: 16px;
    font-family: 'Nunito', sans-serif;
}

@media screen and (max-width: 991px) {
    .carousel-caption
    {
        display: none;
    }
}

@media screen and (max-width: 640px) {
    /*Version of the fading carousel for cutoff banners*/
    .carousel-fade-cutoff .carousel-inner .item {
        transition-property: opacity;
        transition-duration: .4s;
    }

    .carousel-fade-cutoff .carousel-inner .item,
    .carousel-fade-cutoff .carousel-inner .active.left,
    .carousel-fade-cutoff .carousel-inner .active.right {
        opacity: .01;
    }

    .carousel-fade-cutoff .carousel-inner .active,
    .carousel-fade-cutoff .carousel-inner .next.left,
    .carousel-fade-cutoff .carousel-inner .prev.right {
        opacity: 1;
    }

    .carousel-fade-cutoff .carousel-inner .next,
    .carousel-fade-cutoff .carousel-inner .prev,
    .carousel-fade-cutoff .carousel-inner .active.left,
    .carousel-fade-cutoff .carousel-inner .active.right {
        left: 0;
        transform: translate3d(0, 0, 0);
    }

    .carousel-fade-cutoff .carousel-inner .carousel-control {
        z-index: 2;
    }
}

/*==========Portfolio Grid==========*/
.mix {
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 25px;
    vertical-align: top;
}
/*
.mix .mix-content {
    box-shadow: 5px 5px 0px rgba(0,0,0,.265);
}

.mix .mix-content:active {
    box-shadow: 3px 3px 0px rgba(0,0,0,.265);
}
*/
.mix .flat-image {
    width: 100%;
    height: 100%;
    background-color: white;
    margin: 0px;
    box-shadow: none;
}

.mix .flat-image:active {
    box-shadow: none;
}

.mix .mix-content:hover .flat-image {
    border-color: #FF9F2A;
}

.mix .flat-button {
    position: relative;
    width: 100%;
    max-width: none;
    font-size: 28px;
    box-shadow: none;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 0px;
}

.mix .flat-button:active {
    box-shadow: none;
}

/*==========Summary Panels==========*/
.mix .mix-wrapper {
    display: block;
    position: relative;
}

.mix .sum-container {
    position: absolute;
    top: 0;
    bottom: 0;
    border: solid 5px #31A3DD;
    background-color: #31A3DD;
    width: 0px;
    height: 275px;
    max-height: 100%;
    opacity: 0;
    z-index: 5;
    pointer-events: none;
    transition-property: opacity;
    transition-duration: .250s;
}

.mix .sum-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

.mix .sum-container.right {
    left: 100%;
    margin-left: -5px;
    border-left: none;
    padding-left: 0px;
}
/*
.mix .sum-container.right:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 10px;
    right: -10px;
    height: 5px;
    background-color: rgba(0,0,0,.265);
}

.mix .sum-container.right:before {
    content: "";
    position: absolute;
    top: 0px;
    bottom: -5px;
    right: -10px;
    width: 5px;
    background-color: rgba(0,0,0,.265);
}
*/
.mix .sum-container.left {
    right: 100%;
    margin-right: -5px;
    border-right: none;
    padding-right: 0px;
}
/*
.mix .sum-container.left:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 5px;
    height: 5px;
    background-color: rgba(0,0,0,.265);
}
*/
.mix a:hover + .sum-container {
    z-index: 6;
    opacity: 1;
    border-color: #FF9F2A;
}

.mix .sum-container img {
    width: 100%;
    height: auto;
    border: solid 3px white;
}

.mix .sum-container p {
    width: 100%;
    height: auto;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 5px;
    color: white;
    font-size: 16px;
    text-align: center;
    font-family: 'Nunito', sans-serif;
}

.mix .sum-container.no-banner p {
    position: absolute;
    top: 50%;
    -ms-transform: rotate(-50%); /* IE 9 */
    -webkit-transform: rotate(-50%); /* Chrome, Safari, Opera */
    transform: translateY(-50%);
}

.half-summary-panel {
    display: none;
}

@media screen and (max-width: 1199px) {
    .mix .sum-container p {
        position: absolute;
        top: 50%;
        -ms-transform: rotate(-50%); /* IE 9 */
        -webkit-transform: rotate(-50%); /* Chrome, Safari, Opera */
        transform: translateY(-50%);
    }
    
    .mix .sum-container img {
        display: none;
    }
    
    .half-summary-panel {
        display: inline;
    }
}

@media screen and (max-width: 568px) {
    .mix .sum-container {
        display: none;
    }
}

/*==========Mix Sliders==========*/
.mix-slider.mix-container {
    min-height: 400px;
}

.mix-slider-controls {
    text-align: center;
    margin: 0 auto;
}

.mix-slider-controls .page-button {
    width: auto;
    display: inline-block;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.mix-slider-controls .page-button span {
    text-align: center;
    vertical-align: middle;
    width: 100%;
    height: 100%;
    padding: 0px;
    margin-bottom: 5px;
}

.mix-slider-controls .more-button {
    margin-top: 10px;
    margin-bottom: 20px;
    max-width: 225px;
    display: inline-block;
    margin-left: 10px;
    margin-right: 10px;
}

@media screen and (max-width: 391px) {
    .mix-slider-controls .more-button {
        width: 145px;
    }
}

/*==========Dropdowns==========*/
select {
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 100%;
    max-width: 480px;
    background-color: #FFF;
    box-shadow: 5px 5px 0px rgba(0,0,0,.265);
    text-align: center;
    font-size: 26px;
    color: #31A3DD;
    text-decoration: none;
    padding: 5px;
    cursor: pointer;
    border: solid 5px #31A3DD;
    outline: none;
}

select:hover, select:active {
    border: solid 5px #FF9F2A;
    outline:none;
}

select:focus {
    border: solid 5px #FF9F2A;
    outline:none;
}

/*==========Banners==========*/
.banner-container {
    padding-left: 0px;
    padding-right: 0px;
    margin-bottom: 20px;
}

.banner-background {
    background-color: #31A3DD;
    box-shadow: 0px 5px 5px rgba(0,0,0,.265);
    overflow: hidden;
}

.banner-content {
    margin: 0 auto;
    max-height: 480px;
}

@media screen and (max-width: 640px) {
    /*crop out 1/3 of the banner image, 1/6 from each side*/
    .content .banner-content {
        margin-left: -25%;
        min-width: 150%;
    }
}

/*==========Posts==========*/
.post {
    width: 100%;
    height: auto;
    background-color: #fff;
    box-shadow: 5px 5px 0px rgba(0,0,0,.265);
    border: 3px solid #31A3DD;
    margin-top: 30px;
    margin-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.post .post-header {
    margin: 0px;
    border-bottom: solid 2px #31A3DD;
}

.post .post-header .post-title {
    font-size: 40px;
}

.post .post-header .post-title a:link, .post .post-header .post-title a:visited {
    text-decoration: none;
    color: #31A3DD;
}

.post .post-header .post-title a:hover, .post .post-header .post-title a:active {
    text-decoration: none;
    color: #FF9F2A;
}

.post .post-content pre {
        border-radius: 0px;
    }

@media screen and (max-width: 767px) {
    .post .post-content pre {
        white-space: pre-wrap;       /* Since CSS 2.1 */
        white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
        white-space: -pre-wrap;      /* Opera 4-6 */
        white-space: -o-pre-wrap;    /* Opera 7 */
        word-wrap: break-word;       /* Internet Explorer 5.5+ */
    }
}

/*==========Horizontal Rules==========*/
hr {
    border-color: #E5E5E5;
}

/*==========Lightboxes==========*/
#lightbox {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.5);
}

#lightbox .close-button {
    color: #ccc;
    float: right;
    font-size: 32px;
    width: auto;
    height: auto;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    margin: 20px;
}

#lightbox .close-button:hover, #lightbox .close-button:active {
    color: white;
}

#lightbox .lightbox-content {
    margin: 0 auto;
    position:  absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    width: 75%;
}

#lightbox #lightbox-carousel .item img {
    margin: 0 auto;
    position:  absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    top: 50%;
    max-height: 100%;
    -ms-transform: rotate(-50%); /* IE 9 */
    -webkit-transform: rotate(-50%); /* Chrome, Safari, Opera */
    transform: translateY(-50%);
}

.lightbox-image {
    cursor: pointer;
}

/*==========Fixed Ratio Boxes==========*/
.ratio-box-16x9 {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 Aspect Ratio */
}