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


body {
  font-family: 'Untitled Sans', -sesansrif;
  font-weight: 300;
  font-family: "Untitled Sans";
}

p { color: #888; }

h1,
h2,
h3,
h4,
h5,
h6 { font-weight: 400; }

a { color: #003d5a; }

a:hover {
  color: #2d62bb;
  text-decoration: none;
}

a:focus { outline: none; }

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

ul,
li {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ==========================================================================
   main
   ========================================================================== */
   
.main {
 
  background-size: cover;
  padding: 3em 0 4.5em;
  position: relative;
  color: #fff;
}

.overlay {
  position: absolute;
  width: 100%;
  height: 100%;

  top: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#bgvid { display: none; }

.logo {
  text-align: center;
  margin-bottom: 2.25em;
}

.main h1 {
  font-size: 36px;
  font-weight: 300;
}

.welcome-message { padding-top: 1.5em; }

.rotate { text-shadow: none !important; }


/* ==========================================================================
   Subscription form 
   ========================================================================== */
   
 .form-control::-webkit-input-placeholder {
 color: #8A8A8A;
 font-weight: 300;
}
 .form-control:-moz-placeholder {
 color: #8A8A8A;
 font-weight: 300;
}
 .form-control::-moz-placeholder {
 color: #8A8A8A;
 font-weight: 300;
}
 .form-control:-ms-input-placeholder {
 color: #8A8A8A;
 font-weight: 300;
}

.sub-form { padding-top: 1.5em; }

.center-block { float: none; }

.form-control {
  background-color: #fff;
  border: 1px solid #fff;
  box-shadow: none;
  height: 50px;
  font-weight: 300;
}

.form-control:focus {
  border-color: #fff;
  outline: 0;
  box-shadow: none;
}

.input-group-btn>.btn:hover,
.input-group-btn>.btn:focus,
.input-group-btn>.btn:active { z-index: 1; }

.btn-default {
  color: #fff;
  background-color: #003d5a;
  border-color: #003d5a;
  -webkit-transition: all .5s ease-out;
  transition: all .5s ease-out;
  padding: 12px 1.5em;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active {
  color: #fff;
  background-color: #2d62bb;
  border-color: #2d62bb;
}

.btn:active:focus,
.btn-default:focus,
.btn:focus,
.btn-default:active { outline: none; }

#mc-notification {
  margin: .75em 0 0;
  color: #FFF;
}

.alert,
.success {
  padding: .5em 1em;
  border-radius: 4px;
  display: inline-block;
}

.alert { background-color: rgba(231, 76, 60, 0.7); }

.success { background-color: rgba(39, 174, 96, 0.7); }

.alert i,
.success i,
.success-cf p i,
.error-cf p i { padding-right: .5em; }

.fa-paper-plane { padding-left: .5em; }

/* ==========================================================================
   Countdown styles
   ========================================================================== */
   
ul.countdown {
  list-style: none;
  display: block;
  margin-bottom: 0;
  padding: 1.5em 0 0;
}

.countdown p { color: #fff; }

ul.countdown li { display: inline-block; }

ul.countdown li span { font-size: 36px; }

ul.countdown li.seperator {
  font-size: 30px;
  line-height: 50px;
  vertical-align: top;
  padding: 0 8px;
}

ul.countdown li p {
  font-size: 16px;
  margin-bottom: 0;
}

/* ==========================================================================
   Social 
   ========================================================================== */

.social { float: none; }

.social li {
  display: inline-block;
  padding-right: .8em;
}

.social li:last-child { padding-right: 0; }

.social li a {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  color: #fff;
  border-radius: 50%;
  background: #003d5a;
  position: relative;
  -webkit-transition: all .8s ease;
  transition: all .8s ease;
}

.social li a:hover {
  color: #fff;
  background: #2d62bb;
}

/* ==========================================================================
   Features
   ========================================================================== */
   
.section-spacing { padding: 4.5em 0; }

.features.section-spacing { padding-bottom: 2.25em; }

.features h2,
.product-features h4 { margin-top: 0; }

.features h2 { margin-bottom: 1.5em; }

.product-features { margin-bottom: 3em; }

.product-features p {
  margin-bottom: 0;
  color: #888;
}

/* ==========================================================================
   Twitter feed
   ========================================================================== */


.center-block { float: none; }

.twitter-feed {
  background: url(../img/bg-t.jpg) center center no-repeat;
  background-size: cover;
  color: #fff;
  position: relative;
}

.overlay-t {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  top: 0;
}

.twitter-feed h2,
.contact h2 { margin: 0; }

.twitter-icon .fa-twitter {
  color: #55ACEE;
  padding: 24px 0 12px;
  font-size: 3em;
}

.tweet { font-size: 18px; }

.tweet a { color: #fff; }

.tweet a:hover { color: rgba(255, 255, 255, 0.92); }

/* ==========================================================================
   Contact
   ========================================================================== */
 
.contact h2 { margin-bottom: 1.5em; }

.contact-form { margin-top: 3em; }

.contact-form .form-control {
  border-color: #ddd;
  margin-bottom: .75em;
  padding: .75em 12px;
}

.contact-form label.error {
  margin-bottom: 12px;
  font-weight: 300;
  color: #ea5050;
}

.contact .btn-default { width: 100%; }

/* ==========================================================================
   contact Form Validation
   ========================================================================== */
   

.contact-form label.error i { padding-right: 8px; }

.success-cf,
.error-cf { display: none; }

.success-cf p { background: rgba(39, 174, 96, 0.7); }

.error-cf p { background: rgba(231, 76, 60, 0.7); }

.contact-form { position: relative; }

.contact-form .success-cf p,
.contact-form .error-cf p {
  position: absolute;
  display: block;
  top: 40%;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 10;
  color: #fff;
  border-radius: 2px;
  padding: .75em;
}

/* ==========================================================================
   Map
   ========================================================================== */
.map {
  position: relative;
  box-shadow: 0 0 0 4px #fff;
  border-radius: 2px;
}

#map-canvas {
  width: 100%;
  height: 320px;
  margin: 0px;
  padding: 0px
}

#map-canvas img { max-width: none; }

.address {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.81);
  color: #333;
  padding: 1em;
  margin: 0 0 .75em .75em;
}

.address li i {
  padding-right: 8px;
  color: #003d5a;
}

.address li { padding-bottom: .5em; }

.address li:last-child { padding-bottom: 0; }

/* ==========================================================================
   footer
   ========================================================================== */
   
.site-footer { background: #F1F1F1; }

.site-footer.section-spacing { padding: 4.5em 0; }

.site-footer h3 { margin: 0; }

.site-footer .social {
  float: none;
  margin-bottom: 1.5em;
}

.site-footer small { color: #888; }

.site-footer .social li a {
  width: 44px;
  height: 44px;
  line-height: 44px;
}

small { font-size: 100%; }

/* ==========================================================================
   scroll top
   ========================================================================== */
   
.scroll-top { margin-bottom: 0; }

.scroll-top a {
  position: fixed;
  bottom: 2em;
  right: 2em;
  text-decoration: none;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.3);
  font-size: 12px;
  padding: .8em 1em;
  display: none;
  z-index: 200;
  border-radius: 5px;
  -webkit-transition: background .5s ease-in;
  transition: background .5s ease-in;
}

.scroll-top a:hover { background: #003d5a; }

/* ==========================================================================
   Small devices (tablets, 768px and up)
   ========================================================================== */
   
@media (min-width: 768px) {

.main { padding: 3em 0 7.5em; }

.logo {
  text-align: center;
  margin-bottom: 0;
  
}

.welcome-message { padding-top: 5em; }

.main h1 { font-size: 52px; }

.social { float: right; }

ul.countdown { padding-top: 3em; }

ul.countdown li span { font-size: 48px; }

ul.countdown li.seperator {
  font-size: 36px;
  line-height: 68px;
  padding: 0 20px;
}

ul.countdown li p { font-size: 20px; }
}

/* ==========================================================================
   Medium devices (desktops, 992px and up) 
   ========================================================================== */
   
@media (min-width: 992px) {

.main {
  padding: 3em 0 12em;
 
  top: 0;
  z-index: 1;
  width: 100%;
  background: none;

}

#bgvid {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover;
  object-position: center;
    width: 100%;
  height: 100vh;
  overflow: hidden;
}

.overlay { background: rgba(0, 0, 0, 0.2); }

.features,
.twitter-feed,
.contact,
.site-footer {
  position: relative;
  z-index: 2;
}

.welcome-message { padding-top: 5em; }

.section-spacing { padding: 6em 0; }

.features.section-spacing {
  padding: 6em 0 3em;
  margin-top: 46.8em;
}

.product-features { margin-bottom: 3.75em; }

.features.section-spacing,
.contact { background: #fff; }

.contact-form { margin-top: 0; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes fadeInUp {
0% {
opacity:0;
-webkit-transform:translate3d(0, 100%, 0);
transform:translate3d(0, 100%, 0);
}
100% {
opacity:1;
-webkit-transform:none;
transform:none;
}
}
@keyframes fadeInUp {
0% {
opacity:0;
-webkit-transform:translate3d(0, 100%, 0);
-ms-transform:translate3d(0, 100%, 0);
transform:translate3d(0, 100%, 0);
}
100% {
opacity:1;
-webkit-transform:none;
-ms-transform:none;
transform:none;
}
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
}

/* ==========================================================================
   small devices 
   ========================================================================== */
   


@media (max-width: 320px) {

ul.countdown li span { font-size: 28.833px; }

ul.countdown li.seperator {
  font-size: 25.629px;
  line-height: 38.439px;
  vertical-align: top;
  padding: 0 2px;
}

ul.countdown li p { font-size: 12.642px; }
}
.btn-early{

      background-color: transparent !important;
      border: 1px solid #fff;
      color: white;
      padding: 12px 40px;
      
      font-size: 16px;
      cursor: pointer;
      transition: background 0.3s ease;
      background: transparent;
      
  
}
.btn-early a{
  color:white;
  text-decoration: none;
  text-transform: uppercase;
}
.center-img {
  
  display: block;        /* makes the img behave like a block */
  margin-left: auto;
  margin-right: auto;    /* auto margins center it */
  max-width: 170px;      /* optional: control size */
  margin-top: -10px;
}
.RVL-logo{
  margin-top:120px !important;
}




.floating-btn {
  position: fixed;
  bottom: 15px;      /* distance from bottom */
  right: 60px;       /* distance from right */
  width: 60px;
  height: 60px;
  
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;     /* keeps it on top */
  transition: background 0.3s ease;
}

.floating-btn img {
  width: 40px;
  height: 40px;
  background: transparent;
  padding: 5px;
}
/* Overlay background */
.popup-overlay {
  display: none; /* hidden by default */
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.6);
  z-index: 999;
  justify-content: center;
  align-items: center;
}

/* Popup box */
.popup-content {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  max-width: 600px;
  width: 90%;
  position: relative;
}

/* Close button */
.close {
  position: absolute;
  top: 10px; right: 15px;
  font-size: 24px;
  cursor: pointer;
}
/* Close button */
.close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 28px;
  font-weight: bold;
  color: #333;
  cursor: pointer;
  transition: color 0.2s ease;
}

.close:hover {
  color: #ff0000; /* red on hover */
}


/* Hide any element with [hidden] */
[hidden] { display: none !important; }

/* Full-screen overlay */
.popup-overlay {
  position: fixed; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.6);
  z-index: 1000;
}

/* Modal box */
.popup-content {
  background: #fff;
  width: 90%; max-width: 640px;
  padding: 20px; border-radius: 12px;
  position: relative;
}

/* Close “X” */
.close {
  position: absolute; top: 10px; right: 12px;
  font-size: 28px; font-weight: 700; line-height: 1;
  background: transparent; border: 0; cursor: pointer;
  color: #333;
}
.close:hover { color: #e00; }


.overlay9 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;   /* ensures video doesn't spill */
  z-index: -1;        /* keep video behind content if needed */
}

.overlay9 video {
  
  min-width: 50%;
  min-height: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;   /* behaves like background-size: cover */
  position: absolute;
  top: 100%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  /* keep center aligned */
  object-fit: cover;   /* fill container like background-size: cover */
}
@media screen and (max-width: 768px) {
  .overlay9 video {
    display: block;
  }
}

.logoM {
  text-align: center;
  margin-bottom: 0;
  
}
.logoM {
  text-align: center;
  margin-bottom: 2.25em;
 
}
@media screen and (max-width: 768px){
  .logo{
    margin-top: 12px;
  }
  .floating-btn{
display: none;
  }
  .center-img{
    margin-top: -100px;
  }
.sthead{ 
      letter-spacing: 8px; 
      font-size: 16px !important;
      line-height: 16px !important;
  }
h1 .sthead{
  line-height: 16px !important;
}
  .Edate{
    font-weight: 300;  
    font-size: 18px !important;
    letter-spacing: 4px; margin-top: 10px;
  }
 .EdateE{
    font-weight: 300;
    font-size: 15px !important;
    color:#fff;
    margin-bottom: 50px;
  }
    .Fsread{
    font-weight: 300;  
    font-size: 18px !important;
  }

}








.sthead{ 
      letter-spacing: 8px; 
      font-size: 26px;
  }
  .Edate{
    font-weight: 300;  
    font-size: 22px;letter-spacing: 4px; margin-top: 10px;
  }
  .EdateE{
    font-weight: 300;font-size: 18px;color:#fff
  }
  .Fsread{
    font-weight: 300;  
    font-size: 22px;
  }


  .modal{ position:fixed; inset:0; display:block; }
.modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.6); }

/* Key: cap height + internal scroll */
.modal__dialog{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:min(560px,94vw);
  max-height:min(90vh, 90dvh);
  background:#fff; border-radius:14px; box-shadow:0 10px 30px rgba(0,0,0,.25);
  display:flex; flex-direction:column; overflow:hidden;   /* prevent outer overflow */
}

/* Sticky header keeps the X visible */
.modal__header{
  position:sticky; top:0; z-index:2;
  background:#fff; /* solid bg to stay readable */
  padding:8px 8px calc(8px + env(safe-area-inset-top));
  border-bottom:1px solid #eee;
}
.modal__close{
  margin-left:auto; border:0; background:transparent; cursor:pointer;
  font-size:28px; line-height:1; padding:8px 10px;
}

/* Form area scrolls independently */
.modal__body{
  overflow:auto; -webkit-overflow-scrolling:touch;
  padding:16px 20px 20px;
  max-height:inherit;  /* take remaining space */
}

/* Mobile tweaks */
@media (max-width:480px){
  .modal__dialog{ width:94vw; max-height:min(92vh,92dvh); border-radius:12px; }
  .modal__close{ font-size:24px; }
}

/* If HubSpot injects wide content */
.hbspt-form, .hbspt-form form, .hbspt-form iframe{
  width:100% !important; max-width:100% !important;
}