
/* Site specific style ------------------------ */


/* START typography =================================== */
body 
{
    font-family: 'Barlow Semi Condensed', Helvetica, Arial, sans-serif;
    color: #404040;
}

h2, .h2 
{
    font-weight: 700;
}

h3, .h3 
{
    color: #fd8e18;
}

.subtitle 
{
    color: rgba(35,115,141, 0.17);
    font-size: 3rem;
    font-weight: 900;
}

.text-orange 
{
    color: #fd8e18;
}

.display-5 
{
    font-size: 2rem;
    font-weight: 300;
    line-height: 1.2;
}

.blockquote .displayQuote-1 
{
    font-size: 6rem;
    font-weight: 300;
    line-height: 0.25;
    vertical-align: bottom;
}

.blockquote .displayQuote-3 
{
    font-size: 4.5rem;
    font-weight: 300;
    line-height: 0.25;
    vertical-align: bottom;
}

/* .blockquote p:first-child 
{
    position: relative;
}

.blockquote p:first-child::before
{
    content: '\201C';
    position: absolute;
    top: 0.25em;
    left: -0.15em;
    color: rgba(255,255,255,0.35);
    font-size: 6em;
    z-index: -1;
 } */

/* END typography =================================== */


/* START buttons =================================== */
.btn 
{
    border-radius: 0px;
    padding: 0.25rem 1.25rem;
}

.btn-primary 
{
    background-color: #355989;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
    border-color: #355989;
}

.btn-primary:hover,
.btn-primary:focus 
{
    color: rgba(255,255,255, 1.0);
    background-color: #147ed9;
}

.btn-secondary 
{
    background-color: #fd8e18;
    text-transform: uppercase;
    color: #fff !important;
    border-color: #fd8e18;
}

.btn-secondary:hover,
.btn-secondary:focus 
{
    color: #fd8e18 !important;
    background-color: #fff;
    border-color: #fd8e18;
}

/* END buttons ===================================== */



/* START generic layout stuff ====================== */
.mt-n4 
{
    margin-top: -4rem;
}

.mt-n6 
{
    margin-top: -6rem;
}

.mt-n8 
{
    margin-top: -8rem;
}

.mt-n10 
{
    margin-top: -10rem;
}

.mt-n12 
{
    margin-top: -12rem;
}

.bb-dash-blue 
{
    border-bottom: 2px dashed #31709a;
    padding-bottom: 1rem;
}

@media (min-width: 768px) 
{
    .mt-md-6 
    {
        margin-top: 6rem;
    }
    
    .mt-md-n8 
    {
        margin-top: -8rem;
    }

    .mt-md-n10 
    {
        margin-top: -10rem;
    }
}

@media (min-width: 992px)
{
    .mt-lg-6 
    {
        margin-top: 6rem;
    }

    .mt-lg-8 
    {
        margin-top: 8rem;
    }
    
    .mt-lg-10 
    {
        margin-top: 10rem;
    }

    .mt-lg-n12 
    {
        margin-top: -12rem;
    }
}

/* responsive vimeo embeds */
.embed-container
{
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* END generic layout stuff ====================== */



/* START generic section level stuff ===================== */
.bg-dblue 
{
    background-color: #1c5b8a;
    color: #fff;
}

.bg-dblue .subtitle,
.bg-dblue h2
{
    color: rgba(255,255,255,0.2);
}

.bg-dblue .blockquote > p 
{
    color: rgba(255,255,255,0.6);
}

/* ---- classed section edges ----- */

/* dr = down (towards) right */
.sctn-angle-top-dr 
{
    position: relative;
    padding-top: 10%;
}

.sctn-angle-top-dr::before 
{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='white' preserveAspectRatio='none'%3E%3Cpolygon points='0 0,0 0,100 0,100 100' /%3E%3C/svg%3E"); 
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    content: '';
    height: 10vw;
    width: 100%;
    position: absolute;
    top: -1px;
}

.section-pb 
{
    padding-bottom: 5rem;
}


.bg-texture-blue-top 
{
    background: #1c5b8a url('images/bg-texture-blue.jpg') repeat-x top center;
    color: #fff;
}

.bg-texture-blue-top .subtitle,
.bg-texture-blue-top h2
{
    color: rgba(255,255,255,0.2);
}

.bg-texture-blue-top a:not(.btn) 
{
    color: #fd8e18 !important;
}

.bg-texture-blue-top a:not(.btn):hover,
.bg-texture-blue-top a:not(.btn):focus
{
    color: #fff !important;
}



/* END generic section level stuff ===================== */



/* START generic block stuff ========================== */
.block-orange 
{
    background-color: #fc842c;
}

.block-orange h3,
.block-orange a:not(.btn) 
{
    color: #fff;
}

.block-orange a:not(.btn):hover,
.block-orange a:not(.btn):focus
{
    color: #fff;
}

@media (min-width: 768px)
{
    .bdr-lft-md-1-35 
    {
        border-left: 1px solid rgba(255,255,255,0.35);
    }

    .bdr-lft-md-35 
    {
        border-left: 2px dashed rgba(255,255,255,0.35);
    }
}

/* END generic block stuff ============================ */



/* START images ======================================= */
.video-thumb 
{
    position: relative;
    margin-bottom: 0.5rem;
}

a.video-thumb 
{
    display: block;
}

.video-thumb::before 
{
    content: "";
    display: block;
    position: absolute;
    width: 55px;
    height: 55px;
    background: url('images/icon-play.svg') no-repeat center center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
/* END images ======================================= */



/* START cards ========================================
.card 
{
    border-radius: 0;
    border: none;
    background-color: transparent;
}

.card .video-thumb 
{
    margin-bottom: 0.5rem;
}

.card-columns .card 
{
    margin-bottom: 1.5rem;
}

.card-title 
{
    margin-bottom: 0;
}

.card-title a 
{
    color: #fd8e18;
}

.card-title a:hover,
.card-title a:focus 
{
    color: rgba(252,132,44,0.5);
}


@media (min-width: 768px)
{
    .card-columns 
    {
        column-count: 2;
    }
}
END cards ======================================== */



/* flexible width modal window */
.modal-1024 
{
    width: auto;
    max-width: 1024px;
}



/* START carousel =================================== */
.carousel-indicators 
{
    margin-bottom: -2rem;
}
/* END carousel =================================== */



/* START section lead (overlaps jumbotron) ====== */
.overlay-block
{
    margin-bottom: 4rem;
    background: #fff;
    box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.35);
    padding: 2rem;
}

.overlay-block > :last-child 
{
    margin-bottom: 0;
}

.section-lead .overlay-block 
{
    color: #31709a;
}

.section-lead .overlay-block small 
{
    color: #717070;
}

/* END section lead (overlaps jumbotron) ====== */



/* START rotated subtitles ========================== */
/* make the subtitle vertical, and fit it to the left of the col-content */
@media (min-width: 992px)
{
    .col-lg-titled-lft
    {
        position: relative;
    }
    
    .col-lg-titled-lft > .subtitle
    {
        display: block;
        transform: rotate(-90deg);
        position: absolute;
        transform-origin: bottom right;
        white-space: nowrap;
    }

    .col-lg-titled-lft > .col-content 
    {
        margin-left: 5rem;
    }

    .sub-lg-rotateLeft 
    {
        display: flex;
    }


    /* trying to use flex */
    .col-lg-subFlip 
    {
        position: relative;
        display: flex !important;
    }

    .col-lg-subFlip .subtitle
    {
        flex: 0 0 4rem; /* flex basis is h2 height + margin-bottom */
        min-width: 0;
        display: flex;
        justify-content: center;
        align-items: center;

        font-size: 6rem;
        margin-right: 1rem;
        position: relative;
    }

    .col-lg-subFlip .subtitle > span 
    {
        transform: rotate(270deg);
        white-space: nowrap;

        position: absolute;
        transform-origin: right top;
        top: 0;
        right: 130%;
        line-height: 1;
    }

    .col-lg-subFlip .col-content 
    {
        flex: 1;
    }
}
/* END rotated subtitles ========================== */




/* START jumbotron ================================ */
#page-hero 
{
    /* image gradients from Pshop too complicated to replicate with a gradient overlay */
    background: url('images/bg-hero.jpg') no-repeat left center;
    background-size: cover;
    position: relative; /* needed to contain ::after method */
}

@media (min-width: 768px) 
{
    #page-hero 
    {
        background-position: bottom center;
    }
}

/* angled bottom edge */
#page-hero::after 
{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'  fill='white' preserveAspectRatio='none'%3E%3Cpolygon points='0,100 100,0 100,100' /%3E%3C/svg%3E");  
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    content: '';
    height: 10vw;
    width: 100%;
    position: absolute;
    bottom: -1px;
}

#page-hero > [class*="container"] 
{
    min-height: 300px;
}

@media (min-width: 768px)
{
    #page-hero > [class*="container"] 
    {
        min-height: 450px;
    }
}

@media (min-width: 992px)
{
    #page-hero > [class*="container"] 
    {
        min-height: 600px;
    }
}

/* hack for IE11 to vertically center content */
@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active)
{
    #page-hero > [class*="container"] 
    {
        height: 200px;
    }

    @media (min-width: 768px)
    {
        #page-hero > [class*="container"] 
        {
            height: 350px;
        }
    }

    @media (min-width: 992px)
    {
        #page-hero > [class*="container"] 
        {
            height: 488px;
        }
    }
}


#page-hero h1 
{
    color: #fff;
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.65);
    text-align: center;
    line-height: 1;
    font-size: 3.5rem;
    margin-bottom: 0;
}

#page-hero h1 > span 
{
    color: #fd8e18;
    font-weight: 900;
    display: block;
    font-size: 2.5rem;
}

@media (min-width: 768px)
{
    #page-hero h1
    {
        font-size: 5rem;
    }

    #page-hero h1 > span 
    {
        font-size: 4rem;
    }
}

@media (min-width: 992px)
{
    #page-hero h1
    {
        font-size: 8rem;
    }

    #page-hero h1 > span 
    {
        font-size: 5.6rem;
    }
}


/* END jumbotron ================================ */



/* START camps block =========================== */
#camps-block h3 
{
    margin-bottom: 0;
    font-size: 1.5rem;
}



/* START footer ================================ */
#footer 
{
    background: #1c5b8a url('images/bg-footer.jpg') no-repeat left top;
    background-size: cover;
    color: #fff;
    padding-top: 5rem;
    padding-bottom: 5rem;
}
 
@media (min-width: 768px)
{
    #footer 
    {
        background-position: right top;
    }
}

#footer h2 
{
    font-size: 1.5rem;
}

#footer [class*="col-"]:last-child :last-child 
{
    margin-bottom: 0;
}
/* END footer ================================ */