/******************************************************************
Site Name: CRL Solutions
Stylesheet: Main Stylesheet
******************************************************************/
@import url(../css/bootstrap.min.css);
/******************************************************************
SCSS Variables
******************************************************************/
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Regular.ttf");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto Bold';
  src: url("../fonts/Roboto-Bold.ttf");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto Light';
  src: url("../fonts/Roboto-Light.ttf");
  font-weight: 300;
  font-style: normal;
}

/******************************************************************
Base Stylesheet
******************************************************************/
/*****************************************
** Base Styling 
*****************************************/
body {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: #f4f4f4;
  -webkit-transition: background-color .24s ease-in-out;
  transition: background-color .24s ease-in-out;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto Bold", Helvetica, Arial, sans-serif;
  font-weight: 700;
  color: #333333;
  line-height: 1.2;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 1.5vw;
}

h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
  white-space: nowrap;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: #004a8c;
  border-bottom: solid 1px transparent;
  -webkit-transition: color .24s ease-in-out, border-color .24s ease-in-out;
  transition: color .24s ease-in-out, border-color .24s ease-in-out;
}

h1 a:hover, h1 a:active, h1 a:focus, h1 a:active:hover, h1 a:active:focus, h2 a:hover, h2 a:active, h2 a:focus, h2 a:active:hover, h2 a:active:focus, h3 a:hover, h3 a:active, h3 a:focus, h3 a:active:hover, h3 a:active:focus, h4 a:hover, h4 a:active, h4 a:focus, h4 a:active:hover, h4 a:active:focus, h5 a:hover, h5 a:active, h5 a:focus, h5 a:active:hover, h5 a:active:focus, h6 a:hover, h6 a:active, h6 a:focus, h6 a:active:hover, h6 a:active:focus {
  text-decoration: none;
  color: #001426;
  border-color: #001426;
}

h1 {
  font-size: 3.5vw;
}

h2 {
  font-size: 2vw;
}

h3 {
  font-size: 1.75vw;
}

h4 {
  font-size: 18px;
}

img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  border: none;
}

p, li {
  font-size: 1.5vw;
  line-height: 1.25;
}

p a, li a {
  color: #004a8c;
  border-bottom: solid 1px transparent;
  -webkit-transition: color .24s ease-in-out, border-color .24s ease-in-out;
  transition: color .24s ease-in-out, border-color .24s ease-in-out;
}

p a:hover, p a:active, p a:focus, p a:active:hover, p a:active:focus, li a:hover, li a:active, li a:focus, li a:active:hover, li a:active:focus {
  color: #001426;
  text-decoration: none;
  border-color: #001426;
}

p {
  margin-bottom: 30px;
}

p.larger {
  margin: 0;
}

.centered {
  text-align: center;
}

/*****************************************
** SVG Container + Functionality
*****************************************/
.svg-wrapper {
  width: 100vw;
  height: 100vh;
}

.svg-container {
  display: block;
  position: relative;
  margin: auto;
  max-width: 1920px;
  max-height: 1080px;
  box-shadow: 0 0 12px 0px rgba(0, 0, 0, 0.5);
}

/** Loading Screen **/
#cover {
  background: url(../images/loading.svg) no-repeat scroll center center #FFF;
  position: absolute;
  width: 100vw;
  height: 100vh;
  z-index: 100;
}

.overlay {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  /* The Fallback */
  background: rgba(255, 255, 255, 0.4);
}

.brand-banner {
  position: absolute;
  bottom: 0px;
  border-bottom: 0.5vw solid #004a8c;
  width: 100%;
  height: 14%;
  z-index: 10;
}

.brand-banner .logo {
  height: 100%;
  padding: .7vw;
  width: 25%;
}

.brand-banner .logo img {
  height: 100%;
}

.brand-banner .nav-links {
  position: absolute;
  right: 1vw;
  bottom: 0;
}

.brand-banner .nav-links button {
  font-size: 1.05vw;
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  background-color: #004a8c;
  border: 0;
  padding: .4vw 1vw;
  display: block;
}

.screen {
  display: none;
  position: absolute;
  top: 1vw;
  left: 5.5vw;
  right: 1vw;
  bottom: 1vw;
  width: calc(100% - 6.5vw);
  height: calc(100% - 2.5vw);
}

.screen.active {
  display: block;
}

.screen.active .callout {
  display: block;
}

.screen .title {
  max-width: 75%;
  width: auto;
  color: #fff;
  background-color: #004a8c;
  padding: .6vw;
}

.box-modal {
  z-index: 10;
  background: #fff;
  /* The Fallback */
  background: rgba(255, 255, 255, 0.8);
  padding: 1.7vw;
}

.box-modal ul {
  margin: 0;
  padding: 0 0 0 2vw;
}

.box-modal ul li {
  margin: 1vw 0;
}

.box-modal .row {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.video-container {
  display: none;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

.video-container #video-player {
  width: 100%;
  z-index: 0;
}

.video-container.play {
  display: block;
}

#replay {
  display: none;
  position: absolute;
  top: 1vw;
  right: 1vw;
  padding: 1vw;
  z-index: 11;
}

#replay .replay-btn i {
  margin-left: 7px;
}

#replay.active {
  display: block;
}

#back {
  display: none;
  position: absolute;
  top: 1vw;
  left: 1vw;
  z-index: 10;
}

#back .back-btn {
  padding: 0.5vw 1vw;
  font-size: 1.5vw;
}

#back.active {
  display: block;
}

.pulse {
  width: 48px;
  height: 48px;
  text-indent: -9999px;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 0 0 rgba(255, 255, 255, 0.4);
  -webkit-animation: pulse 2s infinite;
          animation: pulse 2s infinite;
  -webkit-transition: background-color .24s ease-in-out;
  transition: background-color .24s ease-in-out;
  z-index: 25;
}

.pulse.pulse-close {
  background: #004a8c url("../images/icon_close.svg") no-repeat center center;
  background-size: 16px;
}

.pulse:hover, .pulse:active, .pulse:focus, .pulse:active:hover, .pulse:active:focus {
  background-color: #002f59;
  -webkit-animation: none;
          animation: none;
}

.pulse.text-label {
  text-indent: 0px;
  width: auto !important;
  height: auto !important;
  border-radius: 100px;
  font-size: 1.2vw;
  padding: .6vw 1.5vw;
  color: #fff;
  font-weight: bold;
  background: #004a8c;
}

.pulse:not(.text-label) {
  background: #004a8c url("../images/icon_plus.svg") no-repeat center center;
  background-size: 16px;
}

@-webkit-keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
  }
  70% {
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
  }
  70% {
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

/*****************************************
** Form Popup
*****************************************/
#form {
  display: none;
}

#form.active {
  display: block;
}

#form h1 {
  text-align: center;
  color: #004a8c;
}

#form iframe {
  width: 100% !important;
  overflow-y: scroll !important;
}

#form.form-wrapper {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99;
}

#form.form-wrapper #close {
  position: absolute;
  display: block;
  left: 73%;
  top: 3%;
  z-index: 100;
}

#form.form-wrapper #close .close-btn {
  display: block;
  padding: .4vw 1vw;
  font-size: 1.5vw;
  -webkit-animation: none;
          animation: none;
}

#form .form-container {
  position: absolute;
  top: -100%;
  left: 25%;
  width: 50%;
  max-height: 90%;
  display: block;
  background: #fff;
  padding: 1vw;
  border-radius: 2px;
  box-shadow: 0 0 18px 3px rgba(0, 0, 0, 0.5);
  overflow-y: scroll;
  -webkit-transition: top .24s ease-in-out;
  transition: top .24s ease-in-out;
  -webkit-transition-delay: .5s;
          transition-delay: .5s;
}

#form .form-container.active {
  top: 5%;
}

#form #hsForm_312f2bac-5797-4beb-8b45-13a23730a05c input[type="submit"] {
  background-color: #004a8c !important;
  text-transform: uppercase;
  border: 0;
  border-radius: 0px;
  padding: 15px 23px;
}

/*****************************************
** SVG Styling + Touchpoints/Modals
*****************************************/
svg {
  max-width: 1920px;
  max-height: 1080px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

svg.contained {
  height: 100%;
}

svg.intro {
  background-image: url("../images/intro.jpg");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

svg.index, svg.modal-1, svg.modal-2, svg.modal-3 {
  background-image: url("../images/bg_main.png");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

svg.modal-4 {
  background-image: url("../images/4.png");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

svg.modal-5 {
  background-image: url("../images/5.png");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

svg.modal-5A {
  background-image: url("../images/5A.png");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

svg.modal-5B {
  background-image: url("../images/5B.png");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

svg.modal-5C {
  background-image: url("../images/5C.png");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

svg.modal-5D {
  background-image: url("../images/5D.png");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

svg.modal-5E {
  background-image: url("../images/5E.png");
  -webkit-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

.callout {
  display: none;
  cursor: pointer;
}

#intro-callout {
  position: absolute;
  top: 50%;
  left: 59%;
  padding: 1vh 1.25vh;
}

#callout-1 {
  position: absolute;
  top: 46%;
  left: 5%;
}

#modal-1-screen #modal-1 {
  width: 75%;
}

#callout-2 {
  position: absolute;
  top: 85%;
  left: 41%;
}

#modal-2-screen #modal-2 {
  width: 75%;
}

#callout-3 {
  position: absolute;
  top: 57%;
  left: 32%;
}

#modal-3-screen #modal-3 {
  width: 75%;
}

#callout-4 {
  position: absolute;
  top: 47%;
  left: 43%;
}

#modal-4-screen #modal-4 {
  width: 75%;
}

#callout-5 {
  position: absolute;
  top: 53%;
  left: 71%;
}

#callout-5A {
  position: absolute;
  top: 28%;
  left: 21%;
}

#modal-5A-screen #modal-5A {
  width: 75%;
}

#callout-5B {
  position: absolute;
  top: 52%;
  left: 26%;
}

#modal-5B-screen #modal-5B {
  width: 75%;
}

#callout-5C {
  position: absolute;
  top: 59%;
  left: 52%;
}

#modal-5C-screen #modal-5C {
  width: 75%;
}

#callout-5D {
  position: absolute;
  top: 12%;
  left: 36%;
}

#modal-5D-screen #modal-5D {
  width: 75%;
}

#callout-5E {
  position: absolute;
  top: 48%;
  left: 68%;
}

#modal-5E-screen #modal-5E {
  width: 75%;
}

@media only screen and (min-width: 576px) {
  /******************************************************************
Mobile Landscape Stylesheet
******************************************************************/
}

@media only screen and (min-width: 768px) {
  /******************************************************************
Tablet Stylesheet
******************************************************************/
}

@media only screen and (min-width: 992px) {
  /******************************************************************
Bootstrap Medium Stylesheet
******************************************************************/
}

@media only screen and (min-width: 1200px) {
  /******************************************************************
Bootstrap Large Stylesheet
******************************************************************/
}

@media only screen and (min-width: 1575px) {
  /******************************************************************
Bootstrap Large Stylesheet
******************************************************************/
}

@media only screen and (min-width: 1920px) {
  /******************************************************************
Bootstrap Large Stylesheet
******************************************************************/
  h1 {
    font-size: 70px;
  }
  p, li {
    font-size: 30px;
  }
  .screen .title {
    padding: 15px;
  }
  .pulse.text-label {
    font-size: 23px;
    padding: 15px 35px;
  }
  #back .back-btn {
    padding: 10px 20px;
    font-size: 30px;
  }
  .box-modal ul {
    padding: 0 0 0 40px;
  }
  .box-modal ul li {
    margin: 20px 0;
  }
}
/*# sourceMappingURL=main.css.map */