.hide { display: none; }

.fade { opacity: 0 !important; }

.show { opacity: 1 !important; }

.button { border-radius: 2rem; padding: 0.5rem 1.25rem; background: transparent; text-decoration: none; text-transform: uppercase; -webkit-transition: all 0.5s; transition: all 0.5s; }

.button.white { color: #fff; border: 2px solid #fff; }
.button.white:hover { background: #fff; color: #007dc3; }

.button.blue { color: #007dc3; border: 2px solid #fff; }
.button.blue:hover { background: #007dc3; color: #fff; }

.menu li { list-style: none; }

body { font-family: "Open Sans"; background: #007dc3; margin: 0; top: 0; line-height: 1.5; padding: 0; }

a:link, a:visited { color: #007dc3; }
a:link:hover, a:visited:hover { color: #003c5d; }

div#main-logo { width: 1000px; height: 500px; left: 0; top: 0; margin-left: -500px; margin-top: -250px; position: absolute; background: #fff; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); overflow: hidden; z-index: 999; border: 2px solid #007dc3; }
div#main-logo .logo-wrap { position: relative; left: 0; margin-left: 120px; margin-top: 240px; -webkit-transform: rotate(45deg); transform: rotate(45deg); width: 500px; height: 500px; overflow: hidden; }
div#main-logo .logo-wrap svg { margin-left: 190px; margin-top: 10px; width: 200px; }

div#main-logo.show { opacity: 1; }

.home-page div#main-logo { opacity: 1; -webkit-transition: opacity 1s; transition: opacity 1s; }

@media (max-width: 1200px) { div#main-logo { margin-left: -575px; }
  div#main-logo .logo-wrap { margin-left: 165px; margin-top: 290px; }
  div#main-logo .logo-wrap svg { width: 150px; } }
@media (max-width: 800px) { div#main-logo { display: none; } }
#banner-content { position: absolute; z-index: 99; margin-top: 4rem; width: 99%; }
#banner-content h1 { text-align: center; -webkit-transition: all 2.5s; transition: all 2.5s; font-size: 1.75rem; }
#banner-content h1 svg { width: 200px; margin-bottom: 1.5rem; }
#banner-content h1 span { display: block; text-align: center; }
#banner-content h1 span.two { letter-spacing: .1rem; }
#banner-content h1.light { color: #fff; }
@media (max-width: 1200px) { #banner-content h1 { font-size: 1.5rem; }
  #banner-content h1 svg { margin-left: 30px; margin-bottom: 0; float: left; } }
@media (max-width: 1024px) { #banner-content h1 { font-size: 1.5rem; }
  #banner-content h1 svg { width: 175px; } }
@media (max-width: 450px) { #banner-content h1 { margin-top: 50px; }
  #banner-content h1 svg { display: none; } }

#video-wrap { min-height: 100%; height: 100%; display: none; }
#video-wrap video { background: #000; position: fixed; opacity: 1; top: 50%; left: 50%; z-index: 1; min-width: 100%; min-height: 100%; width: auto; height: auto; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transition: opacity 5s; transition: opacity 5s; }
#video-wrap video.up { opacity: 0; }

#interior-banner { background-size: contain; background-position: center; background-repeat: no-repeat; background-color: #1a1a1a; margin-top: 65px; height: 500px; }

@media (max-width: 1920px) { #interior-banner { background-size: cover; height: 450px; } }
@media (max-width: 1440px) { #interior-banner { height: 325px; } }
@media (max-width: 1280px) { #interior-banner { height: 290px; } }
@media (max-width: 1112px) { #interior-banner { height: 250px; } }
@media (max-width: 450px) { #interior-banner { margin-top: 120px; height: 100px; } }
#touch-menu-overlay { background: #333333; min-height: 100%; min-width: 100%; position: fixed; z-index: 9999; overflow: hidden; -webkit-transition: all 1s; transition: all 1s; }
#touch-menu-overlay ul { margin: 2rem 0 0 0; padding: 0; }
#touch-menu-overlay ul li { padding: 1rem 0; margin: 0; border-bottom: 1px solid #007dc3; }
#touch-menu-overlay ul li a { color: #e6e6e6; font-weight: bold; font-size: 1.2rem; text-decoration: none; text-align: center; display: block; }

#touch-menu-overlay.up { min-height: auto; max-height: 0; }

header { position: relative; z-index: 998; }
header nav { position: fixed; width: 100%; z-index: 98; top: 0; background: #007dc3; margin-top: 0; }
header nav ul#nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding-left: 0; margin-right: 10px; }
header nav ul#nav li#mobile-logo { padding-top: 0; border-top: 0; display: none; }
header nav ul#nav li#mobile-logo:hover { border-top: 0; }
header nav ul#nav li { padding: .25rem 1rem; border-top: 2px solid transparent; }
header nav ul#nav li:hover { border-top: 2px solid #c3e9ff; }
header nav ul#nav li:hover a { color: #c3e9ff; }
header nav ul#nav li a { color: #fff; text-transform: uppercase; text-decoration: none; display: block; width: 100%; }
header nav ul#nav li#hamburger-menu { border-top: none; display: none; }
header nav ul#nav li#hamburger-menu:hover { border-top: 0; }
@media (max-width: 1112px) { header nav ul#nav li a { font-size: .8rem; } }
@media (max-width: 1024px) { header nav ul#nav li a { font-size: .7rem; } }
@media (max-width: 800px) { header nav ul#nav li#mobile-logo { padding-left: 5px; }
  header nav ul#nav li#mobile-logo a { margin-top: 0; }
  header nav ul#nav li#mobile-logo img { width: 150px; }
  header nav ul#nav li { text-align: center; line-height: 1; }
  header nav ul#nav li a { margin-top: 20px; font-size: .8rem; font-weight: bold; text-align: center; line-height: 1; } }
@media (max-width: 450px) { header nav ul#nav li#mobile-logo { display: inline-block; }
  header nav ul#nav li { display: none; }
  header nav ul#nav li a { font-size: .5rem; }
  header nav ul#nav li#hamburger-menu { display: inline-block; } }
header nav ul.rev li a { color: #007dc3; }

main#content { min-height: 300px; margin-top: 0px; }
main#content h1 { margin-top: 0; color: #000; }
main#content #section-one { margin-top: 53px; padding-top: 2.5rem; margin-bottom: 0; padding-bottom: 0; min-height: 1200px; background-size: cover; }
main#content #section-one h1 { font-size: 4rem; margin: 2rem 0 .1rem 0; text-align: center; color: #fff; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); }
main#content #section-one p.subtitle { font-size: 1.25rem; width: 100%; padding: 0; margin-top: 0; background: transparent; font-style: italic; font-weight: bold; }
main#content #section-one p { width: 80%; margin: 0 auto; margin-top: 800px; text-align: center; font-size: 2rem; color: #fff; padding: 1rem; }
main#content #section-one a { font-size: 1rem; width: 150px; margin: 0 auto; margin-top: 20px; display: block; text-align: center; }
main#content #section-one a:hover { text-shadow: none; }
@media (max-width: 1680px) { main#content #section-one { min-height: auto; height: 600px; }
  main#content #section-one h1 { font-size: 2.5rem; margin-top: 0rem; }
  main#content #section-one p { margin-top: 360px; font-size: 1.2rem; }
  main#content #section-one a { margin-top: 0px; } }
@media (max-width: 1200px) { main#content #section-one { height: 500px; padding-top: 15px; background-position: contain; }
  main#content #section-one h1 { font-size: 2rem; }
  main#content #section-one p { font-size: 1rem; margin-top: 300px; padding-bottom: 10px; }
  main#content #section-one a { padding: .2rem 1rem; font-size: 1rem; } }
@media (max-width: 800px) { main#content #section-one { margin-top: 120px; height: 340px; padding-top: 5px; }
  main#content #section-one h1 { font-size: 1.75rem; }
  main#content #section-one p { width: 90%; font-size: .85rem; margin-top: 155px; } }
@media (max-width: 450px) { main#content #section-one { height: 260px; }
  main#content #section-one h1 { font-size: 1rem; margin-bottom: 0; }
  main#content #section-one p.subtitle { font-size: 1rem; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); }
  main#content #section-one p { margin-top: 120px; font-size: 0.5rem; }
  main#content #section-one a { font-size: 0.5rem; padding: .1rem; } }
main#content section#services { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; overflow: hidden; margin-top: 0; padding-top: 0; border-top: 4px solid #000; border-bottom: 4px solid #000; }
main#content section#services div.cell { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -ms-flex-preferred-size: 700px; flex-basis: 700px; background-size: cover; overflow: hidden; text-align: center; color: #fff; text-decoration: none; padding: 0 5rem; }
main#content section#services div.cell h3 { font-size: 3rem; padding: 12rem 0 0 0; margin: 0; }
main#content section#services div.cell p { font-size: 1.25rem; width: 40%; }
main#content section#services div.cell a.button { clear: both; display: block; width: 200px; text-align: center; }
main#content section#services div.cell.right { text-align: right; }
main#content section#services div.cell.right p { float: right; }
main#content section#services div.cell.right a { float: right; }
main#content section#services div.cell.left { text-align: left; }
main#content section#services div.cell.txt-blue { color: #007dc3; }
main#content section#services div.cell.txt-white { color: #fff; }
main#content section#services div.cell.txt-grey { color: #666666; text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.75); }
main#content section#services div.cell.btn-blue a.button { border: 2px solid #007dc3; color: #007dc3; text-shadow: none; }
main#content section#services div.cell.btn-blue a.button:hover { border: 2px solid #fff; background: #007dc3; color: #fff; }
main#content section#services div.cell.btn-white a.button { border: 2px solid #fff; color: #fff; text-shadow: none; }
main#content section#services div.cell.btn-white a.button:hover { border: 2px solid #007dc3; background: #fff; color: #666666; }
main#content section#services div.cell.btn-grey a.button { border: 2px solid #666666; color: #666666; text-shadow: none; }
main#content section#services div.cell.btn-grey a.button:hover { border: 2px solid #666666; background: #007dc3; color: #fff; }
@media (max-width: 1600px) { main#content section#services { height: 1000px; }
  main#content section#services div.cell h3 { font-size: 1.5rem; padding-top: 4rem; }
  main#content section#services div.cell p { width: 50%; } }
@media (max-width: 800px) { main#content section#services div.cell h3 { font-size: 1rem; } }
@media (max-width: 450px) { main#content section#services { height: auto; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  main#content section#services div.cell { background-size: cover; -ms-flex-preferred-size: 140px; flex-basis: 140px; padding: 0 1rem; }
  main#content section#services div.cell h3 { font-size: 1rem; padding-top: 10px; }
  main#content section#services div.cell p { margin-top: 0; width: 50%; font-size: .6rem; }
  main#content section#services div.cell a.button { width: 100px; font-size: .6rem; padding: .25rem; } }
main#content section#lion-promo { padding: 2rem 0 0 0; background-size: contain; background-repeat: no-repeat; background-position: right; background-color: #cecece; min-height: 250px; text-align: center; }
main#content section#lion-promo h2 { font-size: 2rem; }
main#content section#lion-promo p { margin: 0 auto; width: 50%; }
main#content section#lion-promo a.button { margin: 2rem auto 1rem auto; display: block; width: 150px; text-align: center; border: 2px solid #333333; color: #333333; }
main#content section#lion-promo a.button:hover { background: #007dc3; color: #fff; }
@media (max-width: 1600px) { main#content section#lion-promo { padding: 1rem 0 0 0; min-height: auto; height: 230px; }
  main#content section#lion-promo h2 { font-size: 1.6rem; margin-bottom: 0px; } }
@media (max-width: 1200px) { main#content section#lion-promo { padding: 1rem 0 0 1rem; min-height: auto; height: 200px; background-size: cover; text-align: left; }
  main#content section#lion-promo h2 { font-size: 1.6rem; margin-bottom: 0px; }
  main#content section#lion-promo p { margin: 0; width: 60%; }
  main#content section#lion-promo a.button { margin: 1rem 0 0 0; } }
@media (max-width: 800px) { main#content section#lion-promo h2 { font-size: 1.2rem; } }
@media (max-width: 450px) { main#content section#lion-promo { height: 170px; background-size: 0; text-align: center; }
  main#content section#lion-promo h2 { font-size: 0.9rem; }
  main#content section#lion-promo p { font-size: 0.8rem; width: 96%; }
  main#content section#lion-promo a.button { font-size: 0.8rem; padding: 0; margin: 5px auto 0 auto; } }

footer { color: #e6e6e6; display: -webkit-box; display: -ms-flexbox; display: flex; border-top: 4px solid #000; width: 100%; overflow: hidden; max-width: 1830px; margin: 0 auto; }
footer .cell { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -ms-flex-preferred-size: auto; flex-basis: auto; padding: 1rem; overflow: hidden; }
footer .cell ul { list-style: none; padding-left: 0; width: 400px; }
footer .cell ul li { border-bottom: 1px solid #008ddd; }
footer .cell address { border-bottom: 1px solid #008ddd; padding: 0.5rem; }
footer .cell address b { display: block; }
footer .cell address:first-child { padding-top: 0; }
footer .cell div.linkedin-ico { margin-top: 1rem; width: 25px; }

@media (max-width: 985px) { footer { -ms-flex-wrap: wrap; flex-wrap: wrap; } }
@media (max-width: 450px) { footer { font-size: 0.9rem; } }
.base-page main#content { background: #fff; max-width: 1765px; margin: 0 auto; padding: 2rem; }
.base-page main#content .title-wrap { text-align: center; }
.base-page main#content h1 { border-bottom: 2px solid #007dc3; display: inline-block; text-align: center; margin: 0 auto 2rem auto; padding: 0 5rem; }
.base-page main#content .row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.base-page main#content .row .cell { -ms-flex-preferred-size: 300px; flex-basis: 300px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }
.base-page main#content #recruit-table .cell { padding: 2rem; -ms-flex-preferred-size: 200px; flex-basis: 200px; }
.base-page main#content #recruit-table .cell dl { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; }
.base-page main#content #recruit-table .cell dl dt { text-align: center; background-color: #000; color: #fff; padding: 0.5rem; border-radius: 10px 10px 0 0; text-transform: uppercase; }
.base-page main#content #recruit-table .cell dl dd { text-align: center; border-bottom: 1px solid #c3e9ff; border-left: 1px solid #e6e6e6; border-right: 1px solid #e6e6e6; margin: 0; padding: 1rem 1rem 1rem 1rem; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -ms-flex-preferred-size: 75px; flex-basis: 75px; }
.base-page main#content #recruit-table .cell dl dd span { display: block; color: #007dc3; font-weight: bold; font-size: .7rem; text-transform: uppercase; }

#job-board iframe { margin: 0 auto; }
