/* Global */
:root {
    --green: #82a733;
    --dark-green: #075900;
    --orange: #f29829;
    --pink: #a9006e;
    --red: #af073f;
    --brown: #906803;
    --dark-brown: #634702;
}
body {
    font-family: "Lato", sans-serif;
}
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: 600;
}
h1, h2, h3, .h1, .h2, .h3, .display-3, .display-5 {
    color: var(--dark-brown);
}
.hr-custom {
    background: -webkit-gradient(linear, 0 0, 100% 0, from(transparent), to(transparent), color-stop(50%, black));
}
a:hover {
    color: var(--green);
}
.green {
    color: var(--green) !important;
}
.brown {
    color: var(--brown) !important;
}
.dark-green-custom {
    color: var(--dark-green) !important;
}
.fw-500 {
    font-weight: 500 !important;
}
.fw-600 {
    font-weight: 600;
}
.btn-custom {
    color: white;
    font-weight: 500;
    font-size: calc(1.325rem + .9vw);
    border-radius: 22px;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
    margin: auto;
}
.btn-custom:hover {
    color: white;
}
.btn-green-custom {
    background-color: var(--green);
}
.btn-green-custom:hover {
    background-color: var(--dark-brown);
}
.btn-dark-green-custom {
    background-color: var(--dark-green);
}
.btn-dark-green-custom:hover {
    background-color: var(--brown);
}
.accordion li {
    list-style: square;
    list-style-type: disc;
}
.accordion-body {
    line-height: 1.7;
}
#privacyToast {
  position: fixed;
  bottom: 0;
  right: 0;
  color: #2a2828;
  background: #d3ed8d;
  width: 100%;
  border-radius: 0;
}
#privacyToast button {
  background-color: var(--dark-green);
  border-color: var(--dark-green);
}
#privacyToast a {
  color: var(--dark-brown);
}
#privacyToast a:hover {
  color: var(--dark-green);
}

/* Navbar */
.nav-logo-custom {
    height: 7vmin;
    min-height: 38px;
}
.nav-link {
    padding-left: 10px !important;
    padding-right: 10px !important;
    color: black !important;
}
.nav-link:hover {
    color: var(--green) !important;
}
nav .dropdown-item:hover {
    background-color: transparent;
    color: var(--green);
}
.nav-language-custom {
    color: red !important;
}
.flag-icon-custom {
    display: inline;
    height: 14px;
}
.dropdown-menu {
    max-width: 200px;
}
.nav-toggler-custom {
    border-style: hidden;
    font-size: 2rem;
}
.nav-toggler-custom:focus {
    box-shadow: none;
}

/* Hamburger */
.animated-toggler {
  width: 30px;
  height: 20px;
  position: relative;
  margin: 0px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}
.animated-toggler span {
  display: block;
  position: absolute;
  background: var(--dark-green);
  height: 4px;
  width: 100%;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}
.animated-toggler span:nth-child(1) {
  top: 0px;
}
.animated-toggler span:nth-child(2), .animated-toggler span:nth-child(3) {
  top: 10px;
}
.animated-toggler span:nth-child(4) {
  top: 20px;
}
.animated-toggler.open span:nth-child(1) {
  top: 11px;
  width: 0%;
  left: 50%;
}
.animated-toggler.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.animated-toggler.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.animated-toggler.open span:nth-child(4) {
  top: 11px;
  width: 0%;
  left: 50%;
}

/* Footer */
.footer-custom {
    background-color: var(--green);
    color: white;
}
.footer-custom a:hover {
    color: var(--brown);
    font-weight: bold;
    /* text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; */
}

/* Home */
.home-hr-custom {
    border: 2px solid var(--dark-green);
    width: 150px;
    margin: auto;
    color: var(--dark-green);
    opacity: 1;
    border-radius: 10px;
}
.home-title-custom {
  font-size: 7vmin;
}
.home-img-custom {
  max-height: 350px;
}
.home-block-custom {
  background: var(--green);
}
.home-block-save-custom {
  letter-spacing: 2px;
  font-size: 6vmin;
}
.home-trust-icon-custom {
    font-size: 2.5rem;
    color: goldenrod;
}
.home-carriers-row-custom {
    height: 18vmin;
}
.home-vehicle-links-custom a:hover {
    color: var(--brown) !important;
}
.home-vehicle-icon-custom {
    height: 10vmin;
    min-height: 45px;
    margin: auto;
}
.home-aig-custom {
    width: 25vmin;
    display: inline-block;
    min-width: 100px;
}
.home-chubb-custom {
    width: 35vmin;
    display: inline-block;
    min-width: 100px;
}
.home-mexipass-custom {
  width: 27vmin;
  min-width: 150px;
}
.home-bbb-custom img {
  width: 20vmin;
  min-width: 120px;
  display: inline;
}
.home-bbb-custom p {
  color: #005f86;
  display: inline;
  font-size: 5vmin;
  font-weight: bold;
}
.trustpilot-widget-custom iframe {
  margin: auto;
}

/* About */
.about-header-custom {
    background-image: url("/assets/about/about-bg.png");
    height: 31vmin;
    background-size: cover;
}
.about-title-custom {
    color: white;
    position: relative;
    left: 7%;
    top: 28%;
    width: 93%;
}
.about-subheader-custom {
    max-width: 850px;
    font-size: 1.2rem;
}
.about-image-custom {
    width: 70vmin;
    display: block;
    margin: auto;
}

/* Insurance */
.insurance-links-custom {
    border-color: white;
}
.insurance-links-custom a {
    color: white;
    background-color: var(--green);
}
.insurance-links-custom a:hover {
    color: white;
    background-color: var(--pink);
}
.insurance-carousel-custom {
    max-width: 850px;
}
.insurance-icon-custom {
    display: inline-block;
    width: 5rem;
    /* width: 10vmin; */
}
.insurance-accordion-custom {
    max-width: 700px;
}
.insurance-accordion-btn-custom {
    background-color: var(--green);
    color: white;
    font-size: 1.8rem;
    text-align: center;
    justify-items: center;
    padding-left: .8rem;
    padding-right: 1rem;
}
.insurance-accordion-btn-custom:focus {
    box-shadow: none;
}
.insurance-accordion-btn-custom:not(.collapsed) {
    background-color: var(--brown);
    color: white;
}
.insurance-accordion-btn-custom::after{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.insurance-accordion-btn-custom:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.insurance-btn-custom {
    font-size: calc(1.325rem + .2vw);
}
.insurance-btn-custom:hover {
    background-color: var(--dark-brown);
}

/* Vehicle Insurance */
.vehicle-insurance-header-custom {
    width: 100%;
    height: 16vmin;
    position: relative;
    object-fit: cover;
    overflow: hidden;
}
.vehicle-insurance-image-custom {
    display: block;
    width: 85vmin;
}
.vehicle-insurance-subheader-custom {
    font-size: 2.3rem;
    margin: auto;
    max-width: 700px;
    line-height: 1.1;
    color: var(--dark-brown);
}
.vehicle-insurance-content-custom {
    margin: auto;
    max-width: 900px;
    line-height: 26px;
}
.vehicle-insurance-content-custom blockquote {
    margin-top: 0;
    margin-bottom: 1rem;
}
.vehicle-insurance-content-custom p {
    margin-top: 12px;
    margin-bottom: 12px;
}
.vehicle-insurance-content-custom li p {
    margin-top: 0;
    margin-bottom: 0;
}
.vehicle-insurance-content-custom h1 {
    font-size: 2.3rem;
    font-weight: 600;
}
.vehicle-insurance-content-custom h2 {
    font-size: 2rem;
    margin-top: 20px;
    margin-bottom: 12px;
}
.vehicle-insurance-content-custom h3 {
    font-size: 1.75rem;
    font-weight: 500;
    margin-top: 16px;
    margin-bottom: 12px;
}
.vehicle-insurance-content-custom ul {
    list-style-type: disc;
    margin-left: 30px;
}
.vehicle-insurance-content-custom ol {
    list-style-type: decimal;
    margin-left: 30px;
}
.vehicle-insurance-content-custom a {
    color: #0d6efd;
}
.vehicle-insurance-accordion-custom {
    max-width: 800px;
}
.vehicle-insurance-accordion-btn-custom {
    background-color: var(--dark-green);
    color: white;
    font-size: 1.5rem;
}
.vehicle-insurance-accordion-btn-custom:focus {
    box-shadow: none;
}
.vehicle-insurance-accordion-btn-custom:not(.collapsed) {
    background-color: var(--brown);
    color: white;
}
.vehicle-insurance-accordion-btn-custom::after{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.vehicle-insurance-accordion-btn-custom:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* Plans */
.plans-header-custom {
    width: 100%;
    height: 16vmin;
    position: relative;
    object-fit: cover;
    overflow: hidden;
}
.plans-table-custom {
    max-width: 800px;
}
.plans-check-custom {
    font-size: 2.5rem;
    color: var(--green);
}
.plans-x-custom {
    font-size: 2.5rem;
    color: red;
}
.plans-icon-custom {
    display: inline;
    height: 45px;
}

/* Claims */
.claims-header-custom {
    width: 100%;
    height: 16vmin;
    position: relative;
    object-fit: cover;
    overflow: hidden;
}
.claims-image-custom {
    width: 70vmin;
    display: block;
    margin: auto;
}
.claims-contact-row-custom {
    height: 18vmin;
}
.claims-aig-custom {
    width: 25vmin;
    display: inline-block;
    min-width: 100px;
}
.claims-chubb-custom {
    width: 35vmin;
    display: inline-block;
    min-width: 100px;
}

/* FAQ */
.faq-header-custom {
    background-image: url("/assets/faq/faq-bg.png");
    height: 31vmin;
    background-size: cover;
    background-position: 30%;
}
.faq-title-custom {
    color: white;
    position: relative;
    left: 20%;
    top: 30%;
    width: 80%;
}
.faq-accordion-custom {
    max-width: 800px;
}
.faq-accordion-btn-custom {
    background-color: var(--dark-green);
    color: white;
    font-size: 1.5rem;
}
.faq-accordion-btn-custom:focus {
    box-shadow: none;
}
.faq-accordion-btn-custom:not(.collapsed) {
    background-color: var(--brown);
    color: white;
}
.faq-accordion-btn-custom::after{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.faq-accordion-btn-custom:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* Contact Us */
.contact-us-header-custom {
    background-image: url("/assets/contact-us/contact-bg.png");
    height: 31vmin;
    background-size: cover;
    background-position: 30%;
}
.contact-us-title-custom {
    color: white;
    position: relative;
    left: 5%;
    top: 30%;
    width: 95%;
}
.contact-phone-custom:hover {
    color: var(--green);
}
.contact-btn-custom {
    background-color: var(--red);
    color: white;
    font-weight: 500;
    font-size: 4.5vmin;
    border-radius: 20px;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
.contact-btn-custom:hover {
    background-color: var(--green);
    color: white;
}
.contact-error-custom {
    border-color: red;
}
.contact-success-custom {
    color: var(--green);
}
.contact-honeypot-custom {
    display: none;
}

/* Travel Tips */
.travel-tips-header-custom {
    background-image: url("/assets/travel-tips/travel-tips-bg.png");
    height: 31vmin;
    background-size: cover;
    background-position: 30%;
}
.travel-tips-title-custom {
    color: white;
    position: relative;
    left: 20%;
    top: 30%;
    width: 80%;
}
.travel-tips-image-custom {
    display: block;
    margin: auto;
}
.travel-tips-accordion-custom {
    max-width: 800px;
}
.travel-tips-accordion-custom .h5 {
    line-height: 1.5;
}
.travel-tips-accordion-custom a:hover {
    color: var(--green)
}
.travel-tips-accordion-btn-custom {
    background-color: var(--dark-green);
    color: white;
    font-size: 1.5rem;
}
.travel-tips-accordion-btn-custom:focus {
    box-shadow: none;
}
.travel-tips-accordion-btn-custom:not(.collapsed) {
    background-color: var(--brown);
    color: white;
}
.travel-tips-accordion-btn-custom::after{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.travel-tips-accordion-btn-custom:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.travel-tips-content-custom {
    margin: auto;
    max-width: 900px;
    line-height: 26px;
}
.travel-tips-content-custom p {
    margin-top: 12px;
    margin-bottom: 12px;
}
.travel-tips-content-custom li p {
    margin-top: 0;
    margin-bottom: 0;
}
.travel-tips-content-custom h2 {
    font-size: 2rem;
    margin-top: 20px;
    margin-bottom: 12px;
}
.travel-tips-content-custom h3 {
    font-size: 1.75rem;
    margin-top: 16px;
    margin-bottom: 12px;
}
.travel-tips-content-custom ul {
    list-style-type: disc;
    margin-left: 30px;
}
.travel-tips-content-custom ol {
    list-style-type: decimal;
    margin-left: 30px;
}
.travel-tips-content-custom a {
    color: #0d6efd;
}