@import url("https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Space+Grotesk:wght@300..700&display=swap");
/* Import Base Framework */
*,
*::before,
*::after {
  box-sizing: border-box;
  font-family: "Space Grotesk", sans-serif;
  color: #2B2826;
}

html, body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #2B2826;
  font-size: 100%;
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
}

a {
  text-decoration: none;
}

a[href^=tel] {
  text-decoration: inherit;
  color: inherit;
}

*::selection {
  color: #fff;
  background-color: #FF4242;
}

i {
  color: inherit;
}

main {
  position: absolute;
  top: 0;
  width: 100vw;
  background-color: #F5F5F5;
  transform: translateX(0%);
}

section, header {
  height: auto;
  padding: 0 calc(min(6rem, 10vw) / 2);
  margin: calc(min(6rem, 10vw) / 2) 0;
  -webkit-margin-collapse: collapse;
  position: relative;
}

footer {
  height: auto;
  padding: 0 calc(min(6rem, 10vw) / 2);
  position: relative;
}

@media (max-width: 900px) {
  section {
    padding: 0 calc(min(6rem, 10vw) / 3);
  }
}
@media (max-width: 600px) {
  section {
    padding: 0 calc(min(6rem, 10vw) / 4);
  }
}
.bg-video {
  position: relative;
  max-width: 100%;
  overflow: hidden;
}
.bg-video video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.bg-img {
  position: relative;
  min-height: 50vh;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  will-change: background-position;
  transition-property: background-position;
}
.bg-img.fixed {
  background-attachment: fixed;
}
@media (max-width: 600px), (max-width: 900px) {
  .bg-img {
    background-attachment: scroll;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 100;
  line-height: inherit;
  width: 100%;
  margin: 0 0 1rem 0;
  position: relative;
  word-break: break-word;
  white-space: normal;
}

h1 {
  font-size: clamp(3rem, 10vw, 4.5rem);
  line-height: clamp(2rem, 10vw, 5rem);
}

h2 {
  font-size: clamp(2.5rem, 8vw, 3.5rem);
}

h3 {
  font-size: clamp(2rem, 6vw, 3rem);
}

h4 {
  font-size: clamp(1.4rem, 6vw, 1.8rem);
}

h5 {
  font-size: clamp(1.2rem, 6vw, 1.5rem);
}

h6 {
  font-size: clamp(1rem, 5vw, 1.4rem);
}

p {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.6;
  padding-bottom: 1.2rem;
}
p.smaller, p.font-small {
  font-size: 0.9rem;
}

ul {
  padding: 0 0 1.2rem 2.4rem;
  font-weight: 300;
}

strong {
  font-weight: 700;
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem;
  max-width: 1200px;
  margin: auto;
}

.col-1 {
  grid-column: span 1;
}

.col-2 {
  grid-column: span 2;
}

.col-3 {
  grid-column: span 3;
}

.col-4 {
  grid-column: span 4;
}

.col-5 {
  grid-column: span 5;
}

.col-6 {
  grid-column: span 6;
}

.col-7 {
  grid-column: span 7;
}

.col-8 {
  grid-column: span 8;
}

.col-9 {
  grid-column: span 9;
}

.col-10 {
  grid-column: span 10;
}

.col-11 {
  grid-column: span 11;
}

.col-12 {
  grid-column: span 12;
}

@media (max-width: 900px) {
  .grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .col-md-1 {
    grid-column: span 1;
  }
  .col-md-2 {
    grid-column: span 2;
  }
  .col-md-3 {
    grid-column: span 3;
  }
  .col-md-4 {
    grid-column: span 4;
  }
  .col-md-5 {
    grid-column: span 5;
  }
  .col-md-6 {
    grid-column: span 6;
  }
  .col-md-7 {
    grid-column: span 7;
  }
  .col-md-8 {
    grid-column: span 8;
  }
  .col-md-9 {
    grid-column: span 9;
  }
  .col-md-10 {
    grid-column: span 10;
  }
  .col-md-11 {
    grid-column: span 11;
  }
  .col-md-12 {
    grid-column: span 12;
  }
}
@media (max-width: 600px) {
  .grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .col-sm-1 {
    grid-column: span 1;
  }
  .col-sm-2 {
    grid-column: span 2;
  }
  .col-sm-3 {
    grid-column: span 3;
  }
  .col-sm-4 {
    grid-column: span 4;
  }
  .col-sm-5 {
    grid-column: span 5;
  }
  .col-sm-6 {
    grid-column: span 6;
  }
  .col-sm-7 {
    grid-column: span 7;
  }
  .col-sm-8 {
    grid-column: span 8;
  }
  .col-sm-9 {
    grid-column: span 9;
  }
  .col-sm-10 {
    grid-column: span 10;
  }
  .col-sm-11 {
    grid-column: span 11;
  }
  .col-sm-12 {
    grid-column: span 12;
  }
}
@media (max-width: 600px) {
  .grid {
    grid-template-columns: 1fr;
  }
  .col-sm-1 {
    grid-column: span 1;
  }
  .col-sm-2 {
    grid-column: span 1;
  }
  .col-sm-3 {
    grid-column: span 1;
  }
  .col-sm-4 {
    grid-column: span 1;
  }
  .col-sm-5 {
    grid-column: span 1;
  }
  .col-sm-6 {
    grid-column: span 1;
  }
  .col-sm-7 {
    grid-column: span 1;
  }
  .col-sm-8 {
    grid-column: span 1;
  }
  .col-sm-9 {
    grid-column: span 1;
  }
  .col-sm-10 {
    grid-column: span 1;
  }
  .col-sm-11 {
    grid-column: span 1;
  }
  .col-sm-12 {
    grid-column: span 1;
  }
}
.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.5rem !important;
}

.gap-2 {
  gap: 1rem !important;
}

.gap-3 {
  gap: 2rem !important;
}

.gap-4 {
  gap: 3rem !important;
}

.col-push-last {
  display: flex;
  flex-direction: column;
}
.col-push-last > :last-child {
  margin-top: auto;
}

.margin-0 {
  margin: 0rem !important;
}

.margin-t0 {
  margin-top: 0rem !important;
}

.margin-b0 {
  margin-bottom: 0rem !important;
}

.margin-l0 {
  margin-left: 0rem !important;
}

.margin-r0 {
  margin-right: 0rem !important;
}

.margin-1 {
  margin: 1rem !important;
}

.margin-t1 {
  margin-top: 1rem !important;
}

.margin-b1 {
  margin-bottom: 1rem !important;
}

.margin-l1 {
  margin-left: 1rem !important;
}

.margin-r1 {
  margin-right: 1rem !important;
}

.margin-2 {
  margin: 2rem !important;
}

.margin-t2 {
  margin-top: 2rem !important;
}

.margin-b2 {
  margin-bottom: 2rem !important;
}

.margin-l2 {
  margin-left: 2rem !important;
}

.margin-r2 {
  margin-right: 2rem !important;
}

.margin-3 {
  margin: 3rem !important;
}

.margin-t3 {
  margin-top: 3rem !important;
}

.margin-b3 {
  margin-bottom: 3rem !important;
}

.margin-l3 {
  margin-left: 3rem !important;
}

.margin-r3 {
  margin-right: 3rem !important;
}

.margin-4 {
  margin: 4rem !important;
}

.margin-t4 {
  margin-top: 4rem !important;
}

.margin-b4 {
  margin-bottom: 4rem !important;
}

.margin-l4 {
  margin-left: 4rem !important;
}

.margin-r4 {
  margin-right: 4rem !important;
}

.margin-5 {
  margin: 5rem !important;
}

.margin-t5 {
  margin-top: 5rem !important;
}

.margin-b5 {
  margin-bottom: 5rem !important;
}

.margin-l5 {
  margin-left: 5rem !important;
}

.margin-r5 {
  margin-right: 5rem !important;
}

.margin-6 {
  margin: 6rem !important;
}

.margin-t6 {
  margin-top: 6rem !important;
}

.margin-b6 {
  margin-bottom: 6rem !important;
}

.margin-l6 {
  margin-left: 6rem !important;
}

.margin-r6 {
  margin-right: 6rem !important;
}

.margin-7 {
  margin: 7rem !important;
}

.margin-t7 {
  margin-top: 7rem !important;
}

.margin-b7 {
  margin-bottom: 7rem !important;
}

.margin-l7 {
  margin-left: 7rem !important;
}

.margin-r7 {
  margin-right: 7rem !important;
}

.margin-8 {
  margin: 8rem !important;
}

.margin-t8 {
  margin-top: 8rem !important;
}

.margin-b8 {
  margin-bottom: 8rem !important;
}

.margin-l8 {
  margin-left: 8rem !important;
}

.margin-r8 {
  margin-right: 8rem !important;
}

.margin-9 {
  margin: 9rem !important;
}

.margin-t9 {
  margin-top: 9rem !important;
}

.margin-b9 {
  margin-bottom: 9rem !important;
}

.margin-l9 {
  margin-left: 9rem !important;
}

.margin-r9 {
  margin-right: 9rem !important;
}

.margin-10 {
  margin: 10rem !important;
}

.margin-t10 {
  margin-top: 10rem !important;
}

.margin-b10 {
  margin-bottom: 10rem !important;
}

.margin-l10 {
  margin-left: 10rem !important;
}

.margin-r10 {
  margin-right: 10rem !important;
}

.padding-0 {
  padding: 0rem !important;
}

.padding-t0 {
  padding-top: 0rem !important;
}

.padding-b0 {
  padding-bottom: 0rem !important;
}

.padding-l0 {
  padding-left: 0rem !important;
}

.padding-r0 {
  padding-right: 0rem !important;
}

.padding-1 {
  padding: 1rem !important;
}

.padding-t1 {
  padding-top: 1rem !important;
}

.padding-b1 {
  padding-bottom: 1rem !important;
}

.padding-l1 {
  padding-left: 1rem !important;
}

.padding-r1 {
  padding-right: 1rem !important;
}

.padding-2 {
  padding: 2rem !important;
}

.padding-t2 {
  padding-top: 2rem !important;
}

.padding-b2 {
  padding-bottom: 2rem !important;
}

.padding-l2 {
  padding-left: 2rem !important;
}

.padding-r2 {
  padding-right: 2rem !important;
}

.padding-3 {
  padding: 3rem !important;
}

.padding-t3 {
  padding-top: 3rem !important;
}

.padding-b3 {
  padding-bottom: 3rem !important;
}

.padding-l3 {
  padding-left: 3rem !important;
}

.padding-r3 {
  padding-right: 3rem !important;
}

.padding-4 {
  padding: 4rem !important;
}

.padding-t4 {
  padding-top: 4rem !important;
}

.padding-b4 {
  padding-bottom: 4rem !important;
}

.padding-l4 {
  padding-left: 4rem !important;
}

.padding-r4 {
  padding-right: 4rem !important;
}

.padding-5 {
  padding: 5rem !important;
}

.padding-t5 {
  padding-top: 5rem !important;
}

.padding-b5 {
  padding-bottom: 5rem !important;
}

.padding-l5 {
  padding-left: 5rem !important;
}

.padding-r5 {
  padding-right: 5rem !important;
}

.padding-6 {
  padding: 6rem !important;
}

.padding-t6 {
  padding-top: 6rem !important;
}

.padding-b6 {
  padding-bottom: 6rem !important;
}

.padding-l6 {
  padding-left: 6rem !important;
}

.padding-r6 {
  padding-right: 6rem !important;
}

.padding-7 {
  padding: 7rem !important;
}

.padding-t7 {
  padding-top: 7rem !important;
}

.padding-b7 {
  padding-bottom: 7rem !important;
}

.padding-l7 {
  padding-left: 7rem !important;
}

.padding-r7 {
  padding-right: 7rem !important;
}

.padding-8 {
  padding: 8rem !important;
}

.padding-t8 {
  padding-top: 8rem !important;
}

.padding-b8 {
  padding-bottom: 8rem !important;
}

.padding-l8 {
  padding-left: 8rem !important;
}

.padding-r8 {
  padding-right: 8rem !important;
}

.padding-9 {
  padding: 9rem !important;
}

.padding-t9 {
  padding-top: 9rem !important;
}

.padding-b9 {
  padding-bottom: 9rem !important;
}

.padding-l9 {
  padding-left: 9rem !important;
}

.padding-r9 {
  padding-right: 9rem !important;
}

.padding-10 {
  padding: 10rem !important;
}

.padding-t10 {
  padding-top: 10rem !important;
}

.padding-b10 {
  padding-bottom: 10rem !important;
}

.padding-l10 {
  padding-left: 10rem !important;
}

.padding-r10 {
  padding-right: 10rem !important;
}

@media (max-width: 600px) {
  .margin-sm-0 {
    margin: 0rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t0 {
    margin-top: 0rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b0 {
    margin-bottom: 0rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l0 {
    margin-left: 0rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r0 {
    margin-right: 0rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-1 {
    margin: 1rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t1 {
    margin-top: 1rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b1 {
    margin-bottom: 1rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l1 {
    margin-left: 1rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r1 {
    margin-right: 1rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-2 {
    margin: 2rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t2 {
    margin-top: 2rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b2 {
    margin-bottom: 2rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l2 {
    margin-left: 2rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r2 {
    margin-right: 2rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-3 {
    margin: 3rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t3 {
    margin-top: 3rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b3 {
    margin-bottom: 3rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l3 {
    margin-left: 3rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r3 {
    margin-right: 3rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-4 {
    margin: 4rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t4 {
    margin-top: 4rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b4 {
    margin-bottom: 4rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l4 {
    margin-left: 4rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r4 {
    margin-right: 4rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-5 {
    margin: 5rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t5 {
    margin-top: 5rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b5 {
    margin-bottom: 5rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l5 {
    margin-left: 5rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r5 {
    margin-right: 5rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-6 {
    margin: 6rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t6 {
    margin-top: 6rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b6 {
    margin-bottom: 6rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l6 {
    margin-left: 6rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r6 {
    margin-right: 6rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-7 {
    margin: 7rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t7 {
    margin-top: 7rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b7 {
    margin-bottom: 7rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l7 {
    margin-left: 7rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r7 {
    margin-right: 7rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-8 {
    margin: 8rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t8 {
    margin-top: 8rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b8 {
    margin-bottom: 8rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l8 {
    margin-left: 8rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r8 {
    margin-right: 8rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-9 {
    margin: 9rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t9 {
    margin-top: 9rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b9 {
    margin-bottom: 9rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l9 {
    margin-left: 9rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r9 {
    margin-right: 9rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-10 {
    margin: 10rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-t10 {
    margin-top: 10rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-b10 {
    margin-bottom: 10rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-l10 {
    margin-left: 10rem !important;
  }
}

@media (max-width: 600px) {
  .margin-sm-r10 {
    margin-right: 10rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-0 {
    margin: 0rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t0 {
    margin-top: 0rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b0 {
    margin-bottom: 0rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l0 {
    margin-left: 0rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r0 {
    margin-right: 0rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-1 {
    margin: 1rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t1 {
    margin-top: 1rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b1 {
    margin-bottom: 1rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l1 {
    margin-left: 1rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r1 {
    margin-right: 1rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-2 {
    margin: 2rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t2 {
    margin-top: 2rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b2 {
    margin-bottom: 2rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l2 {
    margin-left: 2rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r2 {
    margin-right: 2rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-3 {
    margin: 3rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t3 {
    margin-top: 3rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b3 {
    margin-bottom: 3rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l3 {
    margin-left: 3rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r3 {
    margin-right: 3rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-4 {
    margin: 4rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t4 {
    margin-top: 4rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b4 {
    margin-bottom: 4rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l4 {
    margin-left: 4rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r4 {
    margin-right: 4rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-5 {
    margin: 5rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t5 {
    margin-top: 5rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b5 {
    margin-bottom: 5rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l5 {
    margin-left: 5rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r5 {
    margin-right: 5rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-6 {
    margin: 6rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t6 {
    margin-top: 6rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b6 {
    margin-bottom: 6rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l6 {
    margin-left: 6rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r6 {
    margin-right: 6rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-7 {
    margin: 7rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t7 {
    margin-top: 7rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b7 {
    margin-bottom: 7rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l7 {
    margin-left: 7rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r7 {
    margin-right: 7rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-8 {
    margin: 8rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t8 {
    margin-top: 8rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b8 {
    margin-bottom: 8rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l8 {
    margin-left: 8rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r8 {
    margin-right: 8rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-9 {
    margin: 9rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t9 {
    margin-top: 9rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b9 {
    margin-bottom: 9rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l9 {
    margin-left: 9rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r9 {
    margin-right: 9rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-10 {
    margin: 10rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-t10 {
    margin-top: 10rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-b10 {
    margin-bottom: 10rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-l10 {
    margin-left: 10rem !important;
  }
}

@media (max-width: 900px) {
  .margin-md-r10 {
    margin-right: 10rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-0 {
    padding: 0rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t0 {
    padding-top: 0rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b0 {
    padding-bottom: 0rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l0 {
    padding-left: 0rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r0 {
    padding-right: 0rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-1 {
    padding: 1rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t1 {
    padding-top: 1rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b1 {
    padding-bottom: 1rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l1 {
    padding-left: 1rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r1 {
    padding-right: 1rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-2 {
    padding: 2rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t2 {
    padding-top: 2rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b2 {
    padding-bottom: 2rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l2 {
    padding-left: 2rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r2 {
    padding-right: 2rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-3 {
    padding: 3rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t3 {
    padding-top: 3rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b3 {
    padding-bottom: 3rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l3 {
    padding-left: 3rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r3 {
    padding-right: 3rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-4 {
    padding: 4rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t4 {
    padding-top: 4rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b4 {
    padding-bottom: 4rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l4 {
    padding-left: 4rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r4 {
    padding-right: 4rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-5 {
    padding: 5rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t5 {
    padding-top: 5rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b5 {
    padding-bottom: 5rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l5 {
    padding-left: 5rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r5 {
    padding-right: 5rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-6 {
    padding: 6rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t6 {
    padding-top: 6rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b6 {
    padding-bottom: 6rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l6 {
    padding-left: 6rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r6 {
    padding-right: 6rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-7 {
    padding: 7rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t7 {
    padding-top: 7rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b7 {
    padding-bottom: 7rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l7 {
    padding-left: 7rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r7 {
    padding-right: 7rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-8 {
    padding: 8rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t8 {
    padding-top: 8rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b8 {
    padding-bottom: 8rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l8 {
    padding-left: 8rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r8 {
    padding-right: 8rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-9 {
    padding: 9rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t9 {
    padding-top: 9rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b9 {
    padding-bottom: 9rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l9 {
    padding-left: 9rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r9 {
    padding-right: 9rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-10 {
    padding: 10rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-t10 {
    padding-top: 10rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-b10 {
    padding-bottom: 10rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-l10 {
    padding-left: 10rem !important;
  }
}

@media (max-width: 600px) {
  .padding-sm-r10 {
    padding-right: 10rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-0 {
    padding: 0rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t0 {
    padding-top: 0rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b0 {
    padding-bottom: 0rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l0 {
    padding-left: 0rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r0 {
    padding-right: 0rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-1 {
    padding: 1rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t1 {
    padding-top: 1rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b1 {
    padding-bottom: 1rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l1 {
    padding-left: 1rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r1 {
    padding-right: 1rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-2 {
    padding: 2rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t2 {
    padding-top: 2rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b2 {
    padding-bottom: 2rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l2 {
    padding-left: 2rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r2 {
    padding-right: 2rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-3 {
    padding: 3rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t3 {
    padding-top: 3rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b3 {
    padding-bottom: 3rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l3 {
    padding-left: 3rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r3 {
    padding-right: 3rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-4 {
    padding: 4rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t4 {
    padding-top: 4rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b4 {
    padding-bottom: 4rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l4 {
    padding-left: 4rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r4 {
    padding-right: 4rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-5 {
    padding: 5rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t5 {
    padding-top: 5rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b5 {
    padding-bottom: 5rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l5 {
    padding-left: 5rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r5 {
    padding-right: 5rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-6 {
    padding: 6rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t6 {
    padding-top: 6rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b6 {
    padding-bottom: 6rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l6 {
    padding-left: 6rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r6 {
    padding-right: 6rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-7 {
    padding: 7rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t7 {
    padding-top: 7rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b7 {
    padding-bottom: 7rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l7 {
    padding-left: 7rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r7 {
    padding-right: 7rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-8 {
    padding: 8rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t8 {
    padding-top: 8rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b8 {
    padding-bottom: 8rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l8 {
    padding-left: 8rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r8 {
    padding-right: 8rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-9 {
    padding: 9rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t9 {
    padding-top: 9rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b9 {
    padding-bottom: 9rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l9 {
    padding-left: 9rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r9 {
    padding-right: 9rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-10 {
    padding: 10rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-t10 {
    padding-top: 10rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-b10 {
    padding-bottom: 10rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-l10 {
    padding-left: 10rem !important;
  }
}

@media (max-width: 900px) {
  .padding-md-r10 {
    padding-right: 10rem !important;
  }
}

.margin-responsive {
  margin: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.margin-responsive-t {
  margin-top: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.margin-responsive-b {
  margin-bottom: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.margin-responsive-l {
  margin-left: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.margin-responsive-r {
  margin-right: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.margin-responsive-x {
  margin-left: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
  margin-right: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.margin-responsive-y {
  margin-top: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
  margin-bottom: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.padding-responsive {
  padding: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.padding-responsive-t {
  padding-top: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.padding-responsive-b {
  padding-bottom: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.padding-responsive-l {
  padding-left: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.padding-responsive-r {
  padding-right: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.padding-responsive-x {
  padding-left: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
  padding-right: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.padding-responsive-y {
  padding-top: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
  padding-bottom: clamp(1rem, 5vw, min(6rem, 10vw)) !important;
}

.font-col-base {
  color: #2B2826 !important;
}

.bg-col-base {
  background-color: #2B2826 !important;
}

.hover-font-col-base:hover {
  color: #2B2826 !important;
}

.children-font-col-base * {
  color: #2B2826 !important;
}

.font-col-accent {
  color: #00D8B2 !important;
}

.bg-col-accent {
  background-color: #00D8B2 !important;
}

.hover-font-col-accent:hover {
  color: #00D8B2 !important;
}

.children-font-col-accent * {
  color: #00D8B2 !important;
}

.font-col-comp {
  color: #2660A4 !important;
}

.bg-col-comp {
  background-color: #2660A4 !important;
}

.hover-font-col-comp:hover {
  color: #2660A4 !important;
}

.children-font-col-comp * {
  color: #2660A4 !important;
}

.font-col-contrast {
  color: #FF4242 !important;
}

.bg-col-contrast {
  background-color: #FF4242 !important;
}

.hover-font-col-contrast:hover {
  color: #FF4242 !important;
}

.children-font-col-contrast * {
  color: #FF4242 !important;
}

.font-col-dark {
  color: #2B2826 !important;
}

.bg-col-dark {
  background-color: #2B2826 !important;
}

.hover-font-col-dark:hover {
  color: #2B2826 !important;
}

.children-font-col-dark * {
  color: #2B2826 !important;
}

.font-col-light {
  color: #F5F5F5 !important;
}

.bg-col-light {
  background-color: #F5F5F5 !important;
}

.hover-font-col-light:hover {
  color: #F5F5F5 !important;
}

.children-font-col-light * {
  color: #F5F5F5 !important;
}

.vh-5 {
  height: 5vh !important;
}

.vh-min-5 {
  min-height: 5vh !important;
}

.vh-max-5 {
  max-height: 5vh !important;
}

.vw-5 {
  width: 5vw !important;
}

.vw-min-5 {
  min-width: 5vw !important;
}

.vw-max-5 {
  max-width: 5vw !important;
}

.vh-10 {
  height: 10vh !important;
}

.vh-min-10 {
  min-height: 10vh !important;
}

.vh-max-10 {
  max-height: 10vh !important;
}

.vw-10 {
  width: 10vw !important;
}

.vw-min-10 {
  min-width: 10vw !important;
}

.vw-max-10 {
  max-width: 10vw !important;
}

.vh-15 {
  height: 15vh !important;
}

.vh-min-15 {
  min-height: 15vh !important;
}

.vh-max-15 {
  max-height: 15vh !important;
}

.vw-15 {
  width: 15vw !important;
}

.vw-min-15 {
  min-width: 15vw !important;
}

.vw-max-15 {
  max-width: 15vw !important;
}

.vh-20 {
  height: 20vh !important;
}

.vh-min-20 {
  min-height: 20vh !important;
}

.vh-max-20 {
  max-height: 20vh !important;
}

.vw-20 {
  width: 20vw !important;
}

.vw-min-20 {
  min-width: 20vw !important;
}

.vw-max-20 {
  max-width: 20vw !important;
}

.vh-25 {
  height: 25vh !important;
}

.vh-min-25 {
  min-height: 25vh !important;
}

.vh-max-25 {
  max-height: 25vh !important;
}

.vw-25 {
  width: 25vw !important;
}

.vw-min-25 {
  min-width: 25vw !important;
}

.vw-max-25 {
  max-width: 25vw !important;
}

.vh-30 {
  height: 30vh !important;
}

.vh-min-30 {
  min-height: 30vh !important;
}

.vh-max-30 {
  max-height: 30vh !important;
}

.vw-30 {
  width: 30vw !important;
}

.vw-min-30 {
  min-width: 30vw !important;
}

.vw-max-30 {
  max-width: 30vw !important;
}

.vh-35 {
  height: 35vh !important;
}

.vh-min-35 {
  min-height: 35vh !important;
}

.vh-max-35 {
  max-height: 35vh !important;
}

.vw-35 {
  width: 35vw !important;
}

.vw-min-35 {
  min-width: 35vw !important;
}

.vw-max-35 {
  max-width: 35vw !important;
}

.vh-40 {
  height: 40vh !important;
}

.vh-min-40 {
  min-height: 40vh !important;
}

.vh-max-40 {
  max-height: 40vh !important;
}

.vw-40 {
  width: 40vw !important;
}

.vw-min-40 {
  min-width: 40vw !important;
}

.vw-max-40 {
  max-width: 40vw !important;
}

.vh-45 {
  height: 45vh !important;
}

.vh-min-45 {
  min-height: 45vh !important;
}

.vh-max-45 {
  max-height: 45vh !important;
}

.vw-45 {
  width: 45vw !important;
}

.vw-min-45 {
  min-width: 45vw !important;
}

.vw-max-45 {
  max-width: 45vw !important;
}

.vh-50 {
  height: 50vh !important;
}

.vh-min-50 {
  min-height: 50vh !important;
}

.vh-max-50 {
  max-height: 50vh !important;
}

.vw-50 {
  width: 50vw !important;
}

.vw-min-50 {
  min-width: 50vw !important;
}

.vw-max-50 {
  max-width: 50vw !important;
}

.vh-55 {
  height: 55vh !important;
}

.vh-min-55 {
  min-height: 55vh !important;
}

.vh-max-55 {
  max-height: 55vh !important;
}

.vw-55 {
  width: 55vw !important;
}

.vw-min-55 {
  min-width: 55vw !important;
}

.vw-max-55 {
  max-width: 55vw !important;
}

.vh-60 {
  height: 60vh !important;
}

.vh-min-60 {
  min-height: 60vh !important;
}

.vh-max-60 {
  max-height: 60vh !important;
}

.vw-60 {
  width: 60vw !important;
}

.vw-min-60 {
  min-width: 60vw !important;
}

.vw-max-60 {
  max-width: 60vw !important;
}

.vh-65 {
  height: 65vh !important;
}

.vh-min-65 {
  min-height: 65vh !important;
}

.vh-max-65 {
  max-height: 65vh !important;
}

.vw-65 {
  width: 65vw !important;
}

.vw-min-65 {
  min-width: 65vw !important;
}

.vw-max-65 {
  max-width: 65vw !important;
}

.vh-70 {
  height: 70vh !important;
}

.vh-min-70 {
  min-height: 70vh !important;
}

.vh-max-70 {
  max-height: 70vh !important;
}

.vw-70 {
  width: 70vw !important;
}

.vw-min-70 {
  min-width: 70vw !important;
}

.vw-max-70 {
  max-width: 70vw !important;
}

.vh-75 {
  height: 75vh !important;
}

.vh-min-75 {
  min-height: 75vh !important;
}

.vh-max-75 {
  max-height: 75vh !important;
}

.vw-75 {
  width: 75vw !important;
}

.vw-min-75 {
  min-width: 75vw !important;
}

.vw-max-75 {
  max-width: 75vw !important;
}

.vh-80 {
  height: 80vh !important;
}

.vh-min-80 {
  min-height: 80vh !important;
}

.vh-max-80 {
  max-height: 80vh !important;
}

.vw-80 {
  width: 80vw !important;
}

.vw-min-80 {
  min-width: 80vw !important;
}

.vw-max-80 {
  max-width: 80vw !important;
}

.vh-85 {
  height: 85vh !important;
}

.vh-min-85 {
  min-height: 85vh !important;
}

.vh-max-85 {
  max-height: 85vh !important;
}

.vw-85 {
  width: 85vw !important;
}

.vw-min-85 {
  min-width: 85vw !important;
}

.vw-max-85 {
  max-width: 85vw !important;
}

.vh-90 {
  height: 90vh !important;
}

.vh-min-90 {
  min-height: 90vh !important;
}

.vh-max-90 {
  max-height: 90vh !important;
}

.vw-90 {
  width: 90vw !important;
}

.vw-min-90 {
  min-width: 90vw !important;
}

.vw-max-90 {
  max-width: 90vw !important;
}

.vh-95 {
  height: 95vh !important;
}

.vh-min-95 {
  min-height: 95vh !important;
}

.vh-max-95 {
  max-height: 95vh !important;
}

.vw-95 {
  width: 95vw !important;
}

.vw-min-95 {
  min-width: 95vw !important;
}

.vw-max-95 {
  max-width: 95vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.vh-min-100 {
  min-height: 100vh !important;
}

.vh-max-100 {
  max-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vw-min-100 {
  min-width: 100vw !important;
}

.vw-max-100 {
  max-width: 100vw !important;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1.5;
  padding: 0.5em 1em;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.btn-solid-base {
  background-color: #2B2826;
  color: #F5F5F5;
}
.btn-solid-base:hover {
  background-color: #272422;
}

.btn-outline-base {
  background: transparent;
  border: 1px solid #2B2826;
  color: #2B2826;
}
.btn-outline-base:hover {
  background-color: #d7d4d1;
}

.btn-ghost-base {
  background-color: transparent;
  color: #2B2826;
}
.btn-ghost-base:hover {
  background-color: #ebe9e8;
}

.btn-solid-accent {
  background-color: #00D8B2;
  color: #2B2826;
}
.btn-solid-accent:hover {
  background-color: #00c2a0;
}

.btn-outline-accent {
  background: transparent;
  border: 1px solid #00D8B2;
  color: #00D8B2;
}
.btn-outline-accent:hover {
  background-color: #c4fff5;
}

.btn-ghost-accent {
  background-color: transparent;
  color: #00D8B2;
}
.btn-ghost-accent:hover {
  background-color: #e2fffa;
}

.btn-solid-comp {
  background-color: #2660A4;
  color: #F5F5F5;
}
.btn-solid-comp:hover {
  background-color: #225694;
}

.btn-outline-comp {
  background: transparent;
  border: 1px solid #2660A4;
  color: #2660A4;
}
.btn-outline-comp:hover {
  background-color: #cddff3;
}

.btn-ghost-comp {
  background-color: transparent;
  color: #2660A4;
}
.btn-ghost-comp:hover {
  background-color: #e6eff9;
}

.btn-solid-contrast {
  background-color: #FF4242;
  color: #F5F5F5;
}
.btn-solid-contrast:hover {
  background-color: #ff2222;
}

.btn-outline-contrast {
  background: transparent;
  border: 1px solid #FF4242;
  color: #FF4242;
}
.btn-outline-contrast:hover {
  background-color: #ffd9d9;
}

.btn-ghost-contrast {
  background-color: transparent;
  color: #FF4242;
}
.btn-ghost-contrast:hover {
  background-color: #ffecec;
}

.btn-solid-dark {
  background-color: #2B2826;
  color: #F5F5F5;
}
.btn-solid-dark:hover {
  background-color: #272422;
}

.btn-outline-dark {
  background: transparent;
  border: 1px solid #2B2826;
  color: #2B2826;
}
.btn-outline-dark:hover {
  background-color: #d7d4d1;
}

.btn-ghost-dark {
  background-color: transparent;
  color: #2B2826;
}
.btn-ghost-dark:hover {
  background-color: #ebe9e8;
}

.btn-solid-light {
  background-color: #F5F5F5;
  color: #2B2826;
}
.btn-solid-light:hover {
  background-color: #dddddd;
}

.btn-outline-light {
  background: transparent;
  border: 1px solid #F5F5F5;
  color: #F5F5F5;
}
.btn-outline-light:hover {
  background-color: #fdfdfd;
}

.btn-ghost-light {
  background-color: transparent;
  color: #F5F5F5;
}
.btn-ghost-light:hover {
  background-color: #fefefe;
}

.btn-sm {
  font-size: 0.875rem;
  padding: 0.4em 0.8em;
}

.btn-md {
  font-size: 1rem;
  padding: 0.5em 1em;
}

.btn-lg {
  font-size: 1.25rem;
  padding: 0.75em 1.5em;
}

.btn-full {
  width: 100%;
}

.btn-pill {
  border-radius: 9999px;
}

.btn-square {
  border-radius: 0;
}

.btn-hover-solid-base:hover,
.btn-hover-solid-base:focus-visible {
  background-color: #2B2826 !important;
  color: #F5F5F5 !important;
  border: 1px solid transparent !important;
}

.btn-hover-outline-base:hover,
.btn-hover-outline-base:focus-visible {
  background-color: transparent !important;
  border-color: #2B2826 !important;
  color: #2B2826 !important;
}

.btn-hover-solid-accent:hover,
.btn-hover-solid-accent:focus-visible {
  background-color: #00D8B2 !important;
  color: #2B2826 !important;
  border: 1px solid transparent !important;
}

.btn-hover-outline-accent:hover,
.btn-hover-outline-accent:focus-visible {
  background-color: transparent !important;
  border-color: #00D8B2 !important;
  color: #00D8B2 !important;
}

.btn-hover-solid-comp:hover,
.btn-hover-solid-comp:focus-visible {
  background-color: #2660A4 !important;
  color: #F5F5F5 !important;
  border: 1px solid transparent !important;
}

.btn-hover-outline-comp:hover,
.btn-hover-outline-comp:focus-visible {
  background-color: transparent !important;
  border-color: #2660A4 !important;
  color: #2660A4 !important;
}

.btn-hover-solid-contrast:hover,
.btn-hover-solid-contrast:focus-visible {
  background-color: #FF4242 !important;
  color: #F5F5F5 !important;
  border: 1px solid transparent !important;
}

.btn-hover-outline-contrast:hover,
.btn-hover-outline-contrast:focus-visible {
  background-color: transparent !important;
  border-color: #FF4242 !important;
  color: #FF4242 !important;
}

.btn-hover-solid-dark:hover,
.btn-hover-solid-dark:focus-visible {
  background-color: #2B2826 !important;
  color: #F5F5F5 !important;
  border: 1px solid transparent !important;
}

.btn-hover-outline-dark:hover,
.btn-hover-outline-dark:focus-visible {
  background-color: transparent !important;
  border-color: #2B2826 !important;
  color: #2B2826 !important;
}

.btn-hover-solid-light:hover,
.btn-hover-solid-light:focus-visible {
  background-color: #F5F5F5 !important;
  color: #2B2826 !important;
  border: 1px solid transparent !important;
}

.btn-hover-outline-light:hover,
.btn-hover-outline-light:focus-visible {
  background-color: transparent !important;
  border-color: #F5F5F5 !important;
  color: #F5F5F5 !important;
}

.btn-outline {
  background: transparent;
  border: 1px solid currentColor;
  color: inherit;
}
.btn-outline:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
@media (prefers-color-scheme: dark) {
  .btn-outline:hover {
    background-color: rgba(255, 255, 255, 0.1);
  }
}

/* Custom Modifiers */
.frame {
  border-left: 2px solid #F5F5F5;
  padding-left: 2rem;
  border-bottom: 35px solid #F5F5F5;
  border-radius: 0 0 0 1rem;
}

footer {
  border-bottom: 35px solid;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: -5%;
  font-weight: 100;
}

.pill {
  border: 1px solid currentColor;
  padding: 0.5rem 1rem;
  display: inline-block;
  border-radius: 2rem;
}

.hover-hl {
  position: relative;
}
.hover-hl::before {
  content: "";
  transition: width 0.2s ease-out;
  position: absolute;
  inset: 0;
  background-color: rgba(38, 96, 164, 0.2);
  width: 0;
}
.hover-hl:hover::before {
  width: 100%;
}

.hover-shift {
  position: relative;
  height: 40px; /* matches image height */
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: fit-content;
}
.hover-shift span {
  width: 100%;
  height: 40px; /* set span height to image height */
  display: block; /* ensures vertical stacking */
  transition: transform 0.2s ease-out;
}
.hover-shift:hover span {
  transform: translateY(-40px);
}