/*

    ## Old ##

    text                373f4b
    blue                00538d
    blue dark           003962
    blue tint           e5f1fa
    blue highlight      90cdf0
    grey                a3a8b1
    grey light 	        e5e8ea
    grey dark           757f8a
    red                 ef3e33

    ## New ##

    navy                00538d      0,83,141
    blue                00a1de      0,161,222
    red                 db282e
    dark grey           56565a
    light grey          56565a
	light blue          bbe3f4


*/


/*=============================================================================
   `Fonts
=============================================================================*/

@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/fontawesome-webfont.woff2') format('woff2'),
         url('../fonts/fontawesome-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    }

/*=============================================================================
   `Base
=============================================================================*/

html {
    background: #bbe3f4; 
    color: #00538d;
    font-weight: 300;
    font-family: 'proxima-nova-condensed', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.125em; /* 18px */
    line-height: 1.33333; /* 24px */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; 
}

@media screen and (max-width: 799px) {
    html {
        font-size: 1em; /* 16px */
        line-height: 1.25; /* 20px */
    }
}

*, *:after, *:before { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }
input, textarea, select, button { font-weight: inherit; font-family: inherit; font-size: inherit;  line-height: inherit; }
html, body, div, pre, blockquote, th, td { margin: 0; padding: 0; }
article, aside, details, figcaption, figure, footer, header, main, nav, section, summary { display: block; }
form, fieldset, input, textarea, fieldset, img, button { border: 0; margin: 0; }
table { border-collapse: collapse; border-spacing: 0; }
caption, th { text-align: left; margin: 0; padding: 0; }
em, strong, th { font-style: normal; font-weight: normal; }
ol, ul, li { list-style: none; padding: 0; margin: 0; }
dl, dt, dd { margin: 0; padding: 0; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
label { width: 100%; }
img { display: block; width: auto; max-width: 100%; height: auto; }
a { color: #00538d; }
strong { font-weight: 600; }

h1, h2, h3, h4, h5, p, ul, ol, dl, table, figure { margin: 0; margin-bottom: 24px; margin-bottom: 1.33333rem; }
p+h2 { margin-top: 36px; margin-top: 2rem; }
h1 { font-size: 1.75em; font-weight: 600; }
h2, .h2 { font-size: 1.50em; font-weight: 600; }
h3 { font-size: 1.20em; font-weight: 600; }

form { margin-bottom: 2em; }
form ol { list-style: none; }
label { margin: .5em 0 0 0; display: inline-block; }
input, textarea { border: 1px solid #00538d; border-radius: 2px; display: inline-block; padding: .375em .75em; width: 100%; }
input:focus, textarea:focus { background: #00538d; color: #fff; outline: none; }
button { background: none; }

/*=============================================================================
   `Layout
=============================================================================*/

.is-constrained { max-width: 1200px; margin: 0 auto; position: relative; }
.is-constrained:before { content: ""; display: table; }
.is-constrained:after { content: ""; display: table; clear: both; }

@media screen and (max-width: 799px) {
    .is-constrained { max-width: 400px; }
}

.grid { margin: 0; margin-left: -1.33333em;  }
.grid__item { display: inline-block; padding-left: 1.33333em; vertical-align: top; }
.grid--full { margin-left: 0; }
.grid--full > .grid__item { padding-left: 0; }
.grid--wide { margin-left: -2.66666em;  }
.grid--wide > .grid__item { padding-left: 2.66666em; }

.one-whole { width: 100%; }
.one-half { width: 50%; }
.one-third { width: 33.33333%; }
.two-thirds { width: 66.66666%; }
.one-quarter { width: 25%; }

@media screen and (max-width: 799px) {
    .small--one-whole { width: 100%; }
    .small--one-half { width: 50%; }
    .small--one-third { width: 33.33333%; }
    .small--two-thirds { width: 66.66666%; }
    .small--one-quarter { width: 25%; }
}

/*=============================================================================
   `Modules
=============================================================================*/

.header { background-color: #00538d; background: linear-gradient(170deg, #00538d 10%, #1A83B8 100%); padding: 30px; position: relative; z-index: 2; }
.header__logo { display: inline-block; width: 40%; padding-right: 1.33333em; vertical-align: middle; }
.header__logo img { display: block; width: 100%; }
.header__contact { display: inline-block; margin: 0; width: 60%; vertical-align: middle; }
.header__contact__text { color: #fff; font-size: 1.5em; margin: 0; text-align: right; }

@media screen and (max-width: 799px) {
    .header__logo { display: block; padding-right: 0; width: 100%; }
    .header__contact { display: block; width: 100%; }
    .header__contact__text { margin-top: 0.66666em; text-align: center; }
}

.navbar { background: #fff; padding: 0 20px; position: relative; z-index: 1; }

@media screen and (min-width: 800px) {
    .navbar__toggle { display: none; }
    .navbar__menu { display: block; float: left; margin: 0; }
    .navbar__menu a { color: #00538d; display: block; padding: 1em; text-decoration: none; }
    .navbar__menu > li { float: left; }
    .navbar__menu > li > a { padding: 1em 1.5em; }
    .navbar__menu > li:hover > a { background: #00538d; color: #fff; }
    .navbar__menu__drop { position: relative; }
    .navbar__menu__drop > a .fa { display: none; }
    .navbar__menu__drop:hover ul { left: 0; }
    .navbar__menu__drop ul { background: #00a1de; margin: 0; height: auto; overflow: visible; display: block; left: -999em; margin-top: 5px; position: absolute; top: 3em; }
    .navbar__menu__drop ul li:hover { background: #003962; }
    .navbar__menu__drop ul li a { color: #fff; white-space: nowrap; }
    #about     .navbar__menu__about > a,
    #services  .navbar__menu__services > a,
    #super     .navbar__menu__super > a,
    #documents .navbar__menu__docs > a,
    #contact   .navbar__menu__contact > a,
    #types     .navbar__menu__types > a { color: #fff; background: #00a1de; }
}

@media screen and (max-width: 799px) {
    .navbar { padding: 0; }
    .navbar__toggle { display: none; }
    .navbar__menu { background: #00538d; height: auto; margin: 0; overflow: hidden; }
    .navbar__menu a { color: #fff; border-top: 1px solid #003962; display: block; padding: 1em 1.33333em; text-decoration: none; }
    .navbar__menu li:first-child a { border-top: none; }
    .navbar__menu__drop ul { background: rgba(0,0,0,0.3); height: 0; overflow: hidden; margin: 0; }
    .navbar__menu__drop > a { position: relative; }
    .navbar__menu__drop > a .fa { color: #90cdf0; position: absolute; right: 1.33333em; }
    .navbar__menu__drop ul a { border: 0; }
    .navbar__menu__drop.is-active { background: #222; }
    .navbar__menu__drop.is-active > a .fa:before { content: '\f0d8'; color: #fff; }
    .navbar__menu__drop.is-active ul { height: auto; }
    .navbar__menu__home { display: none; }
    .js .navbar__toggle { background: #00538d; color: #fff; display: block; padding: 1em 1.33333em; position: relative; text-align: left; width: 100%; text-transform: uppercase; }
    .js .navbar__toggle .fa { color: #90cdf0; position: absolute; right: 1.33333em; }
    .js .navbar__menu { height: 0; position: absolute; top: 0; left: 0; width: 100%; }
    .js .navbar__menu.is-active { height: auto; }
    .js .navbar__toggle.is-active { background: #003962; color: #fff; }
    .js .navbar__toggle.is-active .fa:before { content: '\f00d'; }
}

.banner { background: #bbe3f4; padding: 3rem 1.5rem 1.5rem 1.5rem; position: relative; width: 100%; }
.banner--home { padding-top: 0; padding-bottom: 0; background: url(../img/layout-banner.jpg) no-repeat center center; min-height: 34vw; -webkit-background-size: cover; -moz-background-size: cover; background-size: cover; overflow: hidden; }
.banner--home__content { background-color: #00538d; background: linear-gradient(170deg, rgba(0,83,141,1) 10%, rgba(0,161,222,0.9) 100%); border-radius: 2px; color: #fff; margin: 2.66666rem 0; padding: 1.33333rem; position: relative; width: 50%; }
.banner--home__content h1 { font-weight: 600; }
.banner--home__content *:last-child { margin-bottom: 0; }

@media screen and (max-width: 799px) {
    .banner--home__content { width: 100%; }
}

.content { padding: 2em 1.33333em 1em 1.33333em; background: #fff; }
.content__main { float: left; padding-right: 3em; width: 60%; }
.content__main ul li, .contact__main ol li { padding-left: 0.25em; margin: 0 0 0 1.25em; }
.content__main ul li { list-style: disc; }
.content__main ol li { list-style: decimal; }
.content__main form li { list-style: none; padding: 0; margin: 0; }
.content__sidebar { float: right; width: 40%; }
.content__sidebar { margin-top: -3.5em; }
.content__sidebar figure img { display: block; }

@media screen and (max-width: 799px) {
    .content__main, .content__sidebar { float: none; width: 100%; }
    .content__main { padding-right: 0; }
	.content__sidebar { margin-top: 0; }
}

.section-nav ul { background: #bbe3f4; }
.section-nav ul li + li { }
.section-nav ul li a, .section-nav ul li span { display: block; padding: 0.66666em; padding-left: 1em; position: relative; text-decoration: none; }
.section-nav ul li span { background: #00a1de; color: #fff; }
.section-nav ul li a:hover { background: #00538d; color: #fff; }

.introduction { font-size: 1.25em; font-weight: 600; }

.feature { background-color: #00a1de; background: linear-gradient(to bottom, #00538d 10%, #00a1de 100%); border-radius: 2px; overflow: hidden; color: #fff; display: block; padding: 1.33333em; margin-bottom: 1.33333em; text-decoration: none; position: relative; }
.feature--home { min-height: 30em; }
.feature--home h2 { font-weight: 600; }
.feature--home img { position: absolute; bottom: 0; left: 0; right: 0; height: auto; }
.feature--people { min-height: 18em; }
.feature__content__photo { display: block; }

.people { background-color: #00a1de; background: linear-gradient(to bottom right, #00538d 10%, #00a1de 100%); color: #fff; padding: 1.5em; padding-bottom: 0; overflow: hidden; }
.people img { display: block; float: right; clear: left; margin: 0 0 1.5em 1.5em; width: 33.333%; }
.people h3 { margin-bottom: .375em; }
.people + div { margin-top: .75em; }

.footer { background-color: #00538d; background: linear-gradient(170deg, #00538d 10%, #1A83B8 100%); color: #fff; padding: 3em 1.5em 1.5em 1.5em; }
.footer__copyright small { font-size: 100%; }

.list { }
.list li { list-style: disc; padding-left: 0.25em; margin: 0 0 1.33333em 1.25em; }
.list--single li { margin-bottom: 0; }

.contact-list { font-size: 1.25em; }
.contact-list dt { float: left; margin-right: 0.75em; }
.contact-list dl { float: left; }

.btn { border: 1px solid #00538d; border-radius: 2px; color: #00538d; display: inline-block; padding: 15px 25px; text-decoration: none; }
.btn:hover, .btn:focus { background: #00538d; color: #fff; }
.btn--rev { border-color: #fff; color: #fff; }
.btn--rev:hover { background: #fff; color: #00538d; }
.btn .fa { margin-left: 10px; position: relative; right: -5px; }

.nobreak { white-space: nowrap; }

/*=============================================================================
   `Fonts
=============================================================================*/

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

/*=============================================================================
   `Fonts
=============================================================================*/

.fa { display: inline-block; font: normal normal normal 14px/1 'FontAwesome'; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transform: translate(0, 0); }
.fa-lg { font-size: 1.33333333em; line-height: 0.75em; vertical-align: -15%; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-fw { width: 1.28571429em; text-align: center; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-up:before { content: "\f062"; }
.fa-bars:before { content: "\f0c9"; }
.fa-calendar:before { content: "\f073"; }
.fa-caret-down:before { content: "\f0d7"; }
.fa-edit:before { content: "\f044" }
.fa-envelope:before { content: "\f0e0" }
.fa-external-link:before { content: "\f08e" }
.fa-file-audio-o:before { content: "\f1c7" }
.fa-file-excel-o:before { content: "\f1c3" }
.fa-file-image-o:before { content: "\f1c5" }
.fa-file-pdf-o:before { content: "\f1c1" }
.fa-file-video-o:before { content: "\f1c8" }
.fa-file-word-o:before { content: "\f1c2" }
.fa-home:before { content: "\f015" }
.fa-map-marker:before { content: "\f041" }
.fa-phone:before { content: "\f095" }
.fa-plus:before { content: "\f067" }
.fa-print:before { content: "\f02f" }
.fa-send:before { content: "\f1d8" }

/*=============================================================================
   `Form
=============================================================================*/

.hide,.cloak div,.cloak span,.likert.cloak tbody,.likert.cloak thead{display:none !important}

/*=============================================================================
   `Print
=============================================================================*/

@media print {
    * { color:#000 !important; box-shadow:none !important; text-shadow:none !important; background:transparent !important; }
    html { background-color:#fff; }
    nav { display:none; } /* Hide navigation */
    a[href]:after { content: " (" attr(href) ") "; } /* Show link destinations in brackets after the link text */
    a[href] { font-weight:bold; text-decoration:underline; color:#06c; border:none; }
    a[href^="javascript:"]:after, a[href^="#"]:after { content:""; } /* Don't show link destinations for JavaScript or internal links */ 
    abbr[title]:after { content: " (" attr(title) ")"; } /* Show abbr title value in brackets after the text */
    figure { margin-bottom:1em; overflow:hidden; }
    figure img { border:1px solid #000; }
}

