/*! HTML5 Boilerplate v5.2.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #111111;
    padding: 0.2em 0;
}





/* ==========================================================================
   General styles
   ========================================================================== */


body{
    font: 300 14px/22px 'Muli', sans-serif;
    color: #202c3f;

    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
}

h1, 
h2, 
h3,
h4{
    font-family: 'Muli', sans-serif;
    text-transform: uppercase;
    font-weight: 700;
}

img{
    max-width: 100%;
    height: auto;
}

a:link,
a:visited{
    text-decoration: none;
}


ul {
    margin: 0;
    padding: 0;
}

.section-contents{
    padding: 60px 0;  
}

p{
    margin-bottom: 30px;
}

strong{
    font-weight: 700;
}

strong.upper-c{
    display: block;
    text-transform: uppercase;
}



/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
    background: url(images/header-bg.jpg) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}
.header-cta{   
   padding-top: 30px;
   padding-bottom: 30px;
}

h1.logo{   
   margin-top: 0;
   margin-bottom: 0;
}

.header-cta .book-btn{   
   margin-top: 30px;
}



.phone-no{   
   font-size: 19px;
   font-weight: 700;
   color: #9fcb62;
}


h1.logo a{   
   display: inline-block;   
   width: 220px;
}

.navbar{
    margin-bottom: 0;
    background: rgba(72,91,127, 0.5);
}

.dropdown-menu > li > a,
.nav > li > a {
    font: 400 14px/24px 'Muli', sans-serif;
    text-transform: uppercase;
    color: #fff;
    padding: 12px 34px;
}

.nav > li > a:hover,
.nav > li > a.current,
.nav > li > a:focus,
.nav .open > a, 
.nav .open > a:focus, 
.nav .open > a:hover,
.nav .open > a:hover{
    background: none;
    text-decoration: underline;
}

.dropdown-menu{
    padding: 0;
    background-color: #354562;
    color: #fff;
    width: inherit;
}

.dropdown a.active{
    background-color: #fff;
    color: #354562;
}

.navbar-toggle .icon-bar {
    background: #9fcb62;
}
.navbar-toggle {
    border: 1px solid #9fcb62;
    padding: 7px;
}
.index-header .navbar-toggle .icon-bar {
    background: #fff;
}
.index-header .navbar-toggle{
    border: 1px solid #fff;
    padding: 7px;
}

.book-btn {
    margin-bottom: 15px;
}

.book-btn a {
    font-size: 15px;
    display: inline-block;
    color: #fff;
    font-weight: 400;
    text-transform: uppercase;
    text-decoration: none;
    background: #5392c9;
    padding: 11px 17px;
    text-align: center;
    cursor: pointer;    
}

.book-btn a:hover {
    background: #508abc;
}


/*************************************************************
 Home Page
**************************************************************/
.hero-bg{
    background: url(images/home-hero.jpg) center right no-repeat fixed;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 230px 0;
}

.hero-bg h1,
.hero-bg h4{
    margin-top: 0;
    text-transform: uppercase;
    color: #202c3f;
}

.hero-bg h4{
    font-weight: 400;
    font-size: 19px;
}


.hero-bg h1{
    font-weight: 700;
}


.section-cta{
    background: url(images/cta-bg.jpg) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 30px 0;
    color: #fff;
}
.section-cta h4{
   font-weight: 400;
   margin-bottom: 0;
}

.ttn{
    text-transform: none;
}

.images-caption{
    margin-bottom: 30px;
    position: relative;
    max-width: 261px;
}

.images-caption h4{
    width: 100%;
    height: 100%;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;  
    text-align: center;
    font-weight: 700;
    margin-top: 0;
}

.images-caption h4 a{    
    display: table;
    height: 100%;
    width: 100%;
    color: #fff;
}

.images-caption h4 a:hover{    
    background-color: rgba(2,127,185, .5); 
}

.images-caption h4 span{    
    display: table-cell;
    height: 100%;
    width: 100%;
    vertical-align: middle;
    padding: 0 35px;
}

.read-more{
    margin-top: 25px;
    max-width: 176px;
}

.send-message{
    margin-top: 25px;
    width: 245px;
}
.send-message a{
    display: block;
    width: 100%;
}

/*Section Moving you beyond*/
.section-moving-you-beyond{
    background: url(images/joints-bg.png) center center no-repeat fixed;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 25px 0;
}

.section-moving-you-beyond h3{
    text-transform: uppercase;
    font-weight: 600;
}

.bullet-list li{
    margin-bottom: 3px;
    position: relative;
    padding-left: 10px;
}

.bullet-list li::before {
    content: "•";
    font-family: Arial, sans-serif;
    font-size: 15px;
    color: #202c3f;
    position: absolute;
    left: 0px;
}


.grey-bg{
    background: #eceef2;
}





/*************************************************************
 About page
**************************************************************/


/*************************************************************
 Approach page
**************************************************************/
.section-approach-hero{
    font-size: 17px;
    font-weight: 400;
}


.section-approach-hero a{
    text-decoration: underline;
    color: #405479;
}


.section-approach-hero .service-logos li{
    float: left;
    width: 25%;
    padding: 15px; 
}



.section-approach-hero .service-logos li a,
.section-approach-hero .service-logos li img{
    display: block;    
    vertical-align: middle;
}

.has-two-btn span.book-btn a{   
    width: 225px;
    display: inline-block;
}







/*************************************************************
 Services page
**************************************************************/
.section-service-hero .bullet-list{
    margin-bottom: 20px;
}

#videos {
    padding-top: 30px;
}

/*************************************************************
 Contact page
**************************************************************/
/*  CSS for <iframe> responsive Google Map */
.map{
    position: relative;    
    padding-bottom: 78.6666667%; 
    height: 0;
    margin-bottom: 30px;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*************************************************************
 Footer
**************************************************************/

.footer-top{
    background: #0f1c35;    
    color: #fff;
}
.footer-top h4{
    text-transform: uppercase;
    margin-bottom: 0;
}

.footer-top p{
    margin-bottom: 30px;
}

.footer-top td.days{
    padding-right: 12px;
}

.transparent-bg{
    background: url(images/footer-bg.png) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}
.social-links{
    background: #232f42;
    padding: 26px 0;
}

.social-links a{
    display: inline-block;
    width: 32px;
    height: 32px;
    text-align: center;
    line-height: 32px;
    font-size: 20px;
    color: #fff;
    border-radius: 50%;
}

.social-links a.facebook{
    background: #3d5b96;
}

.social-links a.twitter{
    background: #5baeec;
}




/*************************************************************
 Responsive styles Less-than-767px
**************************************************************/
@media screen and (max-width: 767px){ 
    .navbar-nav .open .dropdown-menu .dropdown-header, 
    .navbar-nav .open .dropdown-menu > li > a {
        padding: 5px 15px 5px 42px;
    }

  
    .book-btn {
       margin-top: 15px;
    }  


    
    .map{
        padding-bottom: 58.6666667%; 
    }

    .has-two-btn .send-message{
        display: block;
        margin: 25px auto 0;
    }


    .section-approach-hero .service-logos li{
        float: left;
        width: 50%;
    }


    #videos li{
        margin-bottom: 25px;
    }

    #videos li:last-child{
        margin-bottom: 0;
    }

}


@media screen and (max-width: 480px){    
  
    .map{
        padding-bottom: 88.6666667%; 
    }

    .section-approach-hero .service-logos li{
        float: none;
        width: 100%;
        padding: 0; 
    }

 
   
}


@media screen and (min-width: 768px){
   
    .navbar-nav {
       float: none !important;
       width: 656px;
       margin: 0  auto;
    }

    .header-cta p{   
       text-align: right;
    }

    .section-contents{
        padding: 60px 0;  
    }

    .has-two-btn .send-message{
        margin-left: 15px;
    }

    .section-service-hero{
        font-size: 17px;
        font-weight: 400;
    }
    .two-cols{
        -webkit-column-count: 2;
        -moz-column-count: 2;
        -o-column-count: 2;
        column-count: 2;
        max-width: 590px;
    }

    .nkt{
        min-height: 500px;
    }
   
}

@media screen and (min-width: 768px) and (max-width: 1200px){
     #videos li{
         margin-bottom: 25px;
     }

     #videos li:last-child{
         margin-bottom: 0;
     }
}











/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers:
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
