/*
Theme Name: BUF
Author: Stephen E. Brandt
Author URI: https://www.unleashedcore.com
Description: A custom WordPress theme for The Baptist University of Florida
Version: 1.0
*/

.image-container {
  position: absolute;
  width: 100vw;
  max-width: 1920px;
  height: 100vh;
  background-size: cover;
  background-position: center;
  transition: opacity 1s ease-in-out;
}
.overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100vw;
  max-width: 1920px;
  color: white;
  font-size: 2.5rem;
  font-weight: bold;
  background-color: rgba(0, 33, 89, 0.4);
}

body, header, main, footer {
  width: 100%;
  max-width: 1920px;
  margin: auto;
/*   overflow-x: hidden; */
}

h1, h2, h3, h4, h5, h6, p {
  cursor: default;
}

h1.home-hero, #hero h1 {
  font-family: "Trade Gothic BUF", Helvetica, Arial, sans-serif;
  font-size: clamp(3.75rem, 2.5rem + 6.25vw, 10rem);
  text-transform: uppercase;
  line-height: 1;
  margin: 0;
  color: #ffffff;
}

h2, h3, h4, h5, h6 {
  font-family: "Trade Gothic BUF", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  line-height: 1;
  margin: 0;
  color: rgb(0, 33, 89);
}

ul {
  list-style-type: "- ";
  list-style-position: inside;
  padding-inline-start: 0px;
  margin-bottom: 0;
}

ul:has(+ *) {
  margin-bottom: 1em;
} 

ul li, ol li {
  padding-bottom: 1em;
}
ul.condensed li, ol.condensed li {
  padding-bottom: .5em;
}
ul li:last-of-type, ol li:last-of-type {
  padding-bottom: 0px;
}

ol {
  list-style-position: inside;
  padding-inline-start: 0px;
  margin-bottom: 0;
  list-style: none; /* Remove default numbering */
  counter-reset: circled-counter; /* Initialize counter */
  padding-left: 0; /* Remove default padding */
}

ol:has(+ *) {
  margin-bottom: 1em;
} 

ol li {
  margin-bottom: 10px; /* Adjust spacing between items */
  position: relative;
}

.btn {
  font-family: "Marion BUF", Times, Times New Roman, serif;
  font-style: italic;
  border-radius: 16px;
}
.btn:not(header .btn) {
  font-size: clamp(0.9375rem, 0rem + 1.1719vw, 1.40625rem);
  border-radius: clamp(1rem, 0rem + 1.25vw, 1.5rem);
  padding: clamp(0.4375rem, 0rem + 0.5469vw, 0.65625rem) clamp(1.3125rem, -0.125rem + 1.7969vw, 2.03125rem) clamp(0.3125rem, 0rem + 0.3906vw, 0.46875rem);
  width: -moz-max-content;
  width: max-content;
}

.no-scroll {
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
}

*:not(footer, .navy)::-moz-selection {
  background: rgb(0, 33, 89);
  color: #ffffff;
}

*:not(footer, .navy)::selection {
  background: rgb(0, 33, 89);
  color: #ffffff;
}

footer::-moz-selection, .navy::-moz-selection {
  background: rgb(214, 191, 145);
  color: rgb(0, 33, 89);
}

footer::selection, .navy::selection {
  background: rgb(214, 191, 145);
  color: rgb(0, 33, 89);
}

.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6, .text-white p {
  color: #ffffff;
}

.text-blue h1, .text-blue h2, .text-blue h3, .text-blue h4, .text-blue h5, .text-blue h6, .text-blue p {
  color: rgb(0, 33, 89);
}
.btn-primary {
  color: #ffffff;
  border-color: rgb(0, 33, 89);
  background: rgb(0, 33, 89);
}
.btn-primary:hover {
  border-color: rgb(214, 191, 145);
  background: rgb(214, 191, 145);
}
.btn-primary:active {
  border-color: rgb(214, 191, 145);
  background: rgb(214, 191, 145);
}
.btn-primary:focus-visible {
  border-color: rgb(214, 191, 145);
  background: rgb(214, 191, 145);
  box-shadow: 0 0 0 0.25rem rgba(214, 191, 145, 0.5);
}
.btn-outline-primary {
  color: rgb(0, 33, 89);
  border-color: rgb(0, 33, 89);
}
.btn-outline-primary:hover {
  border-color: rgb(214, 191, 145);
  background: rgb(214, 191, 145);
}
.btn-outline-primary:active {
  border-color: rgb(214, 191, 145);
  background: rgb(214, 191, 145);
}
.btn-outline-primary:focus-visible {
  border-color: rgb(214, 191, 145);
  background: rgb(214, 191, 145);
  box-shadow: 0 0 0 0.25rem rgba(214, 191, 145, 0.5);
}

.btn-light:hover {
  border-color: rgb(214, 191, 145) !important;
  background: rgb(214, 191, 145) !important;
}
.btn-light:active {
  border-color: rgb(214, 191, 145) !important;
  background: rgb(214, 191, 145) !important;
}
.btn-light:focus-visible {
  border-color: rgb(214, 191, 145);
  background: rgb(214, 191, 145);
  box-shadow: 0 0 0 0.25rem rgba(214, 191, 145, 0.5);
}

header {
  position: sticky;
  top: 0;
  height: 77px;
  transition: 0.5s ease-in-out;
  z-index: 99;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
header #logo {
  height: 45px;
  margin: 16px 36px;
}
header .btn {
  display: none;
  font-size: 15px;
  width: 107px;
}
header .btn:first-of-type {
  margin-right: 23px;
  padding-left: 12px;
  padding-right: 12px;
}
header .btn:nth-of-type(2) {
  margin-right: 30px;
}
@media (min-width: 768px) {
  header .btn {
    display: inline-block;
  }
}
header #menu-btn {
  padding: 29px 42px;
  height: 100%;
  background: #ffffff;
  cursor: pointer;
}
header #menu-icon {
  height: 21px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  header #menu-icon {
    margin-right: 13px;
  }
}
header #menu-icon .menu-icon-bar {
  fill: none;
  stroke: #002159;
}
header #menu-text {
  display: none;
  font-family: "Marion BUF", Times, Times New Roman, serif;
  font-size: 20px;
  font-style: italic;
  color: rgb(0, 33, 89);
}
@media (min-width: 768px) {
  header #menu-text {
    display: inline-block;
  }
}
header.scrolled {
  background: rgb(0, 33, 89);
}
header.scrolled #give-btn {
  width: 64px;
}
header.scrolled #apply-btn {
  margin-right: 0;
}
header.scrolled #menu-icon {
  margin-right: 0;
  cursor: pointer;
}
header.scrolled #menu-icon .menu-icon-bar {
  stroke: #ffffff;
}
header.scrolled #menu-btn {
  cursor: default;
  background: none;
}

main {
  min-height: 100vh;
  min-height: 100dvh;
  margin-top: -77px;
}

section {
  min-height: auto;
}
@media (min-width: 768px) {
  section {
    min-height: calc(100vh - 76px);
    min-height: calc(100dvh - 76px);
  }
}
section p.navy {
  color: rgb(0, 33, 89);
}
section#hero {
  min-height: 100svh;
  height: fit-content;
  width: 100%;
  max-width: 1920px;
  background: rgb(0, 33, 89);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
section
section#hero .hero-text {
  width: 100%;
  max-width: 612px;
}
@media (min-width: 1280px) {
  section#hero .hero-text {
    width: 46.98%;
    max-width: unset;
  }
}
section#hero .hero-text h1 {
  font-family: "Trade Gothic BUF", Helvetica, Arial, sans-serif;
  font-size: clamp(3.75rem, 2.8571rem + 4.4643vw, 5rem);
  color: white;
  text-transform: uppercase;
  line-height: 1.4125;
  margin-bottom: 0px;
}
@media (min-width: 768px) {
  section#hero .hero-text h1 {
    font-size: clamp(5rem, 0rem + 6.25vw, 7.5rem);
  }
}
section#hero .hero-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1920px;
  height: 100vh;
  height: 100svh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin: auto;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
section.navy {
  color: #ffffff;
  background-color: rgb(0, 33, 89);
}
section.gold {
  color: #ffffff;
  background-color: rgb(214, 191, 145);
}
section .text-white h1, section .text-white h2, section .text-white h3, section .text-white h4, section .text-white h5, section .text-white h6, section .text-white p {
  color: #ffffff;
}
section#languages {
  overflow-x: hidden;
}
section#languages .container-fluid {
  margin-left: 6.055%;
  margin-right: 0;
}
@media (min-width: 1280px) {
  section#campuses .container-fluid {
    max-width: 87.89%;
  }
}
section#campuses .container-fluid .row {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 1280px) {
  section#campuses .container-fluid .row {
    padding: 0 6.055%;
  }
}
section.image .container-fluid {
  width: 78.125%;
}
section#getbuf h2 {
  font-size: clamp(5rem, 0rem + 6.25vw, 7.5rem);
  line-height: 1;
}
section h2.h2-lg {
  font-size: clamp(2.8125rem, 2.1429rem + 3.3482vw, 3.75rem);
  line-height: 1;
}
@media (min-width: 1280px) {
  section h2.h2-lg {
    font-size: clamp(3.75rem, 0rem + 4.6875vw, 5.625rem);
  }
}
section h2.h2-xl {
  font-size: clamp(3.75rem, 2.8571rem + 4.4643vw, 5rem);
  line-height: 1;
  width: 100%;
}
@media (min-width: 1280px) {
  section h2.h2-xl {
    font-size: clamp(5rem, 0rem + 6.25vw, 7.5rem);
  }
}
section.image .btn {
  font-size: clamp(0.9375rem, 0rem + 1.1719vw, 1.40625rem);
  border-radius: clamp(1rem, 0rem + 1.25vw, 1.5rem);
  padding: clamp(0.4375rem, 0rem + 0.5469vw, 0.65625rem) clamp(1.3125rem, -0.125rem + 1.7969vw, 2.03125rem) clamp(0.3125rem, 0rem + 0.3906vw, 0.46875rem);
  width: -moz-max-content;
  width: max-content;
}
section#athletics .container-fluid {
  max-width: 77.1875%;
}
section#athletics #athletics-btn {
  font-size: clamp(0.9375rem, 0rem + 1.1719vw, 1.40625rem);
  border-radius: clamp(1rem, 0rem + 1.25vw, 1.5rem);
  padding: clamp(0.4375rem, 0rem + 0.5469vw, 0.65625rem) clamp(1.3125rem, -0.125rem + 1.7969vw, 2.03125rem) clamp(0.3125rem, 0rem + 0.3906vw, 0.46875rem);
  width: -moz-max-content;
  width: max-content;
}

footer {
  background: rgb(0, 33, 89);
}
footer * {
  color: #ffffff;
  cursor: default;
}
footer#home-footer {
  min-height: calc(100vh - 76px);
  min-height: calc(100lvh - 76px);
}
footer#home-footer h2 {
  line-height: 1;
  margin-bottom: clamp(1.125rem, 0rem + 1.4063vw, 1.6875rem);
  font-size: 75px;
}
@media (max-width: 768px) {
  footer#home-footer h2 {

        font-size: clamp(2.34375rem, 1.7857rem + 2.7902vw, 3.125rem);
  }
}
footer#home-footer h3 {
  font-family: "Marion BUF", Times, Times New Roman, serif;
  text-transform: none;
  font-style: italic;
  margin-bottom: 9.125%;
    font-size: 45px;
}
@media (min-width: 768px) {
  footer#home-footer h3 {
    margin-bottom: clamp(4.375rem, 0rem + 5.4688vw, 6.5625rem);
  }
}
footer#home-footer h4 {
  font-size: clamp(1.25rem, 0rem + 1.5625vw, 1.875rem);
  margin-bottom: clamp(0.5rem, 0rem + 0.625vw, 0.75rem);
  color: #fff;
}
footer#home-footer .btn {
  padding: 7px 30px 5px;
}
footer#home-footer #home-footer-content {
  margin: 3% 5.3% 0;
}
@media (min-width: 1280px) {
  footer#home-footer #home-footer-content {
    margin: clamp(2.4375rem, 0rem + 3.0469vw, 3.65625rem) clamp(4.25rem, 0rem + 5.3125vw, 6.375rem) 0;
  }
}
footer#home-footer #home-footer-links {
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  padding: clamp(1.875rem, 0rem + 2.3438vw, 2.8125rem) 0;
  margin: 3% 5.3%;
}
@media (min-width: 1280px) {
  footer#home-footer #home-footer-links {
    margin: clamp(2.4375rem, 0rem + 3.0469vw, 3.65625rem) clamp(4.25rem, 0rem + 5.3125vw, 6.375rem);
  }
}
footer#home-footer .footer-links {
  font-family: "Marion BUF", Times, Times New Roman, serif;
  font-size: clamp(0.9375rem, 0rem + 1.1719vw, 1.40625rem);
  font-style: italic;
}
footer#home-footer .footer-links:first-of-type {
  margin-bottom: 0px;
}
@media (min-width: 576px) {
  footer#home-footer .footer-links:first-of-type {
    margin-bottom: clamp(2.625rem, 0rem + 3.2813vw, 3.9375rem);
  }
}
footer#home-footer .footer-links a {
  text-decoration: none;
  margin-right: clamp(1.25rem, 0rem + 1.5625vw, 1.875rem);
  cursor: pointer;
  color: #fff;
}
footer#home-footer .footer-links a:last-child {
  margin: 0;
}
footer#main-footer {
  padding: clamp(1.125rem, 0rem + 1.4063vw, 1.6875rem);
}
footer#main-footer img {
  height: clamp(1.25rem, 0rem + 1.5625vw, 1.875rem);
  width: clamp(1.25rem, 0rem + 1.5625vw, 1.875rem);
  margin: clamp(0.3125rem, 0rem + 0.3906vw, 0.46875rem);
  cursor: pointer;
}
footer#main-footer #footer-tagline {
  display: block;
  font-family: "Marion BUF", Times, Times New Roman, serif;
  font-size: clamp(1rem, 0rem + 1.25vw, 1.5rem);
  color: #ffffff;
  font-style: italic;
}



.card {
  text-align: center;
  min-width: 200px;
  border-radius: clamp(3rem, 0rem + 3.75vw, 4.5rem);
  aspect-ratio: 2/3;
  background-size: 100%;
  background-position: center;
  cursor: pointer;
  transition: 0.3s ease-in-out;
}
.card:hover {
  background-size: 105%;
}
.card:focus {
  background-size: 105%;
}
.card h3.text-white, .card p.text-white {
  color: #ffffff;
}
.card h3.text-blue, .card p.text-blue {
  color: rgb(0, 33, 89);
}
.card p {
  font-size: clamp(0.9375rem, 0rem + 1.1719vw, 1.40625rem);
  margin: 0;
}
.card .language {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  border-radius: 0 0 0 clamp(3rem, 0rem + 3.75vw, 4.5rem);
  background: #ffffff;
  width: 75%;
  padding: clamp(1.0625rem, 0rem + 1.3281vw, 1.59375rem) 0 clamp(1.0625rem, 0rem + 1.3281vw, 1.59375rem) 25%;
}
.card .language h3 {
  font-size: clamp(0.9375rem, 0rem + 1.1719vw, 1.40625rem);
}
.card .language p {
  font-size: clamp(0.625rem, 0rem + 0.7813vw, 0.9375rem);
}

#degrees #degree-tagline {
  font-family: "Marion BUF", Times, Times New Roman, serif;
  font-style: italic;
  font-size: clamp(0.9375rem, 0rem + 1.1719vw, 1.40625rem);
  text-transform: uppercase;
  margin-bottom: 5rem;
}
#degrees .degree {
  display: block;
  font-family: "Trade Gothic BUF", Helvetica, Arial, sans-serif;
  font-size: clamp(3.125rem, 0rem + 3.9063vw, 4.6875rem);
  text-transform: uppercase;
}
#degrees .degree:last-of-type {
  margin-bottom: 90px;
}

.col-1-5 {
  flex: 0 0 20%;
  max-width: 20%;
}

.col-2-5 {
  flex: 0 0 40%;
  max-width: 40%;
}

.col-3-5 {
  flex: 0 0 60%;
  max-width: 60%;
}

.col-4-5 {
  flex: 0 0 80%;
  max-width: 80%;
}

#languages .col-1-5 {
  min-width: 225px;
}
#languages .col-2-5 {
  min-width: 354px;
}

@media (max-width: 1280px) {
  .campus {
    width: 225px;
    max-width: unset;
  }
}
.module.full-width.white .container-fluid {
  max-width: 972px;
}
.module.full-width.white .container-fluid h2 {
  font-size: 50px;
  line-height: 1.4;
  margin-bottom: 30px;
}
.module.full-width.white .container-fluid p {
  font-size: 20px;
}

.stack {
  background: #f7f7f7;
}
.stack .img {
  min-height: 256px;
  height: 33vh;
}

/* Customize the entire scrollbar */
#campuses ::-webkit-scrollbar {
  width: 75px;
  height: 75px;
  position: absolute;
  top: 20px;
}

/* Customize the track (the background of the scrollbar) */
#campuses ::-webkit-scrollbar-track {
  border-radius: 10px;
  background-image: linear-gradient(to left, #fff 50px, transparent 50px), linear-gradient(to right, #fff 50px, transparent 50px), linear-gradient(transparent 49%, rgb(214, 191, 145) 49%, rgb(214, 191, 145) 51%, transparent 51%);
}

/* Customize the thumb with an embedded SVG */
#campuses ::-webkit-scrollbar-thumb {
  background-image: url("https://staging.buf.edu/wp-content/themes/baptistuniversity/sources/img/left-right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: grab;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#campuses ::-webkit-scrollbar-thumb:active {
  cursor: grabbing;
  background-image: url("https://staging.buf.edu/wp-content/themes/baptistuniversity/sources/img/left-right_hover.svg");
}

/* Change the SVG color on hover */
#campuses ::-webkit-scrollbar-thumb:hover {
  background-image: url("https://staging.buf.edu/wp-content/themes/baptistuniversity/sources/img/left-right_hover.svg");
}

#languages .card {
  width: clamp(12.5rem, 17.656vw - 1.625rem, 19.563rem);
  margin: 0.75rem;
}
@media (min-width: 768px) {
  #languages .card:last-of-type {
    margin-right: 100px;
  }
}

#languages .col-3-5 {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-top: 75px;
}
@media (min-width: 1190px) {
  #languages .col-3-5 {
    padding-top: 0px;
  }
}

#languages .lang-scroll {
  width: 100vw;
  margin: auto;
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  justify-content: left;
  padding: 0 6.055%;
}
@media (min-width: 676px) {
  #languages .lang-scroll {
    justify-content: center;
  }
}

/* Customize the entire scrollbar */
#languages ::-webkit-scrollbar {
  width: 75px;
  height: 75px;
  position: absolute;
  top: 20px;
}
@media (min-width: 1190px) {
  #languages ::-webkit-scrollbar {
    display: none;
  }
}

/* Customize the track (the background of the scrollbar) */
#languages ::-webkit-scrollbar-track {
  border-radius: 10px;
  background-image: linear-gradient(to left, rgb(0, 33, 89) 50px, transparent 50px), linear-gradient(to right, rgb(0, 33, 89) 50px, transparent 50px), linear-gradient(transparent 49%, #aaa 49%, #aaa 51%, transparent 51%);
}

/* Customize the thumb with an embedded SVG */
#languages ::-webkit-scrollbar-thumb {
  background-image: url("https://staging.buf.edu/wp-content/themes/baptistuniversity/sources/img/left-right_languages.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: grab;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#languages ::-webkit-scrollbar-thumb:active {
  cursor: grabbing;
  background-image: url("https://staging.buf.edu/wp-content/themes/baptistuniversity/sources/img/left-right_languages_hover.svg");
}

/* Change the SVG color on hover */
#languages ::-webkit-scrollbar-thumb:hover {
  background-image: url("https://staging.buf.edu/wp-content/themes/baptistuniversity/sources/img/left-right_languages_hover.svg");
}

#languages .scrollable-content {
  position: relative;
  padding-right: 60px !important;
}
section.block > .text {
  width: 100%;
}

@media (max-width: 768px) {
  section.block:has(.text) {
    min-height: 61.8vh;
  }
}
section.block > .text > h2 {
  width: 100%;
  max-width: 917px;
  line-height: 1.4;
}

@media (min-width: 1280px) {
  section.block > .text > h2 {
    width: 73.4375%;
    max-width: unset;
  }
}

section.block > .text > h3 {
  width: 100%;
  max-width: 917px;
  line-height: 1.4;
  padding-bottom: .4rem;
  margin: auto;
}
@media (min-width: 1280px) {
  section.block > .text > h3 {
    width: 73.4375%;
    max-width: unset;
  }
}
section.block > .text > p {
  width: 100%;
  max-width: 649px;
  line-height: 1.25;
  text-wrap-style: pretty;
}
@media (min-width: 1280px) {
  section.block > .text > p {
    width: 51.962%;
    max-width: unset;
  }
}
section.block > .text .two-columns {
  width: 100%;
  max-width: 1000px;
}
@media (min-width: 1280px) {
  section.block > .text .two-columns {
    width: 78.125%;
    max-width: unset;
  }
}

section.block > .text .three-columns {
  width: 100%;
  max-width: 1125px;
}
@media (min-width: 1280px) {
  section.block > .text .three-columns {
    width: 87.89%;
    max-width: unset;
  }
}

section.block > .text .column:has(+ *) > *:last-child {
  margin-bottom: revert;
}
section.block > .text .column:last-child > *:last-child {
  margin-bottom: 0px;
}
section.block > .text > .container-fluid:has(+ *) .column > *:last-child {
  margin-bottom: revert;
}
@media (min-width: 576px) {
  section.block > .text .column > *:last-child {
    margin-bottom: 0;
  }
}



section.block > .text > * {
  margin-left: auto;
  margin-right: auto;
}

section.block > .text > *:last-child {
  margin-bottom: 0;
}

.buttons {
  gap: 16px;
}

section.text-left .col, section.text-right .col {
  width: max-content;
  max-width: 50%;
}
@media (min-width: 768px) {
  section.text-full > * {
    margin: 1em auto;
  }
}
@media (min-width: 768px) {
  section.text-full >*:first-child {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  section.text-full >*:last-child {
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  section.text-full {
    min-height: 61.8vh;
  }
}
@media (min-width: 768px) {
  section.text-full > * {
    width: 82.8125%;
  }
}
section.text-full h2:has(+ *:not(.buttons)) {
  margin-bottom: .5rem; 
}
@media (min-width: 768px) {
  section.text-full h2:has(+ *) {
    margin-bottom: .6em; 
  }
}

.no-break br {
  display: none;
}

section.image p:last-child {
  margin-bottom: 0;
}
section.image p:not(:last-child) {
  margin-bottom: 1em
}
h2.two-line {
  margin-bottom: .6em;
  line-height: .9 !important;
}
h2.two-line > span.line-two {
  font-family: "Marion BUF", Times, Times New Roman, serif;
  font-style: italic;
  text-transform: capitalize;
  line-height: .75 !important;
}
h2.two-line > span.line-two.small {
  font-size: clamp(2.8125rem, 2.1429rem + 3.3482vw, 3.75rem);
  position: relative;
  top: -1.2em;
}
@media (min-width: 768px) {
  h2.two-line > span.line-two.small {
    font-size: clamp(3.75rem, 0rem + 4.6875vw, 5.625rem);
  }
}


h2.h2-xl:has(+ .buttons), h2.h2-lg:has(+ .buttons) {
  margin-bottom: clamp(1.875rem, 1.4205rem + 2.2727vw, 2.5rem);
}
@media (min-width: 768px) {
  h2.h2-xl:has(+ .buttons), h2.h2-lg:has(+ .buttons) {
    margin-bottom: clamp(2.5rem, 0rem + 3.125vw, 3.75rem);;
  }
}

section p.p-lg {
  font-size: clamp(1.5625rem, 0rem + 1.9531vw, 2.34375rem);
}
section p.p-xl {
  font-size: clamp(1.875rem, 1.4286rem + 2.2321vw, 2.5rem);
}
@media (min-width: 768px) {
  section p.p-xl {
    font-size: clamp(2.5rem, 0rem + 3.125vw, 3.75rem);
  }
}

section.split .row  {
  min-height: calc(100dvh - 76px);
}
section.split h2 {
  font-size: 40px;
}
section.split h3 {
  font-size: clamp(1.40625rem, 1.0714rem + 1.6741vw, 1.875rem);
  margin: 1rem 0 .5rem;
}
@media (min-width: 768px) {
  section.split h2, section.split h3 {
    font-size: clamp(2.5rem, 0rem + 3.125vw, 3.75rem);
  }
}
@media (min-width: 992px) {
  section.split h3 {
    margin: 0;
  }
}
@media (min-width: 768px) {
  section.split .img .btn {
    min-width: clamp(13.1875rem, 0.0625rem + 16.4063vw, 19.75rem);
  }
}

@media (min-width: 768px) {
  section.split .text {
    padding: 1.5rem 3.90625% 1.5rem 10.9375%;
  }
}