@font-face {
  font-family: "Evogria";
  src: url("/fonts/Evogria.woff") format("woff"), url("/fonts/Evogria.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Gotham";
  src: url("/fonts/Gotham-Bold.woff2") format("woff2"), url("/fonts/Gotham-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gotham";
  src: url("/fonts/Gotham-BookItalic.woff2") format("woff2"), url("/fonts/Gotham-BookItalic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Gotham";
  src: url("/fonts/Gotham-Book.woff2") format("woff2"), url("/fonts/Gotham-Book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gotham";
  src: url("/fonts/Gotham-Medium.woff2") format("woff2"), url("/fonts/Gotham-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}


/* ------------------------------------------------------------ *\
	General
\* ------------------------------------------------------------ */

* {padding: 0; margin: 0; box-sizing: border-box;}
html {font-size: clamp(0px, 4vw, 15px); line-height: 1.4; height: 100%; background: white; scroll-behavior: smooth;}
body {font-family: "Gotham",serif; color: #231f20; font-size: 1rem;}
.container {max-width: 80rem; padding: 0 1rem; margin: 0 auto;}

div:not(.step_header) > h1, div:not(.step_header) > h2 {text-transform: uppercase; letter-spacing: 0.1em; font-size: 2rem;}
div:not(.step_header) > h2 {font-size: 1.8rem;}
div:not(.step_header) > h2:not(.noline) {position: relative; margin-bottom: 4.5rem;}
div:not(.step_header) > h2:not(.noline)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 0.15rem;
  width: 2.6rem;
  background-color: #4c5b68;
  margin-bottom: -1.8rem;
}
div:not(.step_header) > h3 {
  font-size: 1.1rem;
  font-family: "Evogria", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1d3766;
  font-weight: normal;
}
input[type="submit"], .button {
  appearance: none;
  font-family: "Evogria", sans-serif;
  color: white;
  background: #4c5b68;
  padding: 0 2.7rem;
  border: 0;
  border-radius: 3rem;
  text-transform: uppercase;
  font-weight: normal;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  height: 2.5rem;
  transition: background 0.1s ease-in-out;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  line-height: 2.5rem;
}
input[type="submit"]:hover, .button:hover {background: #36659f;}
img {max-width: 100%; height: auto;}

form > div {display: flex; gap: 0.5rem;}
form > div > div {display: flex; flex-grow: 1; flex-direction: column; align-items: stretch; margin-bottom: 0.5rem;}
form > div > div.half {width: calc(50% - 0.25rem);}
form > div input {
  background-color: #e7e8e9;
  padding: 0.35rem 1.2rem 0.35rem 0.7rem;
  border: 0;
  border-radius: 0;
  color: #939598;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  appearance: none;
  background-image: none;
  width: 100%;
}
form > div input::-webkit-input-placeholder,
form > div input::-moz-placeholder,
form > div input::placeholder { 
  color: inherit;
  opacity: 1;
}

form > input {margin-top: 1.75rem;}


/* ------------------------------------------------------------ *\
	Header
\* ------------------------------------------------------------ */

.header {position: relative; top: 0; background: white; font-family: "Gotham"; text-transform: uppercase; font-weight: bold; padding: 1rem 0; letter-spacing: 0.05rem;}
.header .container {display: flex; justify-content: space-between; align-items: center;}
.header .container .h1 a span {display: none;}
.header .container .h1 a img {height: 3.8rem; width: auto;}
.header .container > ul {display: flex; gap: 2.5rem;}
.header .container > ul li {list-style: none; position: relative; padding: 1rem 0;}
.header .container > ul li a, .header .container > ul li span {text-decoration: none; color: #555562;}
.header .container > ul li:hover > *, .header .container > ul li a:hover, .header .container > ul li span:hover {color: #23527c;}
.header .container > ul > li > ul > li > a {display: inline-block; position: relative;}
.header .container > ul > li > a::after,
.header .container > ul > li > ul > li > a::after {
  content: "";
  position: absolute;
  bottom: 0.95rem;
  left: 0;
  width: 100%;
  height: 0.15rem;
  background-color: #555562;
  transform: scaleX(0);
  transition: transform 0.3s;
}
.header .container > ul > li > ul > li > a::after {bottom: auto; top: calc(100% - 0.08rem);}
.header .container > ul > li > a:hover::after,
.header .container > ul > li > ul > li > a:hover::after {transform: scaleX(100%);}


.header .container > ul > li::before {content: ""; height: 1.25rem; width: 0.14rem; position: absolute; margin-left: -1.25rem; background: #555562; transform: translateX(-50%);}
.header .container > ul > li:first-child:before {content: none;}
.header .container > ul > li > ul {
  opacity: 0;
  position: absolute; 
  background: white; 
  z-index: 99; 
  padding: 1rem 1.5rem; 
  min-width: 100%; 
  box-shadow: 0px 0px 9px 2px rgba(77, 91, 105, 0.3); 
  margin-top: 1rem;
  transform: translateY(-1rem);
  transition: all 0.15s ease-in-out;
  pointer-events: none;
}
.header .container > ul > li > ul li {font-size: 0.85rem; white-space: nowrap; padding: 0.25rem 0;}
.header .container > ul > li:hover > ul {opacity: 1; transform: translateY(0); pointer-events: all;}
.header .container > a {display: none; position: relative; color: transparent; user-select: none; width: 2.5rem; height: 1.75rem; text-align: right; overflow: hidden;}
.header .container > a > span, .header .container > a::after, .header .container > a::before {
  content: ""; 
  width: 100%; 
  height: 0.2rem; 
  background: #555562; 
  display: block; 
  position: absolute; 
  top: 50%; 
  transform: translateY(-50%);
}
.header .container > a::before {transform: none; top: 0;}
.header .container > a::after {transform: none; top: auto; bottom: 0;}
body.showmenu .header .container > a > span {display: none;}
body.showmenu .header .container > a::before {transform: translateY(-50%) rotate(45deg); top: 50%;}
body.showmenu .header .container > a::after {transform: translateY(-50%) rotate(-45deg); bottom: auto; top: 50%;}
@media (max-width: 1000px) {
  .header .container > a {display: block;}
  .header .container > ul {display: none; position: absolute; top: 6rem; width: 100%; z-index: 9; background: white; left: 0; padding: 1rem 0 2rem;}
  .header .container > ul > li {padding: 1rem 1.5rem;}
  .header .container > ul > li::before {content: none;}
  .header .container > ul > li > ul {position: relative; box-shadow: none; pointer-events: all; margin-top: 0; opacity: 1!important; transform: none!important; padding-bottom: 0;} 
  body.showmenu .header .container > ul {display: block;}
  .header .container > ul > li a {position: relative;}
  .header .container > ul > li a::after {bottom: auto; top: calc(100% - 0.05rem);}
}

/* ------------------------------------------------------------ *\
	Hero
\* ------------------------------------------------------------ */

.hero {min-height: 20rem; background: silver; position: relative;}
.hero img {position: absolute; width: 100%; height: 100%; object-fit: cover;}
.hero::after {content: ""; position: absolute; opacity: 0.77; background-color: #4d5b68; width: 100%; height: 100%; top: 0;}
.hero .container {position: relative; z-index: 2; color: white; display: flex; align-items: center; max-width: 68rem; gap: 5rem;}
.hero .container > div {flex: 1; padding: 5rem 0;}
.hero .container h1 {text-align: center; margin-top: 6rem; margin-bottom: 1.5rem;}
.hero .container h1 span:nth-child(1) {display: inline-block; border-bottom: 0.2rem solid #4c5b68; margin-bottom: 0.25rem;}
.hero .container h1 span:nth-child(2) {display: inline-block;}
body.home .hero .container h1 {margin-top: 0; margin-bottom: 2.5rem;}
.hero .container p {text-align: center; line-height: 2; letter-spacing: 0.1em; margin-left: auto; margin-right: auto; margin-bottom: 1.75rem;}
.hero .container .button {margin-top: 1.15rem;}

body.home .hero .container p {max-width: 28rem;}
.hero .container .form {
  -webkit-filter: drop-shadow(1rem 1rem 0.5rem rgba(0, 0, 0, 0.4));
  filter: drop-shadow(1rem 1rem 0.5rem rgba(0, 0, 0, 0.4));
  max-width: 23rem;
}
.hero .container .form form {
  clip-path: polygon(0 0,100% 0,100% 100%,50% calc(100% - 1.5rem),0 100%);
  background-color: #fff;
  padding: 4rem 2.8rem 4.3rem;
}

@media (min-width: 60rem) {
.hero.image {background: #f1f1f2; min-height: 30rem; border-top: 0.2rem solid #4c5b68;}
.hero.image img {width: 50%; left: 50%; width: 40rem;}
.hero.image.left img {width: 50%; left: auto; right: 50%; width: 40rem;}
.hero.image::after {content: none;}
.hero.image .container {display: block;}
.hero.image .container h1 {color: #1d3766; text-align: left;}
.hero.image .container p {color: rgb(35, 31, 32); text-align: left;}
.hero.image .container > div {width: 50%; text-align: left; padding: 3rem 4rem 5rem 3rem;}
.hero.image.left .container > div {margin-left: 50%; padding: 3rem 3rem 5rem 4rem;}
}

@media (max-width: 60rem) {
  .hero .container {flex-direction: column; gap: 2rem;}
  body.home .hero .container > div:first-child {padding-bottom: 0;}
  .hero .container > div + div {padding-top: 0;}
  .hero .container h1 {margin-top: 0;}
  .hero .container h1 span:nth-child(1) {border-bottom-color: white;}
  .hero .container form {text-align: center;}
}




/* ------------------------------------------------------------ *\
	Makemodelselector
\* ------------------------------------------------------------ */

#makemodelselector {text-align: center;}
#makemodelselector h3 {color: #36659f;}
#makemodelselector .selects {margin: 1.5rem 0 3rem; position: relative;}
#makemodelselector .selects::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 0.15rem;
  width: 2.6rem;
  background-color: #4c5b68;
  margin-bottom: -1.5rem;
}
#makemodelselector select {
  background-color: #e7e8e9;
  padding: 0.35rem 1.2rem 0.35rem 0.7rem;
  border: 0;
  border-radius: 0;
  color: #939598;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  appearance: none;
  background-image: none;
  width: 8rem;
  display: block;
  margin: 0.25rem auto;
}
#makemodelselector .selects + input {margin-top: 0;}

/* ------------------------------------------------------------ *\
	Bullets
\* ------------------------------------------------------------ */

.hero_bullets {
  background: linear-gradient(to right, #121212 0%, #656363 100%);
  color: white; 
  text-align: center;
  clip-path: polygon(50% 2rem, 100% 0, 100% 100%, 0 100%, 0 0);
  margin-top: calc(-2rem - 1px);
  padding: 4.25rem 0 2.25rem;
}
.hero_bullets .container {align-items: center;}
.hero_bullets .container ul {display: flex; gap: 3rem; max-width: 65rem; justify-content: center; margin-left: auto; margin-right: auto;}
.hero_bullets .container ul li {list-style: none; font-size: 0.75rem; letter-spacing: 0.05rem; flex: 1;}
body.home .hero_bullets .container ul li {max-width: 14rem;}

@media (max-width: 45rem) {
  .hero_bullets .container ul {flex-direction: column; max-width: 100%; gap: 1rem;}
  body.home .hero_bullets .container ul li {max-width: 100%; padding-bottom: 0.5rem;}
  .hero_bullets .container ul li::before {content: "☑"; display: inline-block; margin-right: 0.5rem; font-size: 1.1rem; position: relative; top: 0.05rem;}
}


/* ------------------------------------------------------------ *\
  Main-content
\* ------------------------------------------------------------ */

.main-content {padding: 6.5rem 0; background: url(/img/section-bg.jpg) center top / 2000px auto repeat;}
.main-content .container > div {padding-left: 3rem; border-left: 0.15rem solid #4c5b68; max-width: 45rem; margin: 0 auto;}
.main-content .container > div h2 {margin-bottom: 1.5rem;}
.main-content .container > div h2::after {content: none;}
.main-content .container > div > *:not(h2) {line-height: 2;}
@media (max-width: 45rem) {
  .main-content .container > div {padding-left: 2rem;}
}

/* ------------------------------------------------------------ *\
	Reviews
\* ------------------------------------------------------------ */

.reviews {padding: 4rem 0 9rem; background: gray url(/img/section-bg2.jpg) center center / cover no-repeat; position: relative;}
.reviews::after {content: ""; position: absolute; opacity: 0.77; background-color: #4d5b68; width: 100%; height: 100%; top: 0;}
.reviews .carousel {position: relative; max-width: 35rem; margin: 0 auto; z-index: 2;}
.reviews .carousel ul li {text-align: right; padding: 1rem 0; font-size: 1.2rem; font-weight: 500; line-height: 1.5; display: flex; align-items: center;}
.reviews .carousel ul li > div {color: white;}
.reviews .carousel ul li > div p:first-child {border-left: 0.2rem solid white; padding-left: 1rem; margin: 0 1rem 2.5rem;}
.reviews .carousel ul li > div p:not(:first-child) {font-family: "Evogria", sans-serif; letter-spacing: 0.1em; font-size: 1.1rem;}
.reviews .carousel ol {left: auto; right: 0rem; transform: none; margin-bottom: -2.5rem;}
@media (max-width: 50rem) {
  .reviews .carousel {padding-left: 1rem!important; padding-right: 1rem!important;}
  .reviews .carousel ul li {text-align: center;}
  .reviews .carousel ul li > div p:first-child {margin-left: 0; margin-right: 0; padding-left: 0; border: 0;} 
  .reviews .carousel ol {right: 50%; transform: translateX(50%);}
  .reviews #next, .reviews #prev {display: none;}
}


/* ------------------------------------------------------------ *\
	Features
\* ------------------------------------------------------------ */
.features  {background: url(/img/section-bg3.jpg) center center / cover no-repeat; padding: 8rem 0; text-align: center;}
.features .container h2 { color: white; margin-bottom: 5.5rem;} 
.features .container h2::after {content: none;}
.features .container > ul {
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
  grid-gap: 2.5rem; 
  max-width: 53rem; 
  margin: 0 auto;
}
.features .container > ul li {
    list-style: none;
    background-color: #fff;
    padding: 2rem 2rem 2.5rem;
    letter-spacing: 0.05em;
    font-size: 1rem;
    border: 0.3rem solid #4c5b68;
    line-height: 2;
}
.features .container > ul li h3 { margin: 1.2rem 0 1.05rem; padding-bottom: 0.65rem; position: relative;}
.features .container > ul li h3::after {
  content: "";
  position: absolute; 
  left: 50%;
  bottom: 0;
  width: 9rem;
  height: 0.15rem;
  background: #55626e;
  transform: translateX(-50%);
}
.features .container > ul li .icon {width: 5rem; height: 4rem; margin: 0 auto; background: url(/img/icons/ico-ribbon.svg ) center center / auto 4rem no-repeat;}


/* ------------------------------------------------------------ *\
	Easy to protect your wallet
\* ------------------------------------------------------------ */

.easy {background: url(/img/section-bg.jpg) center top / 2000px auto repeat; padding: 7rem 0 5rem; text-align: center; border-bottom: 0.5rem solid white;}
.easy .container > div {display: flex; gap: 5rem; margin-bottom: 4rem; margin-top: -3rem; align-items: flex-end;}
.easy .container > div h3 {margin: 2rem 0 0;}
.easy .container > div img {clip-path: polygon(calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 0 100%, 0 0); min-width: 32rem; height: 18rem; object-fit: cover;}
.easy .container > div > div {text-align: left;}
.easy .container > div > div h2 {max-width: 30rem;}
.easy .container > div > div h2 span {display: block; font-style: italic; text-transform: none; font-size: 1.6rem; font-weight: 400; margin: 1.25rem 0 0;}
.easy .container > ul {display: flex; justify-content: center; padding: 1rem 0 0;}
.easy .container > ul li.box {
  list-style: none;
  flex: 1;
  max-width: 17rem;
  background-color: #fff;
  box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.45);
  padding: 1.5rem 2rem 2rem;
  letter-spacing: 0.05em; 
  font-size: 1.15rem;
  font-weight: 500;
}
.easy .container > ul li.line {list-style: none; width: 1.5rem; position: relative;}
.easy .container > ul li.line::after {content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 0.15rem; background: #4e5a65;}
.easy .container > ul li .icon {background: silver; width: 5rem; height: 3.2rem; margin: 0 auto;}
.easy .container > ul li:nth-child(1) .icon {background: url(/img/icons/step1.png) center center / auto 3.2rem no-repeat;}
.easy .container > ul li:nth-child(2) .icon {background: url(/img/icons/step2.png) center center / auto 3rem no-repeat;}
.easy .container > ul li:nth-child(3) .icon {background: url(/img/icons/step3.png) center center / auto 2.6rem no-repeat;}
.easy .container > ul li h3 {margin: 1.5rem 0 0.8rem;}
.easy .container > a:last-child {margin-top: 4rem;}

@media (max-width: 60rem) {
  .easy {padding-top: 0rem;}
  .easy .container > div {flex-direction: column; align-items: stretch; margin: 0 -1rem;}
  .easy .container > div > div {margin: 0 1rem; text-align: center;}
  .easy .container > div > div h2 {margin-left: auto; margin-right: auto;}
  .easy .container > div img {clip-path: polygon(100% 0, 100% calc(100% - 2rem), 50% 100%, 0 calc(100% - 2rem), 0 0); min-width: 0;}
  .easy .container > ul {flex-direction: column; align-items: center; padding-top: 2rem;}
  .easy .container > ul li.line {height: 1.5rem;}
  .easy .container > ul li.line::after {width: 0.15rem; height: 100%; left: 50%; top: 0;}
}


/* ------------------------------------------------------------ *\
	Checkmarks (additional plans)
\* ------------------------------------------------------------ */

.checkmarks {padding: 7rem 0 5rem; background: #333 url(/img/section-bg3.jpg) center center / cover no-repeat; color: white;}
.checkmarks .container {display: grid; grid-template-columns: 3fr 2fr; grid-gap: 5rem; max-width: 65rem;}
.checkmarks .container h2 {text-align: right; margin: auto 0;}
.checkmarks .container.centered h2 {text-align: center; grid-column-start: 1; grid-column-end: 3;}
.checkmarks .container h2::after {content: none;}
.checkmarks .container p {line-height: 2;}
.checkmarks .container ul {grid-column-start: 1; grid-column-end: 3; display: flex; flex-wrap: wrap;}
.checkmarks .container ul li {
  list-style: none;
  border-left: 0.15rem solid white;
  padding: 3.5rem 2rem 2rem;
  text-align: center;
  font-size: 1.1rem;
  font-family: "Evogria", sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  flex: 1;
  background: url(/img/icons/check-icon.png) center top / auto 2rem no-repeat;
}
.checkmarks .container ul li:first-child {border-left: 0;}
.checkmarks .container.centered:not(.row) ul {max-width: 40rem; margin: 0 auto 2rem;}
.checkmarks .container.centered:not(.row) ul li {min-width: 50%; border-top: 0.15rem solid white; padding: 5.5rem 2.75rem 3rem; background-position: center 2rem;}
.checkmarks .container.centered:not(.row) ul li:nth-child(odd) {border-left: 0;}
.checkmarks .container.centered:not(.row) ul li:nth-child(1), .checkmarks .container.centered ul li:nth-child(2) {border-top: 0;}

@media (max-width: 60rem) {
  .checkmarks {padding-top: 5rem;}
  .checkmarks .container {display: flex; gap: 3rem; flex-direction: column; text-align: center;}
  .checkmarks .container h2 {text-align: center;}
}
@media (max-width: 35rem) {
  .checkmarks .container.centered:not(.row) ul, .checkmarks .container ul {margin-left: -1rem; margin-right: -1rem; justify-content: center;}
  .checkmarks .container ul li {width: 50%; min-width: 50%; max-width: 50%; border-left: 0; padding-left: 1rem; padding-right: 1rem; margin-top: 1rem;}
  .checkmarks .container.centered:not(.row) ul li {border: 0;}
  .checkmarks .container.centered:not(.row) ul li {margin-top: 0; padding: 5.5rem 1rem 2rem 1rem;}
}


/* ------------------------------------------------------------ *\
	Routine (additional plans)
\* ------------------------------------------------------------ */

.routine {padding: 7rem 0 9rem; background: #333 url(/img/section-bg3.jpg) center center / cover no-repeat; color: white; text-align: center;}
.routine .container ul li {
  list-style: none; 
  max-width: 65rem; 
  text-align: left; 
  padding-bottom: 2.5rem;
  font-size: 1.15rem;
  display: grid; 
  grid-template-columns: 2fr 3fr; 
  grid-gap: 4rem;
}
.routine .container ul li h3 {text-align: right; color: white; margin: auto 0;}

/* ------------------------------------------------------------ *\
	Plans summary (home)
\* ------------------------------------------------------------ */

.plans_summary {padding: 8rem 0 3rem; background: #333 url(/img/section-bg3.jpg) center center / cover no-repeat; text-align: center; clip-path: polygon(50% 0px, 100% 2rem, 100% 100%, 0px 100%, 0px 2rem); margin-top: -2rem;}
.plans_summary h2 {margin-bottom: 2.5rem; color: white;}
.plans_summary h2::after {content: none;}
.plans_summary h2 + p {color: white; font-style: italic; font-size: 1.8rem; max-width: 40rem; margin: 0 auto;}
.plans_summary .container li {list-style: none;}
.plans_summary .container > ul {margin: 2rem 0; display: flex; align-items: center; justify-content: center; gap: 0.5rem;}
.plans_summary .container > ul > li {background: white; width: 16rem; padding: 2rem 1.5rem; border: 0.3rem solid #4c5b68;}
.plans_summary .container > ul > li > div:nth-child(1) {margin-bottom: 1rem;}
.plans_summary .container > ul > li > h3 {border-bottom: 0.15rem solid #55626e; padding-bottom: 1.25rem; margin-bottom: 1.75rem;}
.plans_summary .container > ul > li > h4 {font-weight: 500; font-size: 1rem;}
.plans_summary .container > ul > li > ul {margin: 0.5rem 0 1.25rem;}
.plans_summary .container > ul > li > ul li {padding: 0.4rem 0; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.05em;}
@media (max-width: 60rem) {
  .plans_summary .container > ul {flex-direction: column;}
  .plans_summary .container > ul > li {width: 100%;} 
  .plans_summary .container > ul > li > ul {columns: 12rem;}
}

/* ------------------------------------------------------------ *\
	Why
\* ------------------------------------------------------------ */

.why {padding: 3rem 0;}
.why .container {max-width: 65rem;}
.why .container > div:nth-child(1) {display: flex; padding-bottom: 3rem; align-items: center; gap: 2rem;}
.why .container > div:nth-child(1) > div {width: 50%; text-align: center;}
.why .container > div:nth-child(1) > div:nth-child(1) h2 {margin: 2rem 0 0; max-width: 30rem; text-align: left;}
.why .container > div:nth-child(1) > div:nth-child(1) h2::after {content: none;}
.why .container > div:nth-child(1) > div:nth-child(2) img {
  max-width: 100%;
  clip-path: polygon(2rem 0, 100% 0, 100% 100%, 2rem 100%, 0 50%);
  min-width: 32rem;
  height: 18rem;
  object-fit: cover;
}
.why .container > ul {
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  grid-gap: 1.75rem;
  margin: 4rem auto 5rem;
  max-width: 54rem;
}
.why .container > ul li {
  list-style: none;
  padding: 2rem 1.5rem;
  background: white;
  box-shadow: 0px 0px 1rem rgba(0, 0, 0, 0.4);
  font-size: 0.75rem; 
  font-weight: 500; 
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  border-left: solid 0.3rem #4c5b68;
}
.why .container > ul li h3 {line-height: 1.5; margin-bottom: 0.75rem; padding: 0 0.5rem;}
.why .container > div:nth-child(1).noimage {justify-content: center; padding-bottom: 0;}
.why .container > div:nth-child(1).noimage > div:nth-child(1) h2 {text-align: center;}
@media (max-width: 60rem) {
  .why {padding-top: 0;}
  .why .container {padding: 0;}
  .why .container > div:nth-child(1) {flex-direction: column-reverse; align-items: stretch; padding-bottom: 1.5rem;}
  .why .container > div:nth-child(1) > div {width: 100%; text-align: center;}
  .why .container > div:nth-child(1) > div:nth-child(1) {padding: 0 1rem;}
  .why .container > div:nth-child(1) > div:nth-child(1) img {max-width: 80%;}
  .why .container > div:nth-child(1) > div:nth-child(1) h2 {text-align: center; margin-left: auto; margin-right: auto;}
  .why .container > div:nth-child(1) > div:nth-child(2) img {clip-path: polygon(100% 0, 100% calc(100% - 2rem), 50% 100%, 0 calc(100% - 2rem), 0 0); width: 100vw; min-width: 0;}
  .why .container > ul {padding: 0 1rem;}
  .why .container > div:nth-child(1).noimage {padding-top: 4rem;}
}

/* ------------------------------------------------------------ *\
	Components
\* ------------------------------------------------------------ */

.components > div:nth-child(1) {display: flex; align-items: center; background: linear-gradient(to right, #1b1c1c 20%, #535353 55%); justify-content: flex-end;}
.components > div:nth-child(1) h2 {color: white; text-align: right; word-spacing:9999px; padding-right: 5rem; letter-spacing: 0.2em; margin: 0; line-height: 1.6;}
.components > div:nth-child(1) h2::first-line {font-size: 7rem; line-height: 1.3;}
.components > div:nth-child(1) h2::after {content: none;}
.components > div:nth-child(1) > div:nth-child(2) {min-width: 50%;}
.components > div:nth-child(1) img {
  max-width: 100%; 
  clip-path: polygon(4rem 0,100% 0, 100% 100%, 4rem 100%, 0 50%); 
  width: 100%; 
  display: block; 
  object-fit: cover; 
  aspect-ratio: 2;
  min-height: 25rem;
  max-height: 40rem;
}
.components > .container {position: relative; margin-top: 4rem; margin-bottom: 4rem; display: flex; gap: 3rem;}
.components > .container > div:nth-child(1) {display: flex; flex-direction: column;}
.components > .container > div:nth-child(1) a {
  cursor: pointer; 
  padding: 1.25rem 2rem; 
  width: 25rem; 
  border: 0.15rem solid #606a76; 
  margin-bottom: 1rem;
  font-size: 1.1rem;
  font-family: "Evogria", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1d3766;
  font-weight: normal;
  text-decoration: none;
}
.components > .container > div:nth-child(1) a.selected {
  background: #1d3766;
  color: white;
  border-color: #1d3766;
}
.components > .container > div:nth-child(2) {width: 100%; max-width: 40rem;}
.components > .container > div:nth-child(2) > div {
  border: 0.15rem solid #606a76; 
  padding: 0 3rem 2.25rem; 
  display: none;
  font-size: 0.8rem;
  font-weight: normal;
  letter-spacing: 0.1em;
}
.components > .container > div:nth-child(2) > div::before {
  content: "";
  height: 0.14rem;
  background: #4c5b68;
  width: 3.25rem;
  position: absolute;
  margin: 2rem 0 0 -6.25rem;
}
.components > .container > div:nth-child(2) > div li {padding: 0.35rem 0;}
.components > .container > div:nth-child(2) > div h3 {
  border-top: 1.25rem solid white; 
  color: white; 
  background: #4c5b68;
  margin: 0 -3rem 1.25rem;
  padding: 1.25rem 3rem;
}
.components > .container > div:nth-child(2) > div h3::after {
  content: "Covered components"; 
  border-left: 0.15rem solid white; 
  display: inline-block;
  margin-left: 1rem;
  padding-left: 1.25rem;
}
.components > .container > div:nth-child(2) > div:nth-child(1) {margin-top: calc(5.31rem * 0);}
.components > .container > div:nth-child(2) > div:nth-child(2) {margin-top: calc(5.31rem * 1);}
.components > .container > div:nth-child(2) > div:nth-child(3) {margin-top: calc(5.31rem * 2);}
.components > .container > div:nth-child(2) > div:nth-child(4) {margin-top: calc(5.31rem * 3);}
.components > .container > div:nth-child(2) > div:nth-child(5) {margin-top: calc(5.31rem * 4);}
.components > .container > div:nth-child(2) > div:nth-child(6) {margin-top: calc(5.31rem * 5);}
.components > .container > div:nth-child(2) > div:nth-child(7) {margin-top: calc(5.31rem * 6);}
.components > .container > div:nth-child(2) > div:nth-child(8) {margin-top: calc(5.31rem * 7);}
.components > .container > div:nth-child(2) > div:nth-child(9) {margin-top: calc(5.31rem * 8);}
.components > .container > div:nth-child(2) > div:nth-child(10) {margin-top: calc(5.31rem * 9);}

@media (max-width: 60rem) {
  .components > div:nth-child(1) {flex-direction: column-reverse;}
  .components > div:nth-child(1) img {clip-path: polygon(100% 0, 100% calc(100% - 2rem), 50% 100%, 0 calc(100% - 2rem), 0 0); min-height: auto;}
  .components > div:nth-child(1) h2 {padding: 0rem 0 2rem; text-align: center; transform: scale(0.8);}
  .components > .container > div:nth-child(1) {display: none;}
  .components > .container > div:nth-child(2) > div::before {content: none;}
  .components > .container > div:nth-child(2) > div {display: block!important;}
  .components > .container > div:nth-child(2) > div + div {margin-top: 2rem!important;}
}
@media (max-width: 45rem) {
  .components > .container > div:nth-child(2) > div h3::after {content: none;}
}


/* ------------------------------------------------------------ *\
	FAQs
\* ------------------------------------------------------------ */

@keyframes animate {
  from {grid-template-rows: 0fr;}
  to {grid-template-rows: 1fr;}
}
.faqs {background: url(/img/section-bg.jpg) center top / 2000px auto repeat; padding: 5rem 0; text-align: center;}
.faqs details {
  text-align: left; 
  max-width: 55rem; 
  margin: 0.75rem auto; 
  background: #e7e8e9; 
  color: #231f20;
}
.faqs details:nth-child(even) {background: #cbcdcf;}
.faqs details summary {
  color: #1d3766; 
  font-size: 1.1rem;
  font-family: "Evogria", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: normal;
  padding: 1.75rem 3rem;
  cursor: pointer;
}
.faqs details > div {display: grid; grid-template-rows: 0fr;}
.faqs details[open] > div {animation: animate 0.15s 0s 1 normal forwards;}
.faqs details > div > div {padding: 0rem 3rem 0rem; overflow: hidden; position: relative; margin-top: -0.5rem;}
.faqs details > div > div > *:last-child {margin-bottom: 2.25rem;}
.faqs img {margin-top: 5.5rem; max-width: 80%;}
.faqs + .faqs:nth-child(even) {background: white;}
.faqs details a {color: #231f20; text-decoration: underline;}
@media (max-width: 40rem) {
  .faqs details summary,
  .faqs details > div > div {padding-left: 2rem; padding-right: 2rem;}
  .faqs details > div > div {margin-top: -0.75rem;}
}

/* ------------------------------------------------------------ *\
	Footer
\* ------------------------------------------------------------ */

.footerform {
  text-align: center; 
  padding: 7rem 0 3rem;
  clip-path: polygon(0% 4rem, 50% 0%, 100% 4rem, 100% 100%, 0% 100%);
  margin-top: -4rem;
  background: white;
}
.footerform form {margin-bottom: 4rem;}
.footerform form > div {display: block;}
.footerform img {display: inline-block; max-width: 80%;}
.footerform h3 {font-size: 1.5rem;}
.footerform #makemodelselector select {display: inline-block; margin-left: 0.2rem; margin-right: 0.2rem;}
.footerform #makemodelselector .selects {transform: scale(120%); margin-bottom: 3.75rem; max-width: 90%; margin-left: auto; margin-right: auto;}
@media (max-width: 40rem) {
  .footerform {clip-path: polygon(0% 2rem, 50% 0%, 100% 2rem, 100% 100%, 0% 100%);}
}


/* ------------------------------------------------------------ *\
	Footer
\* ------------------------------------------------------------ */

.footer {background: #4c5b68; color: white; padding: 4rem 0;}
.footer .container {display: flex; gap: 5rem; line-height: 2;}
.footer .container ul li {list-style: none;}
.footer .container a {color: white; text-decoration: none;}
.footer .container > div {flex: 1;}
.footer .container > div:nth-child(1) {white-space: nowrap;}
.footer .container > div:nth-child(2) {flex: 2;}
.footer .container > div:last-child {flex: 3; line-height: 1.4;}

@media (max-width: 50rem) {
  .footer .container {gap: 3rem; flex-direction: column;}
}



/* ------------------------------------------------------------ *\
	Calculator
\* ------------------------------------------------------------ */

.calculator {padding: 5rem 0 5rem; text-align: center;}
.calculator h2 {margin: 0 auto 3rem; max-width: 40rem;}
.calculator .container warranty-purchase {text-align: left;}