/*! HTML5 Boilerplate v5.3.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.
 */
html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }

:root{
  --dark-blue: #062244;
  --body-grey: #F0F0F2;
  --lighter-grey: #f6f6f7;
  --light-blue: #00AEEF;
}

a{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;
text-decoration: none;
color: #00AEEF;}
a{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;
text-decoration: none;
color: var(--light-blue);}
a:hover{color: #062244;}
a:hover{color: var(--dark-blue);}

a img{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;}
.smoothie{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;}
h1,h2,h3,h4,h5,h6{margin: 0 0 10px 0; color: #062244;}
h1,h2,h3,h4,h5,h6{margin: 0 0 10px 0; color: var(--dark-blue);}

p{margin: 0 0 10px 0;}
strong{ color: #062244;}
strong{ color: var(--dark-blue);}

img{max-width: 100%;}

.flex-between-wrap{display: flex; justify-content: space-between; flex-wrap: wrap;}
body{background: #F0F0F2;font-family: 'Quicksand', sans-serif; }

.infocontent{width: 80%; max-width: 300px;}
/* ==========================================================================
   Author's custom styles
   ========================================================================== */
.container{width: calc(100% - 40px); max-width: 1920px; margin: 20px auto; background: #fff;}


/* ==========================================================================
   HEADER AND NAV
   ========================================================================== */


.header{width: 100%; background: #Ffffff; display: flex; justify-content: space-between; flex-wrap: wrap; }
.logoblock{background: #fff; display: flex; padding: 20px; align-items: center; max-width: 135px; margin-right: 20px;}
.logoholder{display: flex; justify-content: space-between; flex-wrap: wrap;}
.logo{align-self: center; font-size: 20px; font-weight: 700; display: none;}
.nav{display: flex; align-self: center; list-style-type: none; margin: 0; padding: 0;}
.nav .eachlink{transition:all 0.5s linear;}
.lilink{display: block;padding: 30px 20px; color: #72747c;}
.eachlink:hover .lilink{color: #15171e;}
.eachlink:hover{background: var(--body-grey);}
.currentlilink{color: #15171e;}
.current{background: var(--body-grey);}

.navlink:hover{color: #F7CA18; background: none;}

.phantomheader{ opacity: 0;width: calc(100% - 40px); max-width: 1920px; position: fixed; top:0; left: 20px; z-index: -1000000;box-shadow: 0 14px 28px rgba(150,150,150,0.15), 0 10px 10px rgba(150,150,150,0.12); -webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;}
.phantomheader.sticky{opacity: 1; z-index: 999998; background: #fff; display: flex; justify-content: space-between; flex-wrap: wrap;
    /*width: calc(100% - 40px); max-width: 1920px; left:20px; */}
.toggleholder{display: none; }
.searchlink{background: #062244;display: flex; overflow: hidden;}
.searchlink{background: var(--dark-blue);display: flex; overflow: hidden;}
.searchform{background: #062244; display: flex; }
.searchform{background: var(--dark-blue); display: flex; }

.searchlink a{color: #fff;}
.searchbox{display: flex; flex-wrap: nowrap; align-self: center;}
.searchbox input{padding: 10px; border: 1px solid var(--body-grey);}
.searchtext{width:calc(100% - 40px); max-width: 685px;}
.searchbtn{border: 1px solid var(--body-grey); border-left: none; background: #062244; color: #fff; text-transform: uppercase; width: 40px; margin-right: 20px;transition:all 0.3s linear;}
.searchbtn{border: 1px solid var(--body-grey); border-left: none; background: var(--dark-blue); color: #fff; text-transform: uppercase; width: 40px; margin-right: 20px;transition:all 0.3s linear;}

.searchbtn:hover{background:var(--body-grey); color: #062244; }
.searchbtn:hover{background:var(--body-grey); color: var(--dark-blue); }


.searchform{width: auto; max-width: 0px; transition:all 0.5s linear; visibility: hidden; opacity: 0;}
.searchform.show{max-width: 1000px;visibility: visible; opacity: 1;}

.dropdown {position: relative;}
.dropdown span::after{content: '\25BE'; margin-left: 5px;}

.dropdown-content {visibility: hidden;opacity: 0;transition: visibility 0.5s, opacity 0.5s, z-index 1s ease;position: absolute;top:100%; left: 0;background-color: var(--body-grey);width: auto;min-width: 200px; z-index: -1;}

.dropdown:hover .dropdown-content {visibility: visible;opacity: 1;z-index: 2002;}
.dropdown-content a {color: #15171e;padding: 20px;text-decoration: none;display: block;}
.dropdown-content a:hover{ background: #fff;}



/* ==========================================================================
   SLIDESHOW
   ========================================================================== */
.noshow{display: none;}
.slideholder{width: 100%; height: calc(100vh - 120px); position: relative;}
.slideshow{width: 100%; height:100%; position: absolute; top: 0; left: 0; object-fit: fill;}
.eachslide{width: 100%; height: 100%; position: absolute; top: 0; left: 0;}
.slidecover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; 
    background: linear-gradient(to right, rgba(21,23,30,1) 0% , rgba(21,23,30,0.9) 20% , rgba(21,23,30,0.5) 60% , rgba(21,23,30,0.11) 100%); z-index: 500;}
.slidearc{width: 100%; height: 44px; position: absolute; bottom: 0; left: 0; justify-content: center; display: flex; z-index: 501}
.wwd{color: #fff; align-self: center; font-size: 24px; border: 1px solid transparent; padding: 5px 10px; color:  #fff;}
.wwd:hover{border: 1px solid #fff; color: #fff;}
.captionholder{position: relative; color: #fff; z-index: 3; width: 100%; max-width: 1200px; margin: 0 auto; height: 100%; display: flex; align-items: center; z-index: 501;}
.caption{display: flex; justify-content: flex-start; flex-wrap: wrap; }
.captionimage{width: 235px; align-self: center;}
.captionbuffer{width: 2px; background: #fff; margin: 0 20px; }
.captiontext{font-size: 40px; line-height: 42px; max-width: 50%; align-self: center; }


/* ==========================================================================
   CONTENT
   ========================================================================== */

.content{width: 100%; background: url(../img/bg.jpg);}
.contenthome{width: 100%; max-width: 1200px; margin: 0 auto; padding: 50px 0; }
.contenthometitle{width: 30%; }

.contenthometitle h2{font-size:44px; font-weight: 700; position: relative; text-transform: uppercase;font-family: 'Montserrat', sans-serif; letter-spacing: -0.5px;}
.underh{position: absolute; bottom: -20px; left: 0; width: 30%; height: 3px; background: #062244; transition: 0.3s all ease;}
.underh{position: absolute; bottom: -20px; left: 0; width: 30%; height: 3px; background: var(--dark-blue); transition: 0.3s all ease;}

.contenthometext{width: 62%; }
.contenthometitle:hover .underh{width: 50%; }

.contenthometext p a:hover{-webkit-transform: translateY(-3px);transform: translateY(-3px);}
.flex-reverse{flex-direction: row-reverse;}
/* ==========================================================================
   HOME BOXES
   ========================================================================== */


.holderboxes{width: 1200px; margin: 0 auto 40px; padding: 50px 0 0; outline: 0px solid red; display: flex; justify-content: space-between; flex-wrap: wrap;}

.boximageholder{width: 100%; height: 250px; position: relative; overflow: hidden;}
.boximage{width: 100%; height: 100%; position: relative; transition: 0.3s all ease;}

.box1{padding: 0; background:#fff url(../img/logogreyoff.png) bottom left no-repeat; padding-bottom: 70px; box-shadow: 0 1px 3px rgba(0,0,0,0.02), 0 1px 2px rgba(0,0,0,0.04); position: relative; color: #062244;}
.box1{padding: 0; background:#fff url(../img/logogreyoff.png) bottom left no-repeat; padding-bottom: 70px; box-shadow: 0 1px 3px rgba(0,0,0,0.02), 0 1px 2px rgba(0,0,0,0.04); position: relative; color: var(--dark-blue);}

.boxservices{width: calc(50% - 20px);}
.boxsectors{width: calc(50% - 20px);}
.box1:hover .boxarrow{background: #fff; color: #062244;}
.box1:hover .boxarrow{background: #fff; color: var(--dark-blue);}

.box1:hover .underh{width: 40%;}
.box1:hover .boxcover{opacity: 1;}
.box1:hover .boximage{transform: scale(1.1,1.1);}
.box1 h2{text-transform: uppercase; font-family: 'Montserrat', sans-serif; letter-spacing: -1.5spx; position: relative; margin-bottom: 40px;}
.boxcover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: 0.4s all ease; opacity: 0;
    background: linear-gradient(to right, rgba(21,23,30,0.8) 0% , rgba(21,23,30,0.6) 20% , rgba(21,23,30,0.5) 60% , rgba(21,23,30,0.11) 100%); z-index: 500;}
.boxcase{width: calc(66.66667% + 40px); background:#fff url(../img/logogreyoff.png) bottom left no-repeat; padding: 20px} 
.boxcaseabout{width: 100%; background:#fff url(../img/logogreyoff.png) bottom left no-repeat; padding: 20px} 
.boxservice{width: 100%; padding: 50px 0; text-align: center; position: relative; display: flex; justify-content: center; flex-wrap: wrap; margin-bottom: 2px;display: none; }
.servicelink{text-transform: uppercase; font-size: 23px; font-weight: 700; color: #fff; position: relative; z-index: 501;}
.servicecover{width: 100%; height: 100%; position: absolute; top: 0; left: 0;  background: rgba(21,23,30,0.5); z-index: 500;}

.allservice{background:  #062244;}
.allservice{background:  var(--dark-blue);}

.boxheader{padding: 20px;}
.boxfooter{padding: 20px 20px 0; position: relative;}
.boxarrow{position: absolute; bottom: 0; right: 0; padding: 15px; color: var(--body-grey); font-size: 24px; transition: 0.3s all ease;}

/* ==========================================================================
   FOOTER AND ACCREDITATION
   ========================================================================== */


.footer{width: 100%; padding: 30px 20px; background: #fff url(../img/logogrey.png) center center no-repeat; text-align: center;}
.lowerfooter{width: 100%; padding: 20px; background: #062244; text-align: center; color: #fff; font-size: 0.7rem;}
.lowerfooter{width: 100%; padding: 20px; background: var(--dark-blue); text-align: center; color: #fff; font-size: 0.7rem;}
.lowerfooter a:hover{color: #fff;}
.footnav{text-align: center;}
.footnav a{margin: 0 10px; font-weight: 300; color: #72747c;}
.footnav a:hover{color: var(--light-blue);}
.footnav a.footcurrent{ color: var(--light-blue);}
.footerlogo{width: 120px; margin: 0 auto 20px;}

.accreditation{width: 100%; background: var(--lighter-grey); padding: 20px; display: flex; justify-content: center; flex-wrap: wrap; }
.accreditation img{height: 50px; -webkit-filter: grayscale(1); filter: grayscale(1); opacity: 0.5; margin: 5px 20px; transition:0.4s all ease;}
.accreditation img:hover{-webkit-filter: grayscale(0); filter: grayscale(0); opacity: 1;}

.footsocial{padding: 10px 0 0; text-align: center;}
.sociallink{color:  #062244; font-size: 24px; margin: 0 5px;}
.sociallink{color:  var(--dark-blue); font-size: 24px; margin: 0 5px;}

.fblink:hover{color: #3b5998;}
.twlink:hover{color: #4099FF;}
.inlink:hover{color: #007bb6;}
.golink:hover{color: #C63D2D;}

/* ==========================================================================
   HOME CASE STUDIES
   ========================================================================== */
.fullcases{width: 100%; padding: 0 20px; display: flex; justify-content: center; flex-wrap: wrap;}

.thecasestudies{width: 100%; display: flex; justify-content: flex-start; flex-wrap: wrap;}
.eachcase{padding: 140px 20px; width: calc(33.333333% - 10px); margin-bottom: 15px; position: relative; overflow: hidden;}

.eachcase:nth-child(3n+2){margin: 0 15px 15px 15px;}
.eachcase:hover .casecover{opacity: 1;}

.casecover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: 0.4s all ease; opacity: 0.3;
    background: linear-gradient(to right, rgba(21,23,30,0.8) 0% , rgba(21,23,30,0.6) 20% , rgba(21,23,30,0.5) 60% , rgba(21,23,30,0.11) 100%); z-index: 500;}
.eachcaseimage{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 499; transition: 0.3s all ease;}
.eachcase:hover .eachcaseimage{transform: scale(1.1,1.1);}
.eachcasetitle{position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 20px; color: #fff; font-weight: 700; font-family: 'Montserrat', sans-serif; letter-spacing: -0.1px; z-index: 501; transition: 0.3s all ease; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; flex-direction: column; text-align: center;}
.eachcasetitle1{width: 100%;}
.eachcasetitle2{width: 100%; opacity: 0; transition: 0.3s all ease; font-weight: 300;}
.eachcasetitlebuffer{width: 100%; height: 0px; transition: 0.3s all ease;}
.eachcase:hover .eachcasetitle2{opacity: 1;}
.eachcase:hover .eachcasetitlebuffer{height: 20px;}

/* ==========================================================================
   OTHER PAGES
   ========================================================================== */
.contenthometitle h1{font-size:44px; font-weight: 700; position: relative; text-transform: uppercase; font-family: 'Montserrat', sans-serif; letter-spacing: -0.5px;}
.shallowslideholder{width: 100%; height: 30vh; position: relative;}
.shallowcaptionholder{position: relative; color: #fff; z-index: 3; width: 100%; max-width: 1200px; margin: 0 auto; height: 100%; display: flex; align-items: center; justify-content: center; z-index: 501;}
.shallowcaptionimage{max-width: 40%; align-self: center;}
.breadcrumbs{width: 100%; padding: 20px; background:#fff; border-bottom: 3px solid  var(--lighter-grey); display: flex; justify-content: center; flex-wrap: wrap; font-family: 'Montserrat', sans-serif; letter-spacing: 1px;}
.breadcrumbs a{ color: #062244; font-weight: 300; font-size: 0.7rem; text-transform: uppercase}
.breadcrumbs a{ color: var(--dark-blue); font-weight: 300; font-size: 0.7rem; text-transform: uppercase}

.breadcrumbs a:hover{ color: var(--light-blue);}
.breadcrumbs span{margin: 0 10px;font-weight: 300; font-size: 0.7rem; }
.breadcrumbs a.breadcrumbcurrent{color: var(--light-blue);}


/* ==========================================================================
   CONTACT
   ========================================================================== */
.eachcontact{width: 43%;}

.contactsocial{padding: 10px 0 0; text-align: left;}
.theform{width:100%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.halfinput{width:  49%; position: relative;}
.fullinput{width: 100%; position: relative;}
.textinput{width: 100%; border:none; padding: 15px; font-size: 0.8rem; background: rgba(0,0,0,0.05); color: #0C0C0B; margin-bottom: 20px;}
.callinput{background: rgba(255,255,255,0.7);}
.submitbutton{width: 100%; border:none; border-radius: 2px; background: #062244;color: #fff; padding: 15px; transition: 0.4s; cursor: pointer; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px;}
.submitbutton{width: 100%; border:none; border-radius: 2px; background: var(--dark-blue);color: #fff; padding: 15px; transition: 0.4s; cursor: pointer; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px;}

.submitbutton:hover{background: var(--light-blue); ;}
.submitbutton:active{background: var(--light-blue); ;}
.checkinput{margin-bottom: 10px;}
textarea{height: 120px;}
.mapbox{width: 100%; height: 400px; padding: 0; background: #fff;}
.contactbuffer{display: none;}

.error{display: block; color: firebrick; width: 100%;}
.eacherror{display: block; background: firebrick; color: #fff; padding: 10px; width: 100%;}
/* ==========================================================================
   NEWS
   ========================================================================== */


.thenews{width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap;}
.eachnews{padding: 100px 20px; width: calc(50% - 10px); margin-bottom: 20px; position: relative; overflow: hidden;}

.eachnews:hover .newscover{opacity: 1;}
.eachnewstitle{position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 20px; color: #fff; font-weight: 700; font-family: 'Montserrat', sans-serif; letter-spacing: -0.1px; z-index: 501; transition: 0.3s all ease; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; flex-direction: column; text-align: center;}
.eachnewstitle1{width: 100%;}
.eachnewstitle2{width: 100%; opacity: 0; transition: 0.3s all ease; font-weight: 300;}
.eachnewstitlebuffer{width: 100%; height: 0px; transition: 0.3s all ease;}
.eachnews:hover .eachnewstitle2{opacity: 1;}
.eachnews:hover .eachnewstitlebuffer{height: 20px;}

.newscover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: 0.4s all ease; opacity: 0.3;
    background: linear-gradient(to right, rgba(21,23,30,0.8) 0% , rgba(21,23,30,0.6) 20% , rgba(21,23,30,0.5) 60% , rgba(21,23,30,0.11) 100%); z-index: 500;}
.newsh1{margin-bottom: 50px;}

.eachnewsimage{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 499; transition: 0.3s all ease;}
.eachnews:hover .eachnewsimage{transform: scale(1.1,1.1);}


/* ==========================================================================
   CAREERS
   ========================================================================== */
.currentopportunities{width: 100%; display: block; padding: 20px; background: #efefef; }
.currentopportunities h3{text-transform: uppercase;}
.eachcareer{width: 100%; display: block; padding: 20px; background: #fff; margin-bottom: 10px;}
.eachcareertitle{font-weight: 700; text-transform: uppercase; color: #062244;}
.eachcareerlower{display: flex; justify-content: space-between; flex-wrap: wrap; font-weight: 400; font-size: 12px; align-items: center; color: #062244;}
.careerarrow{font-size: 16px;}
.eachcareer:hover{background: #efefef;}

/* ==========================================================================
   LINKS
   ========================================================================== */
.eachuseful{width:100%; background:#f7f7f7; padding:20px 20px 40px 20px; margin-bottom:20px; position:relative;}
.usefullink{position:absolute; bottom:0; right:0; padding:10px; background: #fff; color: #062244;}
.usefullink{position:absolute; bottom:0; right:0; padding:10px; background: #fff; color: var(--dark-blue);}
.usefullink:hover{position:absolute; bottom:0; right:0; padding:10px; color: #fff; background: #062244;}
.usefullink:hover{position:absolute; bottom:0; right:0; padding:10px; color: #fff; background: var(--dark-blue);}

.smallchevron{font-size:0.7rem;}

.sitemapul{list-style-type: none;}
.sitemapul li{margin-bottom:5px; padding: 10px; background: #fff;}
.sitemapul li ul li{margin-bottom:0px; background:none;}
.sitemapul li ul{list-style-type: none;}
/* ==========================================================================
   SEARCH
   ========================================================================== */
.searchformpage{padding-top: 40px;}
.searchsmallprint{padding-top: 20px; font-style: italic; font-size: 0.7rem;}
.searchrlink{position:absolute; bottom:0; right:0; padding:10px; background: #fff; color: #062244; display: flex; justify-content: space-between; }
.searchrlink{position:absolute; bottom:0; right:0; padding:10px; background: #fff; color: var(--dark-blue); display: flex; justify-content: space-between; }

.searchrlink span{align-self: center}
.searchrlink:hover{color: #fff; background: #062244;}
.searchrlink:hover{color: #fff; background: var(--dark-blue);}

.eachsearch{width: 100%; background: #fff; padding: 20px 20px 50px; box-shadow: 0 1px 3px rgba(0,0,0,0.02), 0 1px 2px rgba(0,0,0,0.04); margin-bottom: 10px; position: relative;}
/*
    Paginator -
    Source: http://www.strangerstudios.com/sandbox/pagination/diggstyle.php (strangerstudios.com)
*/

div.pagination {
    padding: 3px 0;
    margin: 3px 0;
}

div.pagination a {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid transparent;
    zoom: 100%;
    text-decoration: none; /* no underline */
    color: var(--dark-blue);
    color: #062244;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02), 0 1px 2px rgba(0,0,0,0.04);
}
div.pagination a:hover, div.pagination a:active {
        border: 1px solid #062244;
    border: 1px solid var(--dark-blue);

    
    color: #000;
}
div.pagination span.page_current {
    padding: 2px 5px 2px 5px;
    margin: 2px;
        border: 1px solid #062244;
    border: 1px solid var(--dark-blue);


    * zoom: 100%;

    font-weight: bold;
    background-color: #062244;
    background-color: var(--dark-blue);
    
    color: #FFF;
}
div.pagination span.page_disabled {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #EEE;

    * zoom: 100%;

    color: #DDD;
}

* span.elipsis {zoom:100%}
/* ==========================================================================
   OVERLAY NAV
   ========================================================================== */
/* The Overlay (background) */
.overlay {
    /* Height & width depends on how you want to reveal the overlay (see JS below) */   
    height: 100%;
    width: 0;
    position: fixed; /* Stay in place */
    z-index: 100000000000000000; /* Sit on top */
    left: 0;
    top: 0;
    background-color: rgb(255,255,255); /* Black fallback color */
    background-color: rgba(255,255,255, 0.99); /* Black w/opacity */
    background: #062244;
    background: var(--dark-blue);
    
    background: #fff;
    overflow-x: hidden; /* Disable horizontal scroll */
    transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

/* Position the content inside the overlay */
.overlay-content {
    position: relative;
    top: 10%; /* 25% from the top */
    width: 100%; /* 100% width */
    text-align: left; /* Centered text/links */
    margin-top: 30px; /* 30px top margin to avoid conflict with the close button on smaller screens */
}

/* The navigation links inside the overlay */
.overlay a {
    padding: 8px 20px;
    text-decoration: none;
    font-size: 1.4rem;
    color: #fff;
     color: #062244;
    color: var(--dark-blue);
   
    text-transform: uppercase;
    display: block; /* Display block instead of inline */
    transition: 0.3s; /* Transition effects on hover (color) */
    font-weight: 900;
    border-bottom: 1px solid  var(--body-grey);
    
}
.overlay a.sublink{font-size: 0.9rem; display: inline-block;}

/* When you mouse over the navigation links, change their color */
.overlay a:hover, .overlay a:focus, .overlay a.current {
    color: var(--light-blue);
    background: none;
}

/* Position the close button (top right corner) */
.overlay .closebtn {
    position: absolute;
    top: 0;
    right: 0;
    background: #062244;
    background: var(--dark-blue);
    padding: 30px 20px;

}
.overlay .overlogo{
    position: absolute;
    top: 12px;
    left: 0px;
    width: 135px;

}

/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media screen and (max-height: 450px) {
    .overlay a {font-size: 1.2rem;}
    .overlay .closebtn {
        font-size: 40px;
        top: 15px;
        right: 35px;
    }
}
.overlaysearchform{width: 100%; text-align: center; padding: 20px 0 0; }
.overlaysearchbox{display: flex; flex-wrap: wrap; margin: 0 auto; justify-content: flex-start; padding: 0 20px; }
.overlaysearchbtn{background: #062244; color: #fff; border: none; text-transform: uppercase; width: 40px; transition:all 0.3s linear;}
.overlaysearchbtn{background: var(--dark-blue); color: #fff; border: none; text-transform: uppercase; width: 40px; transition:all 0.3s linear;}

.overlaysearchbtn:hover{background: var(--light-blue);}
.overlaysearchbtn:active{background: var(--light-blue);}
.overlayinput{padding: 5px; width: calc(100% - 40px);}

.embed-container {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 0;
	height: 0;
}
.embed-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    border: none;
}
.brandchoose{width: 100%; display: flex; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 10px;}
.brandchooser{padding: 10px; background: #062244; color: #fff; text-transform: uppercase; font-size: 12px; font-weight: 600; letter-spacing: 1px; margin:0 10px 10px 0; opacity: 0.7;}
.brandchooser:hover{opacity: 1; color: #fff;}
.brandcurrent{opacity: 1;}
/* ==========================================================================
   GDPR
   ========================================================================== */

.ptable{margin: 20px 0;}
.ptable tr td{padding: 20px;}
.ptable thead th{padding: 20px; background: #062244; }
.ptable thead th p strong{font-weight: 700; color: #00AEEF;}
.smallprint{font-size: 12px !important;}
.smallprint p{font-size: 12px !important; line-height: 20px;}




.has-tooltip:hover + .tooltip,
.has-tooltip:focus + .tooltip,
.has-tooltip.hover + .tooltip {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.has-tooltip:hover + .textinput { background-color: yellow;}
.has-tooltip{color: #062244;}
.tooltip {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.75) rotate(5deg);
  transform-origin: bottom center;
  padding: 10px 30px;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  color: #fff;
  transition: 0.15s ease-in-out;
  opacity: 0;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  z-index: 5;
}
.tooltip.blue {
  background: rgba(6,34,68, 0.75);
}
.tooltip.blue:after {
  border-top: 5px solid rgba(6,34,68, 0.75);
}
.tooltip.red {
  background: rgba(231, 29, 54, 0.75);
}
.tooltip.red:after {
  border-top: 5px solid rgba(231, 29, 54, 0.75);
}
.tooltip.green {
  background: rgba(46, 196, 182, 0.75);
}
.tooltip.green:after {
  border-top: 5px solid rgba(46, 196, 182, 0.75);
}
.tooltip.purple {
  background: rgba(165, 147, 224, 0.75);
}
.tooltip.purple:after {
  border-top: 5px solid rgba(165, 147, 224, 0.75);
}
.tooltip:hover {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.tooltip img {
  max-width: 100%;
}
.tooltip:after {
  content: "";
  display: block;
  margin: 0 auto;
  widtH: 0;
  height: 0;
  border: 5px solid transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.75);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}

.field {
  position: relative;
  padding: 20px;
}


.privacylinks{width: 100%; padding: 40px 40px 20px; background: #062244; display: flex; justify-content: space-between; flex-wrap: wrap; }
.privacylink{width: calc(50% - 10px); margin-bottom: 20px; padding: 10px; background: #fff;color: #003E4A; transition: all 0.3s cubic-bezier(.25,.8,.25,1); box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); text-transform: uppercase; font-weight: 300; font-size: 14px;}
.privacylink:hover{background: #00AEEF; }

.subfooter{width: 100%; text-align: center; color: #b3b3b3; font-size: 10px; padding-top: 20px; }
.subfooter a{color: #F7CA18;}
.subfooter a:hover{color:#fff;background: none;}



/* -------- TWITTER FEED ------*/
.twittercontent{background: url(../img/twitterbird.png); background-position: top left;
    background-repeat: no-repeat, repeat; padding: 40px 0 60px;}
.tweet{width: 100%; max-width: 600px; margin: 0 auto;}
.twitter-article{background: #fff; background: rgba(255,255,255,0.5); padding: 20px; display: flex !important; justify-content: space-between; flex-wrap: wrap; width: 100%;}
#tw1{}
.twitter-pic{width:50px; outline: 0px solid red; }

/* -------- TEXT STYLING ------*/
.twitter-text {outline: 0px solid red;
    width:calc(100% - 60px);
   


}
.twitter-text p {
    margin:0px;
    line-height:22px;   
}
.twitter-text a,  {
    color: #00acee;
    text-decoration: none;
}
.twitter-text a:hover {
    text-decoration: underline;
    color: #00acee;
}
  
.tweet-time {
    font-size:10px;
    color:#878787;
    float:right;
}
.tweet-time a, .tweet-time a:hover {
    color:#878787;
}
  
.tweetprofilelink a {
    color:#444;
}
.tweetprofilelink a:hover {
    color:#444;
}
  
/* -------- FEED  ACTIONS ------*/
.twitter-actions {
    width:75px;
    float:right;
    margin-right:0px;   
    margin-top:3px;
    outline: 0px solid red;
}
.intent {
    width:25px;
    height:16px;
    float:left; 
}
.intent a{
    width:25px;
    height:16px;
    display:block;
    background-image:url(../img/tweet-actions.png);
    float:left; 
    transition: 0s all ease;
} 
.intent a:hover{
    background-position:-25px 0px;
} 
  
.intent-retweet a{
    background-position:0px -17px;
} 
.intent-retweet a:hover{
    background-position:-25px -17px;
} 
.intent-fave a{
    background-position:0px -36px;
} 
.intent-fave a:hover{
    background-position:-25px -36px;
} 
  
/* -------- RETWEET INDICATOR ------*/
#retweet-indicator {
    width:14px;
    height:10px;
    background-image:url(../img/tweet-actions.png);
    background-position:-5px -54px;
    margin-top:3px;
    float:left;
}
/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (max-width: 1200px) {
    .container{width: 100%; margin: 0 auto;}
    .header{background: #fff;}
    .phantomheader.sticky{background: #fff; width: 100%; left: 0;}
    .nav{display: none;}
    .toggleholder{background: #062244; display: flex; padding: 0 20px; outline: none;}
    .toggleholder{background: var(--dark-blue); display: flex; padding: 0 20px; outline: none;}
    
    .togglelink{color: #fff; font-size: 28px; margin-left: 10px;}
    .captionholder{width: 80%; }
    .contenthometitle{width: calc(90% + 40px); padding: 20px 20px 0; margin: 0 auto 20px; }
    .contenthometext{width: calc(90% + 40px); padding: 20px 20px 0; margin: 0 auto;}
    .boxsectors{width: calc(50% - 20px);}
    .boxservices{width: calc(50% - 20px);}
    .boxcase{width: calc(90% + 40px);}
    .holderboxes{width: calc(90% + 40px); margin: 0 auto 40px; padding: 50px 0 0; outline: 0px solid red; display: flex; justify-content: space-between; flex-wrap: wrap;}
    .boxcaseabout{width: 100%}
    .contenthome{padding: 20px 0; }
    .fullcases{width: calc(90% + 40px); padding: 0; margin: 0 auto;}
    .casecover{opacity: 0.8;}
    .newscover{opacity: 0.8;}
    .flex-reverse{flex-direction:column-reverse}
}
@media only screen and (max-width: 800px) {
.caption{flex-flow: column; width: 100%;}
.captionimage{max-width: 50%; align-self: center;}
.captionbuffer{width: 50%; height: 2px; background: #fff; margin: 20px auto; }
.captiontext{font-size: 30px; line-height: 32px; max-width: 100%; align-self: center; text-align: center;}

    .box1{width: 100%; margin-bottom: 20px;}
    .eachcase{width: 100%; margin-bottom: 20px;}
    .eachcase:nth-child(3n+2){margin: 0 0 20px 0;}
    .eachnews{width: 100%;}
    .homeh1{font-size: 1.4rem;}
    .contenthometitle h1{font-size: 1.6rem;}
    .contenthometitle h2{font-size: 1.6rem;}
    .eachcase{padding: 40px 20px; }
    .eachcasetitlebuffer{display: none;}
    .eachcasetitle2{display: none;}
    .eachnewstitlebuffer{display: none;}
    .eachnewstitle2{display: none;}
    .footphone{display: block;}
    .eachcontact{width: 100%;}
    .contactbuffer{display: block;}
    .privacylink{width: 100%;}
}

.animate-in {
    -webkit-animation: fadeIn .5s ease-in;
    animation: fadeIn .5s ease-in;
}
.animate-logo {
    -webkit-animation: fadeIn 2s ease-in;
    animation: fadeIn 2s ease-in;
}
.animate-out {
    -webkit-transition: opacity .5s;
    transition: opacity .5s;
    opacity: 0;
}
@-webkit-keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
/* ==========================================================================
   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: #000;
    padding: 0.2em 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;
}



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

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        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;
    }
}
