/* REMOVE DEFAULT SAPACING */
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
html.addOverflow,
body.addOverflow {
  overflow: hidden;
}
button:focus,
button:hover {
  outline: none;
}
a,
a:hover {
  color: inherit;
  text-decoration: none;
}

/* DEFAULT CONTAINER */
.normal-container {
  padding: 0 60px;
}
.mediumLeft-container {
  padding-left: 100px;
}
.medium-container {
  padding: 0 100px;
}
.removePaddingRight {
  padding-right: 0;
}
.removePaddingLeft {
  padding-left: 0;
}
.removePadding {
  padding-right: 0;
  padding-left: 0;
}

/* FONT SIZE AND FONT FAMILY*/
@font-face {
  font-family: "Vw Bold";
  src: url("../font/vw-text-bold.otf") format("opentype");
}
@font-face {
  font-family: "Vw Regular";
  src: url("../font/vw-text-regular.otf") format("opentype");
}
@font-face {
  font-family: "Vw Light";
  src: url("../font/vw-text-light.ttf") format("truetype");
}
@font-face {
  font-family: "VW Head Office";
  src: url("../font/VWHeadOffice-Bold.ttf") format("truetype");
  font-weight: bold;
}
@font-face {
  font-family: "VW Head Office";
  src: url("../font/VWHeadOffice-Regular.ttf") format("truetype");
  font-weight: normal;
}
/* Banner + Announcement headlines: .bold uses VW Head Office Bold,
   .light keeps using VW Text Light (vw-text-light.ttf). */
.bannerPosition .normal-container .font60 .bold,
.registerAnnouncementSection .font60 .bold {
  font-family: "VW Head Office";
  font-weight: bold;
}
.bannerPosition .normal-container .font60 .light,
.registerAnnouncementSection .font60 .light {
  font-family: "Vw Light";
}
/* Desktop only: shrink the .light line in the announcement section to 45px
   while the .bold lines stay at the default 60px. Mobile rules in media.css
   keep their own 32px sizing. */
@media (min-width: 768px) {
  .registerAnnouncementSection .font60 .light {
    font-size: 45px;
  }
}
/* Register Interest form: all text uses VW Head Office. VW Head Office only
   ships in Bold + Regular, so .regular and .light both map to Regular. */
.registerInterestSection,
.registerInterestSection input,
.registerInterestSection select,
.registerInterestSection textarea,
.registerInterestSection button,
.registerInterestSection label {
  font-family: "VW Head Office";
  font-weight: normal;
}
.registerInterestSection .bold {
  font-family: "VW Head Office";
  font-weight: bold;
}
.registerInterestSection .regular,
.registerInterestSection .light {
  font-family: "VW Head Office";
  font-weight: normal;
}
.bold {
  font-family: "Vw Bold";
}
.regular {
  font-family: "Vw Regular";
}
.light {
  font-family: "Vw Light";
}
.font12 {
  font-size: 12px;
}
.font14 {
  font-size: 14px;
}
.font16 {
  font-size: 16px;
}
.font18 {
  font-size: 18px;
}
.font20 {
  font-size: 20px;
}
.font24 {
  font-size: 24px;
}
.font26 {
  font-size: 26px;
}
.font28 {
  font-size: 28px;
}
.font30 {
  font-size: 30px;
}
.font34 {
  font-size: 34px;
}
.font36 {
  font-size: 36px;
}
.font38 {
  font-size: 38px;
}
.font40 {
  font-size: 40px;
}
.font45 {
  font-size: 45px;
}
.font48 {
  font-size: 60px;
}
.font60 {
  font-size: 60px;
}
.lineHeight1 {
  line-height: 68px;
}
.lineHeight2 {
  line-height: 65px;
}
.displayNone {
  display: none !important;
}
.displayBlock {
  display: flex !important;
}

/* FLEX AND TEXT ALIGN*/
.justiftyCenter {
  justify-content: center;
}
.justiftyEnd {
  justify-content: flex-end;
}
.textCenter {
  text-align: center;
}
.textRight {
  text-align: right;
}
.sliderHeight {
  max-height: 200px;
  height: 200px;
}

/* NAV BAR */
.navBar {
  padding: 15px 0;

  position: absolute;
  top: 0;
  width: 100%;
  /*height: 100%;*/

  color: #fff;

  z-index: 1;
  overflow: hidden;
}
.navBar-firstCol div:nth-child(1) {
  margin-right: 70px;
}
.navBorderImg {
  width: 100%;
  margin-top: -8px;
  position: relative;
  z-index: -1;
}

.logoBar {
  height: 60px;
}
.logoRow {
  position: absolute;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  z-index: 9;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  height: 2px;
  top: 31px;
  right: 0;
  left: 0;
  margin-top: -8px;
}
.logoBar .logo-lineAfter,
.logoBar .logo-lineBefore {
  background-color: #001e50;
  height: 2px;
}

.logoLink {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  top: 0;
}

.logo-container {
  position: relative;
  width: auto;
  box-sizing: border-box;
  height: 48px;
  padding: 0 12px;
}
.logo-lineBefore {
  width: 61.5%;
}
.logo-lineAfter {
  width: 37%;
}
.logo-VW svg {
  width: auto;
  height: 48px;
}
.logoBar svg path {
  fill: #001e50;
}

.logoBar.white svg path {
  fill: #fff;
}

.logoBar.white .logo-lineAfter,
.logoBar.white .logo-lineBefore {
  background-color: #fff;
}

/* BANNER */
.bannerPosition .normal-container .font60 {
  font-size: 45px;
}
.bannerSection {
  background: url("../img/register-banner-4.jpg");
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: left !important;

  height: 100vh;
  max-height: 800px;

  /*position: relative;
	overflow: hidden;*/
}
.bannerPosition {
  /*	position: absolute;
	width: 100%;

	top: 38%;
	left: -5px;*/
  color: #fff;
  padding-top: 500px;
}
.bookTestDriveBtn {
  background: #fff;
  color: #001e50;

  border: none;
  padding: 13px 40px;
  border-radius: 50px;
}
.exploreMoreBtn {
  margin-top: 80px;
}
#mouse {
  margin-right: 16px;
}
#mouse path {
  fill: #fff;
}

/* FEATURE */
.featureBox55 {
  width: 50%;
}
.featureBox45 {
  width: 50%;
}
.addBorder img {
  width: 100%;
  border-top: 10px solid #fff;
  border-right: 6px solid #fff;
  border-bottom: 10px solid #fff;
}
.secondFeatureMargin {
  margin-top: -60px;
}
/*#featureBoxRow01
{
	margin-top: -60px;
}*/
#featureBoxRow01 .mediumLeft-container div:nth-child(3) {
  margin-top: 33px;
  padding-right: 170px;
}
.findOutMoreBtn {
  background: #001e50;
  color: #fff;

  border: none;
  padding: 10px 60px;
  border-radius: 50px;

  margin-top: 36px;
}
#featureBoxRow02 .mediumLeft-container {
  padding-left: 80px;
}
/*#featureBoxRow02
{
	margin-top: -20px;
}*/
#featureBoxRow02 .mediumLeft-container div:nth-child(2) {
  margin-top: -13px;
}
#featureBoxRow02 .mediumLeft-container div:nth-child(3) {
  margin-top: 36px;
  padding-right: 150px;
}
/* YOU MIGHT INTERESTED IN */
.youMightSection {
  background: transparent;
  padding: 100px 0;
}
/* .medium-container .row:nth-child(1) .col-12 div:nth-child(2) {
  margin-top: -20px;
} */
.grid-container1 {
  display: grid;
  grid-template-areas: "explore peace confidence";
  grid-gap: 46px;
}
.item3 {
  grid-area: explore;
}
.item4 {
  grid-area: peace;
}
.item5 {
  grid-area: confidence;
}

.youMightText div:nth-child(1) {
  margin-top: 33px;
}
.youMightText div:nth-child(3) {
  margin-top: -10px;
}

/* FOOTER */
.footerSection {
  background: transparent;
  padding: 0 0 25px 0;
}
.blackLine {
  border-bottom: 2px solid #001e50;
  margin-bottom: 80px;
}
.socialIcon {
  margin: 25px 0 88px 0;
}
.hideText {
  opacity: 1;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 1100px;
  }
}

.padding15 {
  padding: 0 15px;
  margin-top: 68px;
}
.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #00285b;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
}
.sidenav a {
  padding: 8px 8px 16px 70px;
  text-decoration: none;
  font-size: 28px;
  color: #fff;
  display: block;
  transition: 0.3s;

  font-family: "Vw Light";
}
.sidenav .topLink {
  padding: 8px 30px 16px 70px;
  text-decoration: none;
  font-size: 14px;
  font-family: "Vw Regular";
  margin-top: 46px;
}
.sidenav .topLink a {
  padding: 0;
  text-decoration: none;
  font-size: 14px;
  font-family: "Vw Light";
}
/*.sidenav a:hover {
  color: #f1f1f1;
}*/
.sidenav .d-flex {
  position: absolute;
  top: 26px;
  left: 26px;
}
@media screen and (max-height: 450px) {
  .sidenav {
    padding-top: 15px;
  }
  .sidenav a {
    font-size: 18px;
  }
}
.bar1 {
  width: 100%;
  background-color: #fff;
  height: 2px;
}
.bar2 {
  width: 60%;
  background-color: #fff;
  height: 2px;
  margin: 6px 0;
}
.bar3 {
  width: 80%;
  background-color: #fff;
  height: 2px;
}

/* THANK YOU PAGE */
.thankYouSection {
  background: transparent;
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.thankYou-textContainer {
  width: 100%;
  display: flex;
  justify-content: center;
}
.thankYou-text {
  padding: 30px 0;
  /*max-width: 920px;*/

  display: flex;
  align-items: center;
}
.thankYou-text img {
  margin-bottom: 90px;
  border-radius: 20px;
}
.thankYou-text div:nth-child(2) {
  margin-bottom: 30px;
}
.thankYou-text div:nth-child(3) {
  margin-bottom: 48px;
}
.mobileStatus,
.mobile-slick {
  display: none;
}
.firstDiv-adjust div:nth-child(1) span {
  opacity: 0;
  user-select: none;
}
.setDivWidth .font12 {
  width: 30%;
  margin-bottom: 28px;
}

.hide {
  display: none;
}

.thankYou-text div:nth-child(1) img {
  margin-right: 120px;
  width: 450px;
}
.footerNoteSection{
	margin-top: 50px;
	padding-top: 70px;
	padding-bottom: 40px;
	border-top: 1px solid #dfe4e8;
}
.justify-content-evenly{
	justify-content: space-evenly!important;
}


@media (max-width:767px){
  .tc{
    margin-top: 10px !important;
    margin-bottom: 30px;
  }
  }

/* REGISTER INTEREST */
.registerInterestSection {
  padding: 20px 0 80px 0;
}
.registerInterest-row {
  align-items: stretch;
}
.registerInterest-imgCol {
  padding-right: 30px;
  display: flex;
}
.registerInterest-imgCol img {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  display: block;
  object-fit: cover;
  object-position: center center;
}
.registerInterest-formCol {
  padding-left: 30px;
}
.registerInterest-formCol form {
  margin-top: 40px;
}

/* Title & subtitle */
.registerInterestSection .registerInterest-title {
  margin-top: 0 !important;
  font-size: 44px;
  line-height: 1.1;
  color: #001e50;
}
.registerInterestSection .registerInterest-subtitle {
  margin-top: 12px;
  font-size: 16px;
  color: #6b7c85;
}

/* Inputs & selects — filled rounded boxes */
.registerInterestSection .form-group input:not([type="checkbox"]):not([type="radio"]),
.registerInterestSection .form-group select {
  position: relative;
  width: 100%;
  height: 56px;
  min-height: 56px;
  max-height: 56px;
  line-height: 1.2;
  padding: 22px 56px 8px 24px;
  background: #f3f5f7;
  border: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-radius: 8px;
  box-sizing: border-box;
  color: #001e50;
  font-size: 16px;
  font-family: 'Vw Regular';
  margin-bottom: 24px;
  z-index: 1;
  transition: border-color .2s ease, background .2s ease;
}
/* Strip native select chrome so our 56px height is honored across browsers */
.registerInterestSection .form-group select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: 1px;
  text-overflow: '';
}
.registerInterestSection .form-group select::-ms-expand { display: none; }
/* Disabled-looking dealer select until a state is chosen */
.registerInterestSection .notactive {
  pointer-events: none;
  cursor: default;
  opacity: .35;
  transition: opacity .3s ease;
}
.registerInterestSection .form-group input:not([type="checkbox"]):not([type="radio"]):focus,
.registerInterestSection .form-group input:not([type="checkbox"]):not([type="radio"]):hover,
.registerInterestSection .form-group select:focus,
.registerInterestSection .form-group select:hover {
  outline: none;
  box-shadow: none;
  background: #eef1f4;
  border: 1px solid #001e50;
  border-bottom: 1px solid #001e50;
}
.registerInterestSection .form-group input:not([type="checkbox"]):not([type="radio"]).confirm,
.registerInterestSection .form-group select.confirm {
  color: #001e50;
}
.registerInterestSection .form-group input:not([type="checkbox"]):not([type="radio"]).error,
.registerInterestSection .form-group select.error {
  border: 1px solid #d32f2f;
  border-bottom: 1px solid #d32f2f;
  color: #d32f2f;
}

/* Floating placeholder — absolutely positioned inside the input box.
   Parent .col-* already has position: relative (Bootstrap default).
   left/right offsets account for the col's 15px padding (15 + 24 = 39px). */
.registerInterestSection .placehoder {
  position: absolute;
  top: 19px;
  left: 39px;
  width: calc(100% - 78px);
  margin: 0;
  color: #6b7c85;
  font-size: 16px;
  font-family: "VW Head Office";
  font-weight: normal;
  line-height: 1;
  pointer-events: none;
  z-index: 2;
  transition: top .2s ease, font-size .2s ease;
}
.registerInterestSection .placehoder sup {
  color: #d32f2f;
  font-size: 11px;
  top: -4px;
  margin-left: 1px;
}
.registerInterestSection .placehoder.focus {
  top: 9px;
  font-size: 11px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #6b7c85;
}
.registerInterestSection .placehoder.error { color: #d32f2f; }

/* Per-field error message — sits in the 24px gap below the input.
   Hidden by default, revealed when validation adds .show. */
.registerInterestSection .error-text {
  position: absolute;
  top: 60px;
  left: 15px;
  right: 15px;
  font-size: 12px;
  line-height: 1.3;
  color: #d32f2f;
  font-family: 'Vw Regular';
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease;
}
.registerInterestSection .error-text.show {
  opacity: 1;
  visibility: visible;
}

/* Anchor (chevron) and tick — overlay icons on the right edge.
   Vertically centered in the 56px box (icon ~18px → top = (56-18)/2 = 19px).
   right offset = 15px col padding + 16px from input edge. */
.registerInterestSection .anchor,
.registerInterestSection .tick {
  position: absolute;
  top: 19px;
  right: 31px;
  line-height: 0;
  pointer-events: none;
  z-index: 2;
  transition: opacity .2s ease, visibility .2s ease;
}
.registerInterestSection .anchor { opacity: 1; visibility: visible; }
.registerInterestSection .anchor.hide { opacity: 0; visibility: hidden; }
.registerInterestSection .tick { opacity: 0; visibility: hidden; }
.registerInterestSection .tick.show { opacity: 1; visibility: visible; }
.registerInterestSection .anchor img,
.registerInterestSection .tick img { width: 18px; height: auto; }

/* Radios (Email / Phone) */
.registerInterestSection .form-check-inline { margin-right: 40px; }
.registerInterestSection .form-check input[type="radio"] {
  width: 24px;
  height: 24px;
  padding: 4px;
  border: 2px solid #001e50;
}
.registerInterestSection .form-check input[type="radio"]:checked {
  background-color: #001e50;
  border: 2px solid #001e50;
}
.registerInterestSection .form-check-label { font-size: 16px; color: #001e50; }

/* Checkboxes (consent + newsletter) */
.registerInterestSection .form-check input[type="checkbox"] {
  width: 24px;
  height: 24px;
  border: 2px solid #001e50;
  border-radius: 3px;
  background-image: none;
}
.registerInterestSection .form-check input[type="checkbox"]:checked {
  background-color: #001e50;
  border: 2px solid #001e50;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><polyline fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' points='3,8.5 7,12 13,4.5'/></svg>");
  background-size: 10px 10px;
  background-position: center;
  background-repeat: no-repeat;
  filter: none;
}
.registerInterestSection .defaultFormTable td { font-size: 13px; line-height: 1.5; padding-top: 4px; }
.registerInterestSection .defaultFormTable tr td:nth-child(1) { padding: 15px 12px 8px 0; width: 1%; white-space: nowrap; vertical-align: top; }
.registerInterestSection .defaultFormTable .form-check {
  padding-left: 0;
  margin-right: 0;
  margin-top: 0;
  min-height: 0;
  width: auto;
  display: block;
}
.registerInterestSection .defaultFormTable .form-check .form-check-input { margin-left: 0; margin-top: 0; margin-right: 0; position: static; }

/* Pill CTA */
.registerInterestSection .sendRequestBtn {
  background: #001e50;
  color: #fff;
  border: none;
  border-radius: 1000px;
  padding: 16px 56px;
  font-size: 16px;
  margin-top: 20px;
  transition: background .2s ease, transform .15s ease;
}
.registerInterestSection .sendRequestBtn:hover {
  background: #46BFEE;
  color: #fff;
}

/* REGISTER INTEREST IMAGE SLIDER */
/* Announcement headline between banner and image slider */
.registerAnnouncementSection {
  padding: 100px 0 0 0;
}

.registerSliderSection {
  padding: 100px 0 100px 0;
  overflow: hidden;
  position: relative;
}
.registerSlider-marquee {
  overflow: hidden;
  width: 100%;
}
.registerSlider-track {
  display: flex;
  width: max-content;
  animation: registerSliderScroll 40s linear infinite;
}
.registerSlider-track:hover {
  animation-play-state: paused;
}
.registerSlider-item {
  flex: 0 0 auto;
  width: 33.333vw;
  padding: 0 8px;
}
.registerSlider-item img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
  pointer-events: none;
}
@keyframes registerSliderScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.registerSlider-mobile {
  display: none;
  position: relative;
}
.registerSlider-mobile .slick-slide {
  padding: 0 6px;
}
.registerSlider-mobile div img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}
/* Arrows overlay the active slide — centered on its left/right edges */
.registerSlider-mobile .slick-prev,
.registerSlider-mobile .slick-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 56px;
  height: 56px;
  background: url('../img/button.png') center/contain no-repeat;
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
  font-size: 0;
  line-height: 0;
  color: transparent;
}
.registerSlider-mobile .slick-prev {
  left: 10%;
  right: auto;
  transform: translate(-50%, -50%) scaleX(-1);
}
.registerSlider-mobile .slick-next {
  left: auto;
  right: 10%;
  transform: translate(50%, -50%);
}
.registerSlider-mobile .slick-prev:hover,
.registerSlider-mobile .slick-next:hover {
  opacity: 0.85;
}
.registerSlider-mobile .slick-prev:before,
.registerSlider-mobile .slick-next:before {
  content: none;
}


/* ==========================================================================
   STAY CONNECTED WITH US — desktop 5-column grid; mobile slick slider
   (mirrors the .youMight-v2 pattern). The .mobile-slick auto-inits via sharejs.js.
   ========================================================================== */
.stayConnected {
  padding: 0px 60px 90px;
  background: #fff;
}
/* Spacing between the heading and the social tiles below. */
.stayConnected .stayConnected__heading { margin-bottom: 56px; }
.stayConnected__inner { padding: 0 15px; }

/* Desktop grid — 5 equal columns */
.stayConnected__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}
.stayConnected__grid > a {
  display: block;
  text-decoration: none;
  color: #001e50;
}
.stayConnected__grid > a:hover,
.stayConnected__grid > a:focus { text-decoration: none; color: #001e50; }

/* Tile follows the natural aspect ratio of each image (no forced square / crop). */
.stayConnected__tile { overflow: hidden; border-radius: 6px; }
.stayConnected__grid img,
.stayConnected__slick img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .3s ease;
}
.stayConnected__grid a:hover img { transform: scale(1.02); }

/* Label below the tile */
.stayConnected__label {
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.3;
  color: #001e50;
}

/* Mobile slider — hidden on desktop, shown on mobile */
.stayConnected__slick { display: none; position: relative; }
.stayConnected__slick > a {
  display: block;
  text-decoration: none;
  color: #001e50;
}
/* Arrows on mobile slick — centered on the active image */
.stayConnected__slick .slick-prev,
.stayConnected__slick .slick-next {
  position: absolute;
  top: calc(50% - 16px);
  transform: translateY(-50%);
  z-index: 5;
  width: 36px;
  height: 36px;
  padding: 0;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}
.stayConnected__slick .slick-prev { left: 12px; }
.stayConnected__slick .slick-next { left: 192px; right: auto; }
.stayConnected__slick .slick-prev:before,
.stayConnected__slick .slick-next:before {
  color: #001e50;
  font-size: 20px;
  opacity: 1;
  line-height: 1;
}
.stayConnected__slick .slick-prev.slick-disabled,
.stayConnected__slick .slick-next.slick-disabled {
  opacity: 0.4;
  cursor: default;
}

@media (max-width: 1199px) {
  .stayConnected { padding: 60px 40px 80px; }
  .stayConnected__grid { gap: 20px; }
  .stayConnected__label { font-size: 16px; }
}
@media (max-width: 991px) {
  .stayConnected { padding: 50px 30px 70px; }
  .stayConnected__grid { gap: 16px; }
  .stayConnected__label { font-size: 15px; margin-top: 14px; }
}
@media (max-width: 767px) {
  .stayConnected { padding: 50px 0 60px; }
  .stayConnected .stayConnected__heading { margin-bottom: 36px; padding: 0 20px; }
  .stayConnected__inner { padding: 0; }
  /* Hide desktop grid + show slick — high specificity to win over media.css. */
  .stayConnected__grid { display: none; }
  .stayConnected__slick { display: block; }
  .stayConnected__slick .slick-slide {
    margin-right: 16px;
    max-width: 220px;
    min-width: 220px;
  }
  .stayConnected__slick .slick-list { padding-left: 20px; }
  .stayConnected__label { margin-top: 14px; font-size: 15px; }
}

