:root {
--black:#020228;
--dark:#14142A;
--grey:#2B2B40;
--cloud:#C1C1D8;
--snow:#f0f6ff;
--white:#FFFFFF;
--transparent-dark:rgba(0,0,0,0.24);
--transparent-light:rgba(255,255,255,0.08);
--navy:#001C5D;
--blue:#0169FB;
--sky:#6DC3FF;
--link:#0066FF;
--link-active:#0044FF;
--link-light:#00aaff;
--link-light-active:#00ccFF;
--transition: all 0.24s ease-in-out;
}

.black {color:var(--black)}
.dark {color:var(--dark)}
.grey {color:var(--grey)}
.cloud {color:var(--cloud)}
.snow {color:var(--snow)}
.white {color:var(--white)}

.navy {color:var(--navy)}
.blue {color:var(--blue)}
.sky {color:var(--sky)}

.bg-navy (background:var(--navy);)
.bg-blue (background:var(--blue);)
.bg-sky (background:var(--sky);)
.bg-snow (background:var(--snow);)
.bg-white (background:var(--white);)

.bounced {transition:var(--transition);}
.bounced:hover {transition:var(--transition); transform: scale(1.04);}

.accordion {
	padding: 1rem 1.5rem;
    background: rgba(180,230,255, 0.32);
    border-radius: 0.5rem;
}

.accordion h5 label {
  display: block;
  cursor: pointer;
	margin-bottom: 0 !important;
	font-size: 1.125rem;
    font-weight: 600;
	margin-top: 0.25rem;
}

.accordion > p:has(.accordion-toggle) {
  margin: 0;
}

.accordion-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}

.accordion-body-inner {
  overflow: hidden;
}

.accordion:has(.accordion-toggle:checked) .accordion-body {
  grid-template-rows: 1fr;
}

.wpb_single_image .vc_single_image-wrapper.vc_box_rounded img {
    border-radius: 1.5rem !important;
}

.vc_btn3.vc_btn3-color-primary {
	background-color: var(--blue) !important;
}
.vc_btn3.vc_btn3-size-lg {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    border-radius: 1rem;
}
#wp-footer a.vc_btn3 {
    color: var(--white);
}
.vc_message_box p {
    font-size: 0.875em !important;
	line-height: 1.5;
}
.vc_separator .vc_sep_holder {
    opacity: 0.32;
}

.vc_btn3.vc_btn3-color-blue, .vc_btn3.vc_btn3-color-blue.vc_btn3-style-flat {
    background-color: var(--blue);
    color: #fff;
}
.wpcf7-list-item {
    margin: 0 !important;
}
.wpcf7-not-valid-tip {
    font-size: 0.875rem !important;
}
@media (min-width: 992px) {
	.vc_row.vc_row-flex {
		flex-wrap: nowrap;
		gap: 1rem;
	}
}

/* TESTIMONIALS */

.tsm-carousel {
  --tsm-btn-bg: #F0F6FF;
  --tsm-btn-size: 64px;
  --tsm-gap: 32px;
  display: grid;
  grid-template-columns: var(--tsm-btn-size) minmax(0, 1fr) var(--tsm-btn-size);
  grid-template-areas: "prev slides next";
  align-items: center;
  column-gap: var(--tsm-gap);
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
.tsm-carousel *,
.tsm-carousel *::before,
.tsm-carousel *::after { box-sizing: border-box; }

.tsm-viewport {
  grid-area: slides;
  overflow: hidden;
  width: 100%;
}
.tsm-track {
  display: flex;
  transition: transform 0.45s ease;
  will-change: transform;
}
.tsm-slide {
  flex: 0 0 100%;
  min-width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 8px 4px;
}
.tsm-quote {
  margin: 0 0 24px;
  font-size: 1.25rem;
  line-height: 1.6;
  font-style: italic;
}
.tsm-author {
  margin: 0;
  font-weight: 700;
  font-style: normal;
}
.tsm-role {
  display: block;
  margin-top: 4px;
  font-weight: 400;
  opacity: 0.75;
}

.tsm-btn {
  width: var(--tsm-btn-size);
  height: var(--tsm-btn-size);
  min-width: var(--tsm-btn-size);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--tsm-btn-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 30px 20px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: block;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.tsm-btn:hover { transform: scale(1.05); }
.tsm-btn:focus-visible {
  outline: 3px solid rgb(2,2,40);
  outline-offset: 3px;
}
.tsm-btn-prev {
  grid-area: prev;
background-image: url('data:image/svg+xml,<svg width="18" height="27" viewBox="0 0 18 27" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_311_45)"><path d="M14.5604 26.5607C13.9746 27.1464 13.0251 27.1464 12.4393 26.5607L0.43934 14.5607C-0.146446 13.9749 -0.146446 13.0254 0.43934 12.4396L12.4393 0.439567C13.0251 -0.146219 13.9746 -0.146219 14.5604 0.439567C15.1462 1.02535 15.1462 1.97488 14.5604 2.56066L3.62098 13.5001L14.5604 24.4396C15.1462 25.0254 15.1462 25.9749 14.5604 26.5607Z" fill="%23020228"/></g><defs><clipPath id="clip0_311_45"><rect width="18" height="27" fill="white" transform="translate(18 27) rotate(-180)"/></clipPath></defs></svg>');
}
.tsm-btn-next {
  grid-area: next;
background-image: url('data:image/svg+xml,<svg width="18" height="27" viewBox="0 0 18 27" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_311_44)"><path d="M3.43957 0.43934C4.02536 -0.146447 4.97488 -0.146447 5.56066 0.43934L17.5607 12.4393C18.1464 13.0251 18.1464 13.9746 17.5607 14.5604L5.56066 26.5604C4.97488 27.1462 4.02536 27.1462 3.43957 26.5604C2.85378 25.9746 2.85378 25.0251 3.43957 24.4393L14.379 13.4999L3.43957 2.56043C2.85378 1.97465 2.85378 1.02513 3.43957 0.43934Z" fill="%23020228"/></g><defs><clipPath id="clip0_311_44"><rect width="18" height="27" fill="white"/></clipPath></defs></svg>');
}

.tsm-sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 768px) {
  .tsm-carousel {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "slides slides"
      "prev next";
    column-gap: 16px;
    row-gap: 24px;
  }
  .tsm-btn-prev { justify-self: end; }
  .tsm-btn-next { justify-self: start; }
  .tsm-quote { font-size: 1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .tsm-track, .tsm-btn { transition: none; }
}