/* ------------------------------------------------------------ *\
	Granger Web Colors. Class not used in code, just for reference
\* ------------------------------------------------------------ */
.palette {
  color: #000000; /* Black */
  color: #ffffff; /* White */
  color: #0c5ba9; /* Brilliant Blue */
  color: #93b8cb; /* Cloud */
  color: #d4dedf; /* Soft Blue */
  color: #747577; /* Slate Gray */
}


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

* {padding: 0; margin: 0; box-sizing: border-box; letter-spacing: -.05rem}
html {font-size: clamp(0px, 4vw, 16px); line-height: 1.4; height: 100%; background: white; scroll-behavior: smooth;}
body {font-family: "Open Sans", serif; color: #000000; font-size: 1.09rem;}
p {font-size: 1.1rem; line-height: 1.5; margin-bottom: 1.5rem; text-align: left}
.container {max-width: 80rem; padding: 0 1rem; margin: 0 auto;}
body.nothome .header {padding: 1rem 0;}
div:not(.step_header) > h1, div:not(.step_header) > h2 {line-height: 1.25; font-size: 1.8rem;}
div:not(.step_header) > h2 { color: #0c5ba9}
div:not(.step_header) > h2:not(.noline) {position: relative; margin-bottom: 3rem;}
div:not(.step_header) > h2:not(.noline)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 0.1rem;
  width: 4rem;
  background-color: #dd392a;
  margin-bottom: -1.5rem;
}

.no_overflow {overflow: hidden!important;}
.margin-auto {margin: auto;}
.red-sideborder {padding-left:2rem; border-left: 2px solid #dd392a;} 

.grid {display: grid;}
.flex-initial {flex-direction: initial!important;}
.mw-55 {max-width: 55rem;}

.blog > h2::after  {
width: 100%!important;
height: 2px!important;
background-color: #dadada!important;
}

.blog > h1 {letter-spacing: 0!important;}
.blog > h2 { margin-top: 2rem;}

.blog > h3 {
  font-family: "Open Sans", sans-serif!important;
  font-size: 1.3rem!important;
  margin-top: 2rem;
  margin-bottom:1rem;
}

.blog ul {margin-bottom:2rem}
div:not(.step_header) > h3 {
  font-size: 1.1rem;
  font-family: "Open Sans", sans-serif;
  color: #0c5ba9;
  font-weight: normal;
}
input[type="submit"], .button {
  appearance: none;
  font-family: "Open Sans", sans-serif;
  color: white;
  background: linear-gradient(180deg, #dd392a, #ff4231);
  padding: 0 1.4rem;
  border: 2px solid #dd392a;
  border-radius: 8px;
  font-weight: normal;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  height: 1;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  line-height: 2.2rem;
  max-height: 44px;
}

input[type="submit"]:hover, .button:hover {
  background: linear-gradient(0deg, #ef3f2f, #f96060);
}

.white {color: white!important;}
.brochure {margin-bottom:0!important;}
img {max-width: 100%; height: auto;}

form > div {display: flex; gap: 1rem;}
form > div > div {display: flex; flex-grow: 1; flex-direction: column; align-items: stretch; margin-bottom:.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.8rem;
  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;}

#form-status {
  text-align: center;
  color: gray;
}

.center { text-align: center}

li::marker { color: #0c5ba9; }

.h-20 {height: 20rem;}

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

.header {transition: 0.4s ease; position: sticky; top: 0; background:rgba(255, 255, 255, 0.95); font-family: "Open Sans"; text-transform: none; font-weight: bold; padding: 0rem 0; border-bottom: 2px solid #0c5ba9; z-index: 100000; box-shadow: 0 0 5px 0 rgba(0,0,0,.5);}
.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; margin-right: 2rem; padding-top: .5rem; }
.header .container > ul {display: flex; gap: 2.25rem; padding-right:1rem;}
.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.75rem;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #23527c;
  transform: scaleY(0);
  transition: transform .25s;
  
}
.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:first-child:before {content: none;}
.header .container > ul > li > ul {
  opacity: 0;
  position: absolute; 
  background: white; 
  z-index: 99; 
  padding: 1rem .75rem; 
  min-width: 100%; 
  box-shadow: 0px 0px 9px 2px rgba(77, 91, 105, 0.25); 
  margin-top: .0rem;
  transform: translateY(0);
  transition: all .25s ease-in-out;
  pointer-events: none;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  border-top:3px solid #0c5ba9;
}
.header .container > ul > li > ul li {font-size: 0.8rem; 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: #23527c; 
  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%;}
.header .container > ul li.active > a, 
.header .container > ul li.active > span,
.header .container > ul li:hover > *, 
.header .container > ul li a:hover, 
.header .container > ul li span:hover {
    color: #23527c;
}

.header .container > ul > li.active > a::after,
.header .container > ul > li > a:hover::after,
.header .container > ul > li > ul > li > a:hover::after {
    transform: scaleX(100%);
}
@media (max-width: 1000px) {
  .header .container > a {display: block;}
  .header .container > ul {display: none; position: absolute; top: 4rem; width: 100%; z-index: 9; background: white; left: 0; padding: 1rem 0 2rem; height:100vh; overflow-y: hidden;  font-size:1.4rem}
  .header .container > ul > li {padding: .5rem 2rem;}
  .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: 25rem; position: relative;}
.hero img {position: absolute; width: 100%; height: 100%; object-fit: cover;}
.hero::after {content: ""; position: absolute; opacity: .75; background-color: #527aa3; width: 100%; height: 100%; top: 0;}
.hero .container {position: relative; z-index: 2; color: white; display: flex; align-items: center; max-width: 64rem; gap: 5rem;}
.hero .container > div {padding: 5rem 0;}
.hero-title {padding-top:1rem; }
.hero .container h1 {text-align: center; margin-bottom: 1.5rem;  }
.hero .container .makemodel {font-weight:600; }
.quote-title {margin-bottom:0rem!important}
.hero .container h1 span:nth-child(1) {display: inline-block;  }
body.home .hero .container h1 {margin-bottom: 1rem; line-height: 1.25;font-size:2.25rem}
.hero .container p {font-size: 1.4rem; text-align: center; line-height: 1.25;  margin-left: auto; margin-right: auto;}
.hero .container .button {margin-top: 0rem; margin-bottom:1rem}
body.home .hero .container p {max-width: 28rem;}
.hero .container .form {
  -webkit-filter: drop-shadow(1rem 1rem.5rem rgba(0, 0, 0, 0.4));
  filter: drop-shadow(1rem 1rem.5rem rgba(0, 0, 0, 0.4));
}
.hero .container .form form {
  background-color: #fff;
  padding: 2rem 2.5rem 2rem;
  border-radius: 1rem;
  border: 1px solid #e6e6e6;
}

@media (min-width: 60rem) {
.hero.image {min-height: 30rem; }
.hero.image img {width: 50%; left: 50%; width: 40rem;}
.hero.image.left img {width: 50%; left: auto; right: 50%; width: 40rem;}
.hero.image .container {display: block;}
.hero.image .container h1 {text-align: left;}
.hero.image .container p {text-align: left;}
.hero.image .container > div {width: 50%; text-align: left; padding: 3rem 1rem 4rem 1rem;}
.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 > div {padding-top: 0rem; padding-bottom: 4rem}
  .hero .container h1 {margin-top: 2rem; margin-left:2rem;margin-right:2rem; font-size:2rem!important}
  .hero .container h1 span:nth-child(1) {border-bottom-color: white;}
  .hero .container form {text-align: center;}
  .hero .container h1.makemodel {margin-top: 0rem; font-weight:600; color: white!important}
}

.vehicle_title {
  height: 100%; padding: 0; position: relative; display: flex; flex-direction: column; justify-content: center;
}


.vehicle { 
  max-height: 20rem!important; 
  min-height: 20rem!important; 
  padding-top: 1rem!important; 
  padding: bottom 1rem!important;
}

.contain {object-fit: contain!important;}


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

.hero-blog {min-height: 50vh; position: relative; display: flex;
  flex-direction: column;
  justify-content: flex-end; /* Align at the bottom of the container */}
.hero-blog img {position: absolute; width: 100%; height: 100%; object-fit: cover;}
.hero-blog::after {content: ""; position: absolute; opacity: 0.7;   background: linear-gradient(to top, black, #4d5b68); width: 100%; height: 100%; top: 0;}
.hero-blog .container {position: relative; z-index: 2; color: white; display: flex; align-items: center; width: 100%; gap: 5rem;}
.hero-blog .container > div {flex: 1; padding-left:2rem; padding-right:20rem}
.hero-blog .container h1 {text-align: center; margin-top: 6rem; margin-bottom: 1.5rem; font-family: "obviously", sans-serif; font-size: 3rem; line-height: 3.5rem;}
.hero-blog .container h1 span:nth-child(1) {display: inline-block; border-bottom: 0.2rem solid #93b8cb; margin-bottom: 0.25rem;}
.hero-blog .container h1 span:nth-child(2) {display: inline-block;}
body.home .hero-blog .container h1 {margin-top: 0; margin-bottom: 2.5rem;}
.hero-blog .container p {text-align: left; line-height: 1.5; letter-spacing: 0.1em; margin-left: auto; margin-right: auto; margin-bottom: 1.75rem; font-size:1rem}
.hero-blog .container .button {margin-top: 1.15rem;}
.hero-blog .container .form {
  -webkit-filter: drop-shadow(1rem 1rem.5rem rgba(0, 0, 0, 0.4));
  filter: drop-shadow(1rem 1rem.5rem rgba(0, 0, 0, 0.4));
  max-width: 23rem;
}
.hero-blog .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.5rem 4.3rem;
}

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

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

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

#makemodelselector {text-align: center;}
#makemodelselector h3 {color: #0c5ba9!important; font-size: 1.4rem;}
#makemodelselector .selects {position: relative; margin-top: 1rem; margin-bottom:1.5rem}
#makemodelselector select {
  font-family: "Open Sans";
  padding: 0.35rem 1.2rem 0.35rem 0.7rem;
  color: #000000;
  font-size: 1em;
  line-height: 1.5rem;
  letter-spacing: normal;
  text-transform: capitalize;
  appearance: none;
  background-image: none;
  min-width: 8rem;
  display: block;
  margin: 0.25rem auto;
  border-bottom: 1px solid #d4dedf;
  border-top: 0px solid white;
  border-left: 0px solid white;
  border-right: 0px solid white;
}
#makemodelselector .selects + input {margin-top: 0;}

#errorDiv {display: none; color: #dd392a;}
#noErrorDiv {display:block; color: black;}

.display-none {display: none;}

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

.hero_bullets {
  background:#09437d;
  background: linear-gradient(90deg, rgba(12,91,169,1) 0%, rgb(7, 48, 90) 100%);
  color: white; 
  text-align: center;
  padding: 2rem;
  border-top: .1rem solid #0c5ba9;
  border-bottom: .1rem solid #93b8cb;
  position: relative;
  z-index: 2;
}
.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: 1.1rem; flex: 1; font-weight: 700}
body.home .hero_bullets .container ul li {max-width:16rem;}
.hero_bullets .container ul li::before {content: "✔"; display: inline-block; font-weight: normal; color: #dd392a; margin-right:.5rem; font-size: 1.1rem; position: relative; top: 0.05rem;}

@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:.5rem;}
}

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

.main-content {padding: 3rem 0; background-color: white}
.main-content .container > div {padding-left: 3rem; border-left: 0.15rem solid #dd392a; max-width: 53rem; 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: 1.5;}
@media (max-width: 45rem) {
  .main-content .container > div {padding-left: 2rem;}
}

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

.reviews-title {text-align: center; color: white!important; position: relative; z-index: 3;}
.reviews-subtitle {display: flex; justify-content: center; text-align:center; color:white; position: relative; z-index: 3;}
.reviews {padding: 1rem 0 1rem;  position: relative;}

.reviews .carousel {position: relative; max-width: 45rem; margin: 0 auto; z-index: 2; overflow: hidden;}
.reviews .carousel ul li {text-align: center; padding: 1rem 0; font-weight: 400; line-height: 1.2; display: flex; align-items: center;}
.reviews .carousel ul li > div {color: white;}
.reviews .carousel ul li > div p:first-child { line-height:1.2; font-size: 1.25rem; font-weight:bold; padding-right: 5rem; padding-left:5rem; margin: 0 0rem 2.5rem;}
.reviews .carousel ul li > div p:not(:first-child) {font-size: 1.1rem; margin: 0 5rem 2.5rem;}
.reviews .carousel ol {left: auto; right: 0rem; transform: none; margin-bottom: -2.5rem;}
@media (max-width: 60rem) {
  .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;}
  .reviews .carousel ul li > div p:first-child {padding-right: 0; padding-left:0; margin: 0 0rem 2.5rem;}
  .reviews .carousel ul li > div p:not(:first-child) {margin: 0 0rem 0rem;}
  .carousel .prev, .carousel .next {display: none!important;}
}

/* ------------------------------------------------------------ *\
	Why Us - Reviews
\* ------------------------------------------------------------ */
.reviews-full {display: flex; align-items: center; justify-content: center; height: 86vh; background: gray url(/uploads/image-22.jpg) center center / cover no-repeat; position: relative;}
.reviews-full-title {text-align: center; color: white; z-index: 3; position: relative;}
.reviews-full-subtitle { text-align:center; color:white;z-index: 3; position: relative }
.reviews-full::after {content: ""; position: absolute; opacity: 0.77; background-color: #4d5b68; width: 100%; height: 100%; top: 0;}
.button-reviews a  {position: relative; z-index: 3}
.button-reviews a:hover {cursor: pointer}
.testimonial-column-full { width: 100%; padding: 0rem; box-sizing: border-box;}

/* ------------------------------------------------------------ *\
  Why Us - Reviews Video Modal pop-up
\* ------------------------------------------------------------ */
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); z-index: 100;}
.modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #000000; padding: 0px; border-radius: 5px; margin-top:4rem;}
.close { position: absolute; top: 10px; right: 15px; font-size: 20px; cursor: pointer; }

/* ------------------------------------------------------------ *\
	Features
\* ------------------------------------------------------------ */
.features  {background-color:#0c5ba9; padding: 3rem 0; text-align: center;}
.features .container h2 { color: white; margin-bottom: 5.5rem; font-size:2rem;} 
.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: 1.1rem;
    border: 0.3rem solid #93b8cb;
    line-height: 1.5;
}
.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: rgb(255,255,255);
  background: linear-gradient(180deg, rgba(12,91,169,1) 0%,rgba(12,91,169,1) 50%, rgba(147,184,203,1) 85%, rgba(255,255,255,1) 100%);  padding: 0rem 0 1rem; text-align: center; border-bottom:.5rem solid white;}
.easy .container > div { margin-top: -3rem; align-items: center;}
.easy .container > div h3 {margin: 2rem 0 0;}
.easy .container > ul li.box h3 {font-size:1.25rem}
.easy  img {  margin-bottom:2rem;max-height: 18rem; width: 100% ; object-fit: cover;  }
.easy .container > div > div {align-content: center;}
.easy .container > div > div h2 { margin-top: 4rem; color: white }
.easy .container > div > div h2 span {display: block; 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; gap: 2rem; list-style:none;}
.easy .container > ul li.box {
  list-style: none;
  flex: 1;
  max-width: 20rem;
  background-color: #fff;
  box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.25);
  padding: 1.5rem 1rem 2rem;
  font-size: 1.1rem;
  font-weight: 500;
  border-radius: 8px;
  position: relative; 
  border:1px solid #e6e6e6;
}

.easy .container > ul li.box::before {
  content: counter(item);
  counter-increment: item; 
  position: absolute;
  top: -1rem; 
  left: -1rem; 
  width: 2.5rem;
  height: 2.5rem;
  background-color: white;
  color: #dd392a;
  border: 2px solid #dd392a;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 2.5rem;
  text-align: center;
  border-radius: 50%;
}

/* Reset the counter at the start of the list */
.easy .container > ul {
  counter-reset: item;
}

.easy .container > h3 {margin-bottom: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; }
  .easy .container > div > div h2 {margin-top: 0; margin-left: auto; margin-right: auto; }
  .easy .container > ul {flex-direction: column; align-items: center; padding-top: 1rem;}
  .easy .container > ul li.line {height: 1.5rem;}
  .easy .container > ul li.line::after {width: 0.15rem; height: 100%; left: 50%; top: 0;}
  .easy .container > div img { max-height: 20rem; width: 100% }
  .easy .container > ul li.box {
    list-style: none;
    flex: 1;
    min-height: 8rem;
    align-content: center;
    box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.25);
    padding: 1.5rem 1rem 2rem;
    font-size: 1.1rem;
    font-weight: 500;
    border-radius: 8px;
    position: relative; 
  }
}

/* ------------------------------------------------------------ *\
	Easy More
\* ------------------------------------------------------------ */

.easy_more {padding-bottom: 3rem;}
.easy_more .container {max-width: 65rem;}
.easy_more .container > div:nth-child(1) {padding-bottom: 1rem; align-items: center; }
.easy_more .container > div:nth-child(1) > div {width: 100%; text-align: center;}

.easy_more .container > ul {
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  grid-gap: 1.75rem;
  margin: 0rem auto 2rem;
  max-width: 64rem;
}
.easy_more .container > ul li {
  list-style: none;
  padding: 0rem 1rem;
  font-weight: normal; 
  line-height: 1.5;
  text-align: left;
  color: black;
}

.easy_more .container > ul li:not(:last-child) {border-right:1px solid;margin-right:-20px}
.easy_more .container > div > div > p {text-align: center;}
.easy_more .container > ul li h3 {font-size: 1.25rem; line-height: 1; margin-bottom: 1rem; padding: 0 0rem; font-weight:bold}
.easy_more .container > div:nth-child(1).noimage {justify-content: center; padding-bottom: 0;}
.easy_more .container > div:nth-child(1).noimage > div:nth-child(1) h2 {text-align: center;}
@media (max-width: 60rem) {
  .easy_more {padding-top: 0;}
  .easy_more .container {padding: 0;}
  .easy_more .container > div:nth-child(1) {flex-direction: column-reverse; align-items: stretch; }
  .easy_more .container > div:nth-child(1) > div {width: 100%; text-align: center;}
  .easy_more .container > div:nth-child(1) > div:nth-child(1) {padding: 0 1rem;}
  .easy_more .container > div:nth-child(1) > div:nth-child(1) h2 {text-align: center; margin-left: auto; margin-right: auto;}
  .easy_more .container > ul {padding: 0 1rem;   grid-template-columns:none;}
  .easy_more .container > div:nth-child(1).noimage {padding-top: 4rem;}
  .easy_more .container > ul li:not(:last-child) {border-right:0px solid;margin-right:1rem}
}

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

.blue_bg {background: radial-gradient(80.99% 100% at 50% 0%, #0c3b73 0%, #0c5ba9 100%), 
  radial-gradient(50% 123.47% at 50% 50%, #0a3e5c 0%, #0c5ba9 100%), 
  linear-gradient(301.28deg, #0c5ba9 0%, #0a2b48 100%), 
  linear-gradient(294.84deg, #0c3b73 0%, #0c5ba9 100%), 
  linear-gradient(52.29deg, #0a2b48 0%, #0c3b73 100%), 
  radial-gradient(100% 138.69% at 100% 0%, #0c5ba9 0%, #0a3e5c 100%), 
  radial-gradient(70.41% 100% at 50% 0%, #0c5ba9 0%, #0a2b48 100%); color: white!important; 
  padding-top: 2rem; padding-bottom: 2rem}

.checkmarks {padding: 7rem 0 5rem; background-color: #0c5ba9; 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: 1.5;}
.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: "Open Sans", sans-serif;
  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;}

/* ------------------------------------------------------------ *\
  Text-block (home)
\* ------------------------------------------------------------ */

.text-block {background-color: white; padding:2rem 0;}
.text-block .container {text-align: center; justify-content: center;align-items: center;max-width: 57rem;}
.text-block h2 {text-align: center;justify-content: center;margin-bottom: 2rem;}
.text-block p {text-align: center;justify-content: center;margin-bottom:1rem; margin-top: 1rem;}
.text-block li {
  list-style: none;
  font-weight: bold;
  text-align: center;
  padding: .5rem 0;
  font-size: 1.1rem;
  border-bottom: 1px solid lightgray;
}
.text-block .container > ul {margin: 2rem 8rem; }
.text-block-left {width: 80%;}

@media (max-width: 60rem) {
  .text-block .container > ul {border-left: none;margin: 0rem 0rem; }
  .text-block li {font-size: 1.1rem; padding:.5rem 0; }
  .text-block-left {width: 95%;}
}

/* ------------------------------------------------------------ *\
  Text-block (list)
\* ------------------------------------------------------------ */

.text-block-protection {background-color: white; padding:3rem 0}
.text-block-protection .container {text-align: center; justify-content: center;align-items: center;max-width: 57rem;}
.text-block-protection h2 {text-align: center;justify-content: center;margin-bottom: 2rem;}
.text-block-protection p {text-align: center;justify-content: center;margin-bottom:1rem;margin-top: 1rem;}
.text-block-protection li {
  list-style: none;
  font-weight: bold;
  text-align: center;
  padding: .5rem;
  font-size:1.25rem;
}
.text-block-protection .container > ul {
  margin: 2rem 4rem;  
  align-items: center; 
  justify-content: center; 
  }

@media (max-width: 60rem) {.text-block-protection .container > ul {border-left: none; margin: 2rem 1rem; }}


/* ------------------------------------------------------------ *\
	Save Money (home)
\* ------------------------------------------------------------ */

.save_money {padding: 0rem 0 2rem; text-align: center; }
.save_money h2 {margin-bottom: 1rem; color: white!important;}
.save_money h2::after {content: none;}
.save_money p {color: white; font-size: 1.6rem; max-width: 40rem; margin: 0 auto;}
.save_money h2 + p {padding-bottom: 2rem; color: white; text-align:center; font-style:normal; font-size: 1.1rem; max-width: 35rem; margin: 0 auto;}
.save_money .container li {list-style: none;}
.save_money .container > ul {margin: 2rem 0; display: flex; align-items: center; justify-content: center; gap:.5rem;}
.save_money .container > ul > li {background: white; width: 16rem; padding: 2rem 1.5rem; border: 0.3rem solid #93b8cb; border-radius:10px;}
.save_money .container > ul > li > div:nth-child(1) {margin-bottom: 1rem;}
.save_money .container > ul > li > h3 {border-bottom: 0.15rem solid #55626e; padding-bottom: 1.25rem; margin-bottom: 1.75rem;}
.save_money .container > ul > li > h4 {font-weight: 500; font-size: 1.1rem;}
.save_money .container > ul > li > ul {margin:.5rem 0 1.25rem;}
.save_money .container > ul > li > ul li {padding: 0.4rem 0; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.05em;}
@media (max-width: 60rem) {
  .save_money .container > ul {flex-direction: column;}
  .save_money .container > ul > li {width: 100%;} 
  .save_money .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 {text-align: center;}
.why .container > div:nth-child(1) > div:nth-child(1) h2 {margin: 2rem 0 0; color: white;}
.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.1);
  font-size: 0.8rem; 
  font-weight: 500; 
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  border-radius: 8px;
  border:1px solid #e6e6e6;
  color: black;
}
.why .container > ul li h3 {line-height: 1.25; margin-bottom:.5rem; padding: 0.5rem; color:#0c5ba9}
.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;}
}

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

.components > div:nth-child(1) {display: flex; align-items: center; background-color: #0c5ba9; justify-content: flex-end;}

.components > div:nth-child(1) {display: flex; align-items: center; background-color: #0c5ba9; justify-content: flex-end;}
.components > div:nth-child(1) h2 {color: white; text-align: right; word-spacing:9999px; padding-right: 5rem;  margin: 0; line-height: 1;}
.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; 
  border-radius:10px;
  padding: 1.25rem 2rem; 
  width: 25rem; 
  border: 0.15rem solid #e6e6e6; 
  margin-bottom: 1rem;
  font-size: 1.1rem;
  font-family: "Open Sans", sans-serif;
  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 #e6e6e6; 
  padding: 0 3rem 1rem; 
  display: none;
  font-size: 0.9rem;
  font-weight: normal;
  border-radius: 10px;
}
.components > .container > div:nth-child(2) > div::before {
  content: "";
  height: 0.14rem;
  background: #1d3766;
  width: 3.25rem;
  position: absolute;
  margin: 2rem 0 0 -6.25rem;
}
.components > .container > div:nth-child(2) > div li {padding: 0.15rem 0; }
.components > .container > div:nth-child(2) > div h3 {
  color: #0c5ba9; 
  margin: 0 -3rem -1rem;
  padding: 1.25rem 2rem;
  font-weight: bold;
}
.components > .container > div:nth-child(2) > div h3::after {
  content: "Covered components"; 
  border-left: 0.15rem solid white; 
  display: inline-block;
  padding-left: .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 { padding: 2rem 0; text-align: center;}
.faqs details {
  text-align: left; 
  max-width: 75rem; 
  margin:.5rem auto; 
  border-bottom: 2px solid #e7e8e9; 
  color: black;
}

.faqs details summary {
  color: black; 
  font-size: 1.1rem;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  padding: 1rem 1rem;
  cursor: pointer;
}
.faqs details > div {display: grid; grid-template-rows: 0fr;}
.faqs details[open] > div {animation: animate 0.25s 0s 1 normal forwards;}
.faqs details > div > div {padding: 0rem 2rem 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;}
}

/* ------------------------------------------------------------ *\
	Footerform
\* ------------------------------------------------------------ */

.footerform {
  text-align: center; 
  padding-top: 0rem;
  padding-bottom: 0rem;
}

.ctaform {
  text-align: center; 
  padding: 7rem 0 3rem;
  margin-top: -4rem;
  background: white;
}

.footerform form {margin-bottom: 4rem; border: 1px solid #e6e6e6;  max-width:30rem;margin:auto;padding:2rem 0; border-radius:1rem;
  -webkit-filter: drop-shadow(1rem 1rem.5rem rgba(0, 0, 0, 0.1));
  filter: drop-shadow(1rem 1rem.5rem rgba(0, 0, 0, 0.1));
  min-width: 23rem;background: white}
.footerform form > div {display: block;}
.footerform img {display: inline-block; max-width: 80%;}
.footerform h3 {font-size: 1.5rem; display: none; }
.footerform #makemodelselector select {display: inline-block; margin-left: 0.2rem; margin-right: 0.2rem;}
.footerform #makemodelselector .selects { max-width: 90%; margin-left: auto; margin-right: auto; margin-bottom:2rem;}

@media (max-width: 60rem) {
  .footerform form {padding: 2rem 0; }
}

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

.footer .container a::before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color:#0c5ba9;
  transform:scaleX(0);
  transform-origin: center center;
  transition: transform 0.2s;
}

.footer .container a:hover::before {
  transform: scaleX(1);
}

.footer {
  background: white;
  color: #0c5ba9;
  padding-top: 2.5rem;
  padding-bottom: 2rem;
  border-top: 2px solid #0c5ba9;
}

.footer .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; /* Align to top for column consistency */
}

.footer .container ul li {
  list-style: none;
  font-weight: bold;
}

.footer .container a {
  color: #0c5ba9;
  text-decoration: none;
  position: relative;
}

.footer .container a:hover {
  color: #0c5ba9;
}

.footer .container > div:nth-child(2) {
  flex: 1 1 33%; /* Ensures it shares equal space with other columns */
}

.footer .container > div:last-child {
  flex: 1 1 33%; /* Ensures equal width across all three columns */
  line-height: 1.4;
}

.footer .container .example-prices {
  text-align: left;
  margin-top: 2.5rem;
  font-size: .8em;
  color: #0c5ba9;
}

.footer-column {
  flex: 1 1 33%; /* Each column takes up 33% of the container width on larger screens */
  min-width: 200px;
  padding: 0 1rem;
}

/* Center alignment for logo in footer column */
.footer-column:first-child {
    text-align: center;
}

/* Ensure image scales responsively */
.footer-column img {
    max-width: 100%;
    height: auto;
}

.footer-column:not(:last-child) {
  border-right: 2px solid #0c5ba93d;
}

.footer-column ul,
.footer-column p,
.footer-column a {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

/* Responsive Stacking for Columns */
@media (max-width: 768px) {
  .footer .container {
    flex-direction: column; /* Stack columns vertically */
    gap: 1rem; /* Reduced gap for mobile view */
  }
  .footer-column {
    min-width: 100%; /* Full width for each column on smaller screens */
    padding: 0; /* Remove padding for a clean stack */
    border-right: none; /* Remove border-right when stacked */
    margin-bottom: 2rem;
  }
}

/* Specific Adjustments for Border on Columns */
@media (max-width: 60rem) {
  .footer-column:not(:last-child) {
    border-right: none; /* Remove right border on smaller screens */
  }
  .footer-column > img { text-align: center;}
}

.footer .container h3 {
  color: #0c5ba9;
  font-size: 1.1rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.copyright {
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.75rem;
  hyphens: auto;
}

.copyright > div {
  border-top: 1px solid #0c5ba9;
  padding-top: 1rem;
}

.final-footer p {
  display: flex;
  align-items: center;
  justify-content: left;
  text-align: left;
  font-size: .8rem;
}

.final-footer {
  background-color: #0c5ba9;
  color: white;
  font-size: .8rem;
  padding-top: .8rem;
  padding-bottom: .8rem;
  border-top: 2px solid #0c5ba9;
}

.final-footer p {
  margin-bottom: 0;
}

.row-reverse {
  flex-direction: row-reverse;
}

.small-link {
  font-size: .8rem;
  padding-bottom: 1rem;
}

.copyright > .col > a {
  color: #d4dedf;
}

.disclaimer {
  font-size: .8rem;
  padding-top: 1rem;
  hyphens: auto;
}

@media (max-width: 60rem) {
  .disclaimer {
    width: 95vw;
  }
}

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

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

/* ------------------------------------------------------------ *\
  Blog
\* ------------------------------------------------------------ */

/* Flex container for blog content and Table of Contents */
.content-wrapper {
  display: flex;
  gap: 2rem; 
}

/* Offset for ToC Anchor-links to pass the top-navigation */
:root {
  scroll-padding-top: 80px; 
}

/* Sticky Table of Contents */
.toc-sticky {
  flex: 1; 
  position: sticky;
  padding-top: 2.75rem;
  padding-left: 3rem;
  padding-right: 2rem;
  padding-bottom: 2rem;
  font-size:0.9rem;
  margin-right:0rem;
  max-height: calc(100vh); 
  overflow-y: auto; 
  top: 4rem;
}

.toc-sticky li {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom:.5rem;
  border-bottom: 1px solid #d4dedf; 
  padding-bottom:.5rem;
}

.toc-sticky li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}


.toc-sticky a {
  color: #0c5ba9;
  text-decoration: none;
}

.toc-sticky a:hover {
  color: #23527c;
}

.toc-sticky a.active {
  color: black;
  font-weight: bold;
  padding-left: 0rem; 
}


.blog {
  flex: 3; 
  padding: 2.75rem 0 0rem; 
  text-align: left;
  line-height: 1.8rem;
  font-size: 1.1rem;
  padding-left: 3rem;
  padding-bottom: 4rem;
}

.blog p { color: #231f20 }
.blog-heading {
  text-align: center;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 1rem;
  padding-top:1rem;
  color: #0c5ba9;
}

.blog-heading p {
  text-align:center;
  color:black;
}

.blog p, h3, h2, h1, hr {
 

  font-size: 1.1rem;
}

.blog a {color: #0c5ba9;text-decoration: none;}
.blog a:hover {color: #0c5ba9;text-decoration: underline;}
.blog img {padding:1rem;}
h1.news-title-single {font-weight: 700; font-size: 2.25rem!important;  margin-right:20%!important;line-height:2.25rem; text-transform: initial!important;}
h4.news-description-single {margin-right:0%; text-transform: initial;font-size:1.2rem!important;
  line-height:1.6rem;}

.content-container a:hover {
  color: #0c5ba9!important;
  text-decoration: underline;
}

.blog h2 {
  font-size: 1.5rem!important;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.blog ol {
  padding-bottom: 1rem;
}
.blog li {
  margin-left: 1rem;
}

.blog ol li {
  list-style: decimal;
}

.blog blockquote {
  border-left: 3px solid #0c5ba9;
  margin-left: 2rem;
  padding-left: 2rem;
  font-size: 1.1rem;
}

p.news-description-single {
  font-size: 1.5rem!important; 
  line-height: 1.25!important;
  font-weight: 600;
  letter-spacing: -0!important; 
  padding-bottom: 1rem;
}

p.news-title-single {
  font-size: 2.5rem!important; 
  letter-spacing: -1px!important; 
  line-height: 3rem!important;
  font-weight: 700;
}

.firstpost {
  margin-left:1rem;
  margin-right:1rem;
  letter-spacing: 0;
  border-bottom: 1px solid lightgrey; padding-bottom:1rem; 
}

.news-container {
  display: flex;
  padding-left: 15px;
  padding-right: 15px;
}

.image-container {
  flex: 2;
}

.image-container img {
  width: 100%;
  object-fit: cover;
  border-radius: 3px!important;
}

img.news-thumbnail {object-fit: cover; height: 200px; width:100%}

div.pt {padding-top: 3rem;}
div.m10 {margin-left: 10%; margin-right: 10%}
div.pb {padding-bottom: 6rem;}
div.mt {padding:0rem;margin-top:6rem;}
div.p0 {padding: 0 0rem;}
.center {text-align: center;}

a.nodecoration {
  text-decoration: none!important; 
  color: black;}

h2.news-first-title {text-align: left!important; line-height: 2rem; text-transform:initial!important;}
h2.news-first-title a:hover {color: #1d3766!important; text-decoration: none;}
.content-container > a:hover {color:#1d3766!important}
.content-container {
  flex: 1;
  padding-left: 25px;
  box-sizing: border-box;
  text-align: left; margin-top: -15px;
  padding-bottom: 2rem;
}
.image-container > a:hover {filter: brightness(1.1)}

@media (max-width:60rem) {
  .m10 {margin-left: 0%!important; margin-right: 0%!important}
  .p10 {padding-left: 0%!important; padding-right: 0%!important;padding-top: 0%!important}
  .blog {margin-right: 1rem; margin-left: 1rem; padding: 1rem;}
  .news-container {flex-direction: column;}
  .content-container {padding: 1rem;}
  .image-container {padding: 1rem;}
  .blog-heading {padding-left: 30px;padding-right: 30px;}
  h1.news-title-single {margin-right:0%!important;padding: 1rem;font-size:2.2rem!important; line-height: 2.3rem;}
  h4.news-description-single {margin-right:0%;padding: 1rem;}
  h2.news-first-title a {font-size:1.8rem;}
  h2.news-first-title {margin-top:0rem!important}
  .content-container h5 {padding: 0rem; }
  .none h5 {padding: 1rem;}
  .toc-sticky {display:none}
  .blog {border-left: none; padding-left: 0;}
  p.news-title-single {font-size: 2rem!important; line-height: 2.25rem!important; font-weight: 700; letter-spacing: -1px!important; text-transform: initial!important;}
}

/* ------------------------------------------------------------ *\
	Blog More
\* ------------------------------------------------------------ */

.blog_more {padding-bottom: 1rem; padding-top: 1rem; border-top:1px solid lightgrey;}
.blog_more .container > div:nth-child(1) {align-items: center; }
.blog_more .container > div:nth-child(1) > div {width: 100%; text-align: center;}
.blog_more .container > div:nth-child(1) > div:nth-child(1) h2 {margin: 1rem 0 0; width: 100%; text-align: center;}
.blog_more .container > div:nth-child(1) > div:nth-child(1) h2::after {content: none;}
.blog_more a {color: #0c5ba9; text-decoration: none;}
.blog_more .container > ul {
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
  grid-gap: 1.75rem;
  margin: 1rem auto 0rem;
}

.blog_more .container > ul li {
  list-style: none;
  padding: 1rem 1rem;
  font-size: 1.1rem; 
  letter-spacing: 0.05em;
  line-height: 1.3rem;
  text-align: left;
}

.blog_more .container img { border-radius: 3px; box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.25);}
.blog_more .container img {transition: transform.5s ease;}
.blog_more .container img:hover {  filter:brightness(.9) }
.blog_more .container > ul li h2 {padding-top:1rem;padding-bottom:.5rem}
.blog_more .container > ul li h2:hover {text-decoration: none; color: #1d3766}
.blog-more .container > ul li h2 a {color: #1d3766;text-decoration: none;}
.blog_more .container > ul li h3 {line-height: 1.5; margin-bottom: 0.75rem; padding: 0.5rem;}
.blog_more .container > div:nth-child(1).noimage {justify-content: center; padding-bottom: 0;}
.blog_more .container > div:nth-child(1).noimage > div:nth-child(1) h2 {text-align: center;}

.previous-articles { padding-left:1rem; padding-top: 1rem; }

@media (max-width: 60rem) {
  .blog_more .container {padding: 0;}
  .blog_more .container > div:nth-child(1) {flex-direction: column-reverse; align-items: stretch; }
  .blog_more .container > div:nth-child(1) > div {width: 100%; text-align: center;}
  .blog_more .container > div:nth-child(1) > div:nth-child(1) {padding: 0 1rem;}
  .blog_more .container > div:nth-child(1) > div:nth-child(1) h2 {text-align: center; margin-left: auto; margin-right: auto;}
  .blog_more .container > ul {padding: 0 1rem;   grid-template-columns:none;}
  .blog_more .container > div:nth-child(1).noimage {padding-top: 4rem;}
  .previous-articles { padding-left:2rem; padding-top: 1rem;}
}

/* ------------------------------------------------------------ *\
  404
\* ------------------------------------------------------------ */

.error404 {color: white; padding: 4rem 0 3rem;  text-align: center;  margin-top: -2rem;}

/* ------------------------------------------------------------ *\
  Paginator
\* ------------------------------------------------------------ */

.pagination-nav ul.pagination {
  list-style: none; 
  display: flex; 
  justify-content: left; }

.page-link {
	position: relative;
	display: block;
	padding: .5rem .5rem;
	margin-left: -1px;
	line-height: 1.25;
	color: black;
  text-decoration: none;
	background-color: white!important;
	border: 0px solid black; 
	border-radius: 200px!important;
  -moz-border-radius: 200px;
  -webkit-border-radius: 200px;
}

.page-item:first-child .page-link  {
	margin-left: 0;
}

.pagination-nav a {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    width: 32px;
    height: 32px;
    border:2px solid #93b8cb;
    margin: 5px;
    color: #93b8cb;
    transition: .2s ease-in;
}

.pagination-nav a:hover {    
  color: white;
  background-color: #93b8cb!important;
}


.page-item a.active  {
      background-color: #93b8cb!important;
      color: white;
}

@media (max-width:60rem) {
  .pagination-nav ul.pagination {margin-left: 2rem;}
}

.hero-single {position: relative; display: flex;
  flex-direction: column;
  justify-content:center; text-align: center;
min-height:40vh}

.hero-single img {position: absolute; width: 100%; height: 100%; object-fit: cover;}
.hero-single::after {content: ""; position: absolute; background: radial-gradient(80.99% 100% at 50% 0%, #0c3b73 0%, #0c5ba9 100%), 
  radial-gradient(50% 123.47% at 50% 50%, #0a3e5c 0%, #0c5ba9 100%), 
  linear-gradient(301.28deg, #0c5ba9 0%, #0a2b48 100%), 
  linear-gradient(294.84deg, #0c3b73 0%, #0c5ba9 100%), 
  linear-gradient(52.29deg, #0a2b48 0%, #0c3b73 100%), 
  radial-gradient(100% 138.69% at 100% 0%, #0c5ba9 0%, #0a3e5c 100%), 
  radial-gradient(70.41% 100% at 50% 0%, #0c5ba9 0%, #0a2b48 100%);
background-blend-mode:  normal;
width: 100%; height: 100%; top: 0;}
.hero-single .container {flex-direction:column; position: relative; z-index: 2; color: white; display: flex; align-items: left; max-width: 68rem; }
.hero-single .container > div {flex: 1; padding: 0rem 0;}
.hero-single .container h1 {text-align: center; font-size: 2.25rem; line-height: 1.2; margin-bottom:1rem}
.hero-single .container h1 span:nth-child(1) {display: inline-block; border-bottom: 0.2rem solid #93b8cb; margin-bottom: 0.25rem;}
.hero-single .container h1 span:nth-child(2) {display: inline-block;}
body.home .hero-about .container h1 {margin-top: 0; margin-bottom: 2.5rem;}
.hero-single .container p {text-align: center; line-height: 1.25;  margin-bottom: 1.75rem; font-size:1.4em}
.hero-single .container .button {margin-top: 1.15rem;}

body.home .hero-about .container p {max-width: 28rem;}

@media (max-width: 60rem) {
  .hero-single .container p {margin-left:auto; margin-right:auto;}
}

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

.hero-about {position: relative; display: flex; flex-direction: column; justify-content:center;}
.hero-about img {position: absolute; width: 100%; height: 100%; object-fit: cover;}
.hero-about::after {content: ""; position: absolute; opacity: 0.8;   background: linear-gradient(to top, black, #A8A9AC); width: 100%; height: 100%; top: 0;}
.hero-about .container {flex-direction:column; position: relative; z-index: 2; color: white; display: flex; align-items: left; max-width: 68rem; }
.hero-about .container > div {flex: 1; padding: 0rem 0;}
.hero-about .container h1 {text-align: left;  font-family: "obviously", sans-serif; font-size: 1.8rem; line-height: 2.5rem;}
.hero-about .container h1 span:nth-child(1) {display: inline-block; border-bottom: 0.2rem solid #93b8cb; margin-bottom: 0.25rem;}
.hero-about .container h1 span:nth-child(2) {display: inline-block;}
body.home .hero-about .container h1 {margin-top: 0; margin-bottom: 2.5rem;}
.hero-about .container p {text-align: left; line-height: 1.5; margin-left: auto; margin-right: auto; margin-bottom: 1.75rem; font-size:1rem}
.hero-about .container .button {margin-top: 1.15rem;}

body.home .hero-about .container p {max-width: 28rem;}
.hero-about .container .form {
  -webkit-filter: drop-shadow(1rem 1rem.5rem rgba(0, 0, 0, 0.4));
  filter: drop-shadow(1rem 1rem.5rem rgba(0, 0, 0, 0.4));
  max-width: 23rem;
}
.hero-about .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.5rem 4.3rem;
}

.about_cta {
  font-size: 1.1rem;
}

.about_cta > a {
  color: #0c5ba9;
}

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

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

.hero-about .container .title-row {
  text-align: left;
  padding-top: 4rem;
  
}

.hero-about .container .title-row p {
  line-height: 1.6rem;
  font-size: 1.1rem;
  margin-bottom: 4rem;
}

.title-row > p > a {color:black;}
.container .page-size {
  margin-left: 7.5%; margin-right:7.5%; 
}

.container h2.page-size > a {
  color:white;
}

 .container .columns {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2rem;
}

.container .team-columns {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2rem;
  margin-left: 7.5%;
  margin-right: 7.5%;
}

 .container .column {
  flex: 1;
  padding: 1rem 0;
  text-align: center;
  align-content: center;
  margin-bottom: 1rem;
  font-size: 1.1rem; 
}

.container .column .underline {
  line-height: 1.2rem;
  font-size: 1.1rem;
}

.container .column img {
  margin-bottom:.5rem;
  border-radius:100%;
  border: 2px solid #e6e6e6;
}

.container .column h3 {
  font-weight: bold;
  color: white;
  margin-bottom: 1rem;
}

.container .column p {
text-align: center;
}

@media (max-width: 60rem) {
   .container .columns {
      flex-direction: column;
      gap: 1rem;
  }

  .container .team-columns {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

  .container .team-columns img {
    width: 50%;
  }

   .container .column {
      flex: 100%;
  }

  .columns > .column > img {
    padding-left: calc(100vw/4);
    padding-right: calc(100vw/4);
  }

  .small {font-size: .9rem!important;}
  .center-mobile {text-align: center}
  .underline {border-bottom: none!important; }
  }

.pt-0 {padding-top: 0!important;}
.pt-1 {padding-top: 1rem!important;}
.pb-2 {padding-bottom: 2rem!important;}
.pt-2 {padding-top: 2rem!important;}
.m-1 {margin-left: 1rem!important; margin-right: 1rem!important;}
.p-1 {padding-top: 1rem!important; padding-bottom: 1rem!important;}
.p-0 {padding: 0!important;}
.container .mt-2, .mt-2 {
  margin-top: 2rem!important;
}

.container .mt-3, .mt-3 {
  margin-top: 3rem!important;
}

.container .mt-4, .mt-4 {
  margin-top: 4rem!important;
}

.container .mt-5, .mt-5 {
  margin-top: 5rem!important;
}


.container .mb-5, .mb-5 {
  margin-bottom: 5rem!important;
}

.container .mb-4, .mb-4 {
  margin-bottom: 4rem!important;
}

.container .mb-3, .mb-3 {
  margin-bottom: 3rem!important;
}

.mb--1 {margin-bottom: -1rem!important;}
.mb--2 {margin-bottom: -2rem!important;}
.mb--3 {margin-bottom: -3rem!important;}

.container .mb-2, .mb-2 {
  margin-bottom: 2rem!important;
}

.container .mb-1, .mb-1 {
  margin-bottom: 1rem!important;
}

.container .mb-0, .mb-0 {
  margin-bottom: 0!important;
}

.container .pl-2, .pl-2 {
  padding-left: 2rem!important;
}

.container .pr-2, .pr-2 {
  padding-right: 2rem!important;
}

.small {font-size: .9rem!important;}

.brand_title {
  text-align: center; 
  margin-bottom:2rem; 
  letter-spacing: 0.3rem;
}

.container .bold {
  font-weight: bold;
}

.quote {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.1;
  text-align: left;
  margin-top: 2rem;
  margin-bottom: 2rem;
  border-left: 8px solid #dd392a;
  padding-left: 2rem;
  padding-top:2rem;
  padding-bottom:2rem;
}

.darken {mix-blend-mode: darken;}

.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}