/**
 * @file
 * Styles for BMW CCA theme.
 */

 /* font classes */

 @import url('https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

.kanit-thin {
  font-family: "Kanit", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.kanit-extralight {
  font-family: "Kanit", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.kanit-light {
  font-family: "Kanit", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.kanit-regular {
  font-family: "Kanit", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.kanit-medium {
  font-family: "Kanit", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.kanit-semibold {
  font-family: "Kanit", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.kanit-bold {
  font-family: "Kanit", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.kanit-extrabold {
  font-family: "Kanit", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.kanit-black {
  font-family: "Kanit", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.kanit-thin-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.kanit-extralight-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.kanit-light-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.kanit-regular-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.kanit-medium-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.kanit-semibold-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.kanit-bold-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.kanit-extrabold-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.kanit-black-italic {
  font-family: "Kanit", sans-serif;
  font-weight: 900;
  font-style: italic;
}


 /* Misc */
.layout-container * {
   font-family: "Kanit", sans-serif;
   font-weight: 300;
   font-style: normal;
}

 .visually-hidden {display: none;} 

 .path-frontpage .node__links, .path-frontpage .feed-icons {display: none;}

 .layout-container {position: relative;}

  :root {
    font-size: 16px !important;
  }

  .views_slideshow_cycle_teaser_section {
    margin: 0 auto;
  }

 /* Menu and header */

 .hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    z-index: 1001;
  }

  #block-bmwcca-theme-main-menu .menu-item>.menu, #block-bmwcca-theme-main-menu button.hamburger, .menu-item.log {
    display: none;
  }

  #block-bmwcca-theme-main-menu ul.menu-level-0 li a {
      color: white;
      text-decoration: none;
      font-size: 1rem;
      transition: color 0.3s ease;
      display: block;
  }

  #block-bmwcca-theme-main-menu ul.menu-level-0 > li a {
    color:#000;
    font-size: 19px;
  }

  /* Submenu arrow indicator */
  .has-submenu > a::after {
      content: ' ▼';
      font-size: 0.7rem;
      margin-left: 0.3rem;
  }

  /* Desktop submenu styles */
  /* #block-bmwcca-theme-main-menu ul.menu-level-0 li ul {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      background-color: #444;
      min-width: 200px;
      padding: 0;
      margin-top: 0.5rem;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  } */

  #block-bmwcca-theme-main-menu ul.menu-level-0 li ul li {
      padding: 0;
  }

  #block-bmwcca-theme-main-menu ul.menu-level-0 li ul li:last-child a {
      border-bottom: none;
  }

  /* Overlay for mobile menu */
  .overlay {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 999;
      opacity: 0;
      transition: opacity 0.3s ease;
  }

  .overlay.active {
      display: block;
      opacity: 1;
  }

  #block-bmwcca-theme-main-menu .menu.menu-level-0 > li:hover > ul.menu-level-1 {
  display: block;
  background-color: #1c69d4;
  top: 77px;
  width: 180px;
  left: 0px;
 }
 
 #block-bmwcca-theme-main-menu ul.menu-level-1 > .menu-item {
  background-color: #1c69d4;
  border-bottom: 1px solid #B5CEE2;
  border-left: 1px solid #B5CEE2;
  border-right: 1px solid #B5CEE2;
  padding: 12px 0px;
  padding-left: 10px;
 }

  #block-bmwcca-theme-main-menu ul.menu-level-1>.menu-item > a  {
    text-decoration: none;
    color: #fff;
 }

 #block-bmwcca-theme-main-menu .menu-level-0 > .menu-item.log {
  display: none;
 }

  /* Mobile styles */
  @media (max-width: 768px) {

    #block-bmwcca-theme-main-menu .menu-level-0 > .menu-item.log {
      display: inline-block;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 .menu-item.log a {
      color: #000;
      border: 1px solid #000;
      border-radius: 3px;
      text-align: center;
      display: inline-block;
    }

    .hamburger i {
      font-size: 30px;
    }

    .hamburger {
      display: block;
      position: absolute;
      right: 20px;
      top: 20px;
    }

    #block-bmwcca-theme-main-menu .menu.menu-level-0 > li > ul.menu-level-1 {
      background-color: #fff;
      height: initial;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-1 > .menu-item {
      background-color: #fff;
      border-bottom: 1px solid #000;
      border-left: none;
      border-right: none;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-1 > .menu-item > a {
      color: #000;
    }

    .menu-level-0 > li.menu-item--expanded span::after {
      display: inline-flex;
    }

    #block-bmwcca-theme-main-menu button.hamburger, .menu-item.log {
      display: block;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 {
        list-style: none;
        display: flex;
        gap: 2rem;
    }

    #block-bmwcca-theme-main-menu ul {
        position: fixed;
        top: 0;
        right: -300px;
        width: 300px;
        height: 100vh;
        background-color: #fff;
        overflow-y: auto;
        transition: right 0.3s ease;
        z-index: 1000;
        padding-top: 4rem;
    }

    #block-bmwcca-theme-main-menu ul.active {
        right: 0;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 {
        flex-direction: column;
        gap: 0;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 li {
        text-align: left;
        border-bottom: 1px solid #444;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 li:last-child {
        border-bottom: none;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 li a {
        padding: 1rem 1.5rem;
    }

    /* Mobile submenu styles */
    .has-submenu > a::after {
        content: ' ▶';
        float: right;
        transition: transform 0.3s ease;
    }

    .has-submenu.open > a::after {
        transform: rotate(90deg);
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 li ul {
        display: none;
        position: static;
        background-color: #444;
        margin: 0;
        padding: 0;
        box-shadow: none;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 li ul.open {
        display: block;
    }

    #block-bmwcca-theme-main-menu ul.menu-level-0 li ul li a {
        padding: 0.8rem 1.5rem 0.8rem 2.5rem;
        font-size: 0.9rem;
    }
  }

  /* Main content */
  main {
      max-width: 1200px;
      margin: 2rem auto;
      padding: 0 1rem;
  }

  main h1 {
      margin-bottom: 1rem;
  }

  main p {
      line-height: 1.6;
      margin-bottom: 1rem;
  }

 ul.menu {
  margin: 0px;
 }

 .menu-item.log a::before {
  content: var(--fa)/"";
 }

 .menu.menu-level-0 > li {
  padding: 28px 12px;
  cursor: pointer;
 }

 

 #block-bmwcca-theme-main-menu ul.menu-level-1 {
  position: absolute;
  z-index: 20;
 }



#block-bmwcca-theme-main-menu .menu.menu-level-0 > li:hover, #manage-account:hover{
	border-bottom: 3px solid #1c69d4;
  padding-bottom: 25px;
 }

 #block-bmwcca-theme-main-menu .menu.menu-level-0 > li.menu-item--expanded:hover {
  border-bottom: none;
 }

 .region.region-header {
  display: flex;
  max-width: 109.5rem;
  margin: 0 auto;
  margin-bottom: 20px;
  border-bottom: 1px solid #000;
  position: relative;
}

#block-bmwcca-theme-search-form-wide, #block-bmwcca-theme-account-menu {
  position: absolute;

}

#block-bmwcca-theme-search-form-wide {
  right: 10px;
}

#block-bmwcca-theme-account-menu {
  right: 20px;
}

 #block-bmwcca-theme-site-branding, #block-bmwcca-theme-main-menu .menu-level-0 > .menu-item, #block-bmwcca-theme-account-menu .menu-level-0 > .menu-item, #block-bmwcca-theme-search-form-wide {
    display: inline-block;
 }

 #block-bmwcca-theme-site-branding {
  margin-top: 12px;
  margin-right: 24px;
  margin-left: 20px;
 }


 .site-logo svg {width: 86px;}

 .site-logo svg .cls-2 {fill: #000}

 .menu-item--expanded::marker, .menu-item--expanded {list-style-type: none;list-style-image:none;}


 #block-bmwcca-theme-main-menu .menu-item {
  font-size: 19px;
 }

 .menu-level-0>li {
  position: relative;
 }

.menu-level-0 > li.menu-item--expanded span::after {
  content: url('../images/downCaret.svg');
  display: inline-block;
  padding-left: 4px;
  width: 17px;
 }


#block-bmwcca-theme-account-menu .menu.menu-level-0 .menu-item:first-child a {
  padding: 10px 40px;
  background-color: #1c69d4;
  border-radius: 3px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}

.user-logged-in #block-bmwcca-theme-account-menu .menu.menu-level-0 .menu-item:first-child a {
  margin-right: 20px;
}

#manage-account a {
  color: #000;
}

#sign-in-out a {
  text-decoration: none;
  color: #000;
  padding: 10px 40px;
  border: 1px solid #000;
  border-radius: 3px;
  margin: 0px 20px;
  font-weight: 500;
}

form#search-block-form label {
  position: relative !important;
  width: auto;
  height: auto;
  margin-top: 10px;
}
form#search-block-form input {
  display: none;
}

.form-type-search > label::after {
  content: none;
}
 /* Content and page */


  /* Slider */

  #views_slideshow_cycle_main_front_page_top_slider-block_1 {
    overflow: hidden;
  }

  #views_slideshow_cycle_div_front_page_top_slider-block_1_0 {
    position: relative;
  }

  .bmwccaSlide {
    position: absolute;
    color: #fff;
    bottom: 50%;
width:50vw;
  }

  .slideRight {
    left: 100px;
  }

  .slideLeft {
    right: 100px;;
  }
  .sliderHeadline {
    text-transform: uppercase;
    font-size: 50px;
  }
  .sliderCopy {
    font-size: 25px;
    max-width: 800px;
  }
  .slideLinks {
    display: flex;
  flex-flow: row wrap;
  gap: 20px;
  }

  .slideUrl {
    color: #fff;
    text-decoration: none;
    padding: 10px 80px;
    border-radius: 3px;
    font-weight: 500;
  }

  .slideUrl1 {
    border: 1px solid #fff;
  }

  .slideUrl2 {
    border: 1px solid #1c69d4;
    background-color: #1c69d4; 
  }

  /* Homepage Flexbox 
	vertical rows on large and small
	horizontal columns on medium
  *********************/
#topBlocks {  
flex-flow: row wrap;
}
img.blockBack{
object-fit:cover;
}
.topBlock {
  max-width: 32%;
  position: relative;
  min-width: 340px;
}

.topBlock .blockText {
  bottom: 40px;
/*  height: 280px; */
margin-left: 38px;
}

.blockPara {
  margin-right: 20px;
}
.blockText .blockLink {
margin-top: 38px;
margin-bottom: 0;
width: 250px;
}

.blockText .blockLink a {
  padding:10px 15px;
  white-space: nowrap;
  display: inline-block;
  text-align: center;
  width: inherit;
  max-width: 250px;
}

.blockLink a:hover {
  margin-top: -2px;
}

  /* Homepage Icons */

  #membershipBenefits {
    display: flex;
    justify-content: space-evenly;
flex-flow: row wrap;
  gap: 20px;
  }
.benefitList {
width:200px;
}
  .benefitList h4 {
    font-size: 25px;
  }
  .benefit {
    max-width: 250px;
    text-align: center;
  }
  .benefit img {
    width: 20%;
    min-width: 50px;
    display: block;
    margin: 0 auto;
    height: auto;
  }


/* Footer */

footer {
  margin-top: 40px;
  background-color: #f6f6f6;
}

.region.region-footer {
  display: flex;
  justify-content: space-around;
  padding: 40px 0px;
  flex-wrap: wrap;
}

footer nav {
  min-width: 220px;
  margin: 10px;
}

footer nav h2 {
  color: #4d4d4d;
  font-size: 13px;
}
footer nav .menu-item a {
  text-decoration: none;
  font-weight: 500;
  color: #262626;
}
footer nav  .menu.menu-level-0 > li {
  padding: initial;
  cursor: pointer;
 }

 #disclaimer {
  padding: 10px;
 }

.region.region-highlighted, main {
  max-width: 1800px;
  margin: 0 auto;
  
}

.path-frontpage .region.region-highlighted {
  max-width: initial;
  margin: 0px;
  
}

/* General Styles */
h2 {
  font-size:2.5rem;
}
h3 {
  font-size: 2rem;
}
h4 {
  font-size: 1.5rem;
}
a {
  color: #006fba;
}
main img {
  max-width: 100%;
  height: auto;
}
.alert.alert-block {
  display: block;
  border: 1px solid black;
  width: 60%;
  margin: 20px auto;
  padding: 20px;
  text-align: center;
  letter-spacing: 1px;
}
.alert-warn {
  background-color: black;
  color: white;
}
.alert.alert-info {
  background-color:#f2f2f2;
  color:#666;
  border: 1px solid #f2f2f2;
}
.table.table-center{
margin:0 auto;
}
.table {
  border-collapse: collapse;
  max-width: 100%;
  /* moved from .table-minimal */
  border: none;
  table-layout: fixed;
}
.table td, .table th {
  /* moved from .table-minimal */
  padding: 20px 25px;
  line-height:20px;
  background-color:none;
}
.table th {
  /* moved from .table-minimal */
  background-color: #f2f2f2;
  color: #666;
  text-align:left;
}
.table.table-minimal {
  border: none;
  table-layout: fixed;
}
.table.table-minimal td, .table.table-minimal th{
  padding: 20px 25px;
  line-height:20px;
}
.table.table-minimal th, .table .table-header {
  background-color: #f2f2f2;
  color: #666;
  text-align:left;
}
.table.table-minimal td {
  background-color:none;
}
.table.table-small-row td, .table.table-small-row th {
  padding:10px;
}

main {
  min-height: calc(100vh - 406px);
  padding:0 2.5%;
}
.button-cca {
  padding: 10px 0;
}
.button-cca a {
  display:inline-block;
  padding: 10px 40px;
  text-decoration: none;
  font-weight: 500;
  background-color: #2f2f2f;
  color: #fff;
}
.button-cca.button-blue a {
  background-color: #1c69d4;
  color: #fff;
  border-radius: 3px;
}
.button-cca {
  margin-top:30px;
  margin-bottom:30px;
}
.button-center {
  text-align:center;
}
input.button-black, input.webform-button--next, input.webform-button--previous, input.webform-button--draft,  input.webform-button--preview, input.webform-button--submit {
  border: 1px solid black;
  cursor: pointer;
}
input.button-black, input.webform-button--submit {
  padding: 10px 50px;
  background-color: black;
  color: white;
}
input.webform-button--previous, input.webform-button--draft, input.webform-button--next,  input.webform-button--preview {
  padding: 10px 40px;
  background-color: white;
}
.webform-submission-data--view-mode-preview > div > label {
  display:block;
  font-weight:500;
}


/* Region Styles */
main {
  display:flex;
  flex-flow: row wrap;
}
.layout-content {
  flex: 3 0 600px; min-width: 600px;
}
.layout-sidebar-second {
  flex: 1 0 200px; min-width:25%; padding:0 20px;
}

/* Paragraphs Styles */
.field--name-field-paragraphs > .field__label {
  display: none;
}
.paragraph--type--_-column-flexbox {
  display: flex;
  flex-flow: row nowrap;
}
.paragraph--type--_-column-flexbox > div {
  width: 50%;
}
.paragraph--type--para-content img {
  max-width: 100%;
  height: auto;
}

/* Membership benefits - discounts */
.path-membershipbenefits .layout-content{
  width:70%;
  margin-right:2.5%;
}
.path-membershipbenefits main{
  position: relative;
}
/*.path-membershipbenefits aside {
  position: absolute;
  display: block;
  right: 0;
  top: 0;
  height: 100%;
  width: 25%;
}*/

.highlighted-notice {
  font-size: 19px;
  text-align: center;
  background-color: #f6f6f6;
  padding: 20px;
}

/* Media Queries */

/* Screens below 1040px */
@media screen and (max-width: 1040px) {
  .bmwccaSlide{
  position: absolute;
    width: 95vw;
    text-align: center;
  bottom:50px;
  left:0;
  right:0;
  }
  .sliderCopy {
  max-width: 100%;
    text-align: center;
  }
  .slideLinks {
  justify-content: center;
  }
  /* flexbox horizontal */
  #topBlocks{
  gap: 20px;
  flex-flow:column wrap;
  }
  #topBlocks .topBlock{
      max-width: 90%;
      height: 350px;
      width: 90%;
      margin: 0 auto;
  }
  .topBlock .blockText {
  bottom: 0;
    height: 250px;
  }
  .blockText .blockLink {
  margin-top:0;
  bottom:unset;
  }
  img.blockBack{
  object-fit:cover;
  }
  .blockText .blockLink a {
    padding:10px 50px;
  }

  #block-bmwcca-theme-account-menu {
    display: none;
  }

}

/* Screens below 1040px */
@media screen and (max-width: 900px) {

  .topBlock .blockText {
    bottom: 40px;
  }

}


/* Small devices (phones, 600px and down) */
@media screen and (max-width: 600px) {
/* Homepage styles - mobile */
#topBlocks{
flex-flow:row wrap;
}
#topBlocks .topBlock {
    max-width:90%;
height: auto;
  }
img.blockBack{
object-fit:contain;
}
  .blockLink{
    bottom:10px;
  }
  .topBlock .blockText {
    bottom: 80px;
}
  .blockText .blockLink a {
    padding:10px 30px;
    width: 150px;
  }
.benefitList {
width:40%;
}
#membershipBenefits{
gap: 20px 0;
}
/* General Styles - mobile */
.alert.alert-block {
  width:100%;
  padding: 20px 0;
}
.table.table-minimal td, .table.table-minimal th {
  padding:10px;
  border-top: 1px solid #f1f1f1;
}

.table td, .table th {
  /* moved from .table-minimal */
  padding: 10px;
  border-top: 1px solid #f1f1f1;
}

/* Region Styles - mobile */
.layout-content, .layout-sidebar-second {
  min-width: calc(100% - 5vw);
  padding: 0 2.5%;
  flex: initial;
}

/* Paragraphs Styles - mobile */
/* Paragraph 2-col flexbox - mobile */
.paragraph--type--_-column-flexbox {
  flex-flow: row wrap;
}
.paragraph--type--_-column-flexbox > div {
  width: 100%;
}

}