/*****************************************
TYPOGRAPHY
*****************************************/
body {
  font-family: "Public Sans", Helvetica, Arial, sans-serif;
}

* {
  -webkit-font-smoothing: antialiased;
}

text-hero {
  font-size: 2rem;
  line-height: normal;
  letter-spacing: -0.016em;
}

@media (min-width: 768px) {
  .text-hero {
      font-size: 3.25rem;
      line-height: normal;
      letter-spacing: -0.025em;
  }
}

:root {
  --font-family-RNSSm: "Ringside Narrow SSm";
  --font-family-PublicSans: Public Sans;
  --font-style-normal: normal;
  --font-size-hero: 3.25rem; /* 52px */
  --font-size-h1: 3.25rem; /* 34px */
  --font-size-h2: 1.75rem; /* 28px */
  --font-size-h3: 1.5rem; /* 24px */
  --font-size-h4: 1.25rem; /* 20px */
  --font-size-h5: 1.125rem; /* 18px */
  --font-size-p-xxxl: 1.75rem; /* 28px */
  --font-size-p-xxl: 1.375rem; /* 22px */
  --font-size-p-xl: 1.25rem; /* 20px */
  --font-size-p-lg: 1.125rem; /* 18px */
  --font-size-p: 1rem; /* 16px */
  --font-size-p-sm: 0.875rem; /* 14px */
  --font-size-p-xs: 0.75rem; /* 12px */
}

h1 {
  margin-bottom: 1rem;
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1;
}

.hero h1,
.hero p.h1 {
  font-family: var(--font-family-RNSSm);
  font-size: var(--font-size-hero);
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}

h1,
p.h1 {
  font-family: var(--font-family-RNSSm), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-h1);
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}

h2,
p.h2 {
  font-family: var(--font-family-RNSSm), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-h2);
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}

h3,
p.h3 {
  font-family: var(--font-family-RNSSm), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-h3);
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}

h4,
p.h4 {
  font-family: var(--font-family-RNSSm), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-h4);
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}

h5,
p.h5 {
  font-family: var(--font-family-RNSSm), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-h5);
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}

p.xxx-lg,
p.xxx-lg-bold {
  font-family: var(--font-family-PublicSans), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-p-xxxl);
  font-style: normal;
  font-weight: 400;
  line-height: 2.05625rem; /* 32.9px */
}

p.xxx-lg-bold {
  font-weight: 700;
}

p.xx-lg,
p.xx-lg-bold {
  font-family: var(--font-family-PublicSans), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-p-xxl);
  font-style: normal;
  font-weight: 400;
  line-height: 2rem; /* 32px */
}

p.xx-lg-bold {
  font-weight: 700;
}

p.x-lg,
p.x-lg-bold {
  font-family: var(--font-family-PublicSans), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-p-xl);
  font-style: normal;
  font-weight: 400;
  line-height: 1.78125rem; /* 28.5px */
}

p.x-lg-bold {
  font-weight: 700;
}

p.lg,
p.lg-bold {
  font-family: var(--font-family-PublicSans), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-p-lg);
  font-style: normal;
  font-weight: 400;
  line-height: 1.6875rem; /* 27px */
}

p.lg-bold {
  font-weight: 700;
}

body,
p,
p.p-reg,
p.p-reg-bold {
  font-family: var(--font-family-PublicSans), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-p);
  font-style: normal;
  font-weight: 400;
  line-height: 1.3625rem; /* 21.8px */
}

p.p-reg-bold {
  font-weight: 700;
}

p.p-sm,
p.p-sm-bold {
  font-family: var(--font-family-PublicSans), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-p-sm);
  font-style: normal;
  font-weight: 400;
  line-height: 1.225rem; /* 19.6px */
}

p.p-sm-bold {
  font-weight: 700;
}

p.p-xs,
p.p-xs-bold {
  font-family: var(--font-family-PublicSans), Helvetica, Arial, sans-serif !important;
  font-size: var(--font-size-p-xs);
  font-style: normal;
  font-weight: 400;
  line-height: 1.05rem; /* 16.8px */
}

p.p-xs-bold {
  font-weight: 700;
}

@media only screen and (max-width: 480px) {
  :root {
    --font-size-hero: 2.25rem; /* 36px */
    --font-size-h1: 1.875rem; /* 30px */
    --font-size-h2: 1.75rem; /* 28px */
    --font-size-h3: 1.5rem; /* 24px */
    --font-size-h4: 1.25rem; /* 20px */
    --font-size-h5: 1.125rem; /* 18px */
    --font-size-p-xxxl: 1.5rem; /* 24px */
    --font-size-p-xxl: 1.25rem; /* 20px */
    --font-size-p-xl: 1.125rem; /* 18px */
    --font-size-p-lg: 1.0625rem; /* 17px */
    --font-size-p: 1rem; /* 16px */
    --font-size-p-sm: 0.8125rem; /* 13px */
    --font-size-p-xs: 0.6875rem; /* 11px */
  }
}

@font-face {
  font-family: "Ringside Narrow SSm", Open Sans, Helvetica, Arial, sans-serif;
  src: url("../../fonts/RingsideNarrowSSm-Black.woff2") format("woff2"),
       url("../../fonts/RingsideNarrowSSm-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: block;
}

/*DROP CAP*/

.drop-cap {
  font-size: 3rem; /* 48px */
  line-height: 1;
  margin: 0 0 -0.0625rem; /* -1px */
  position: relative;
  display: inline-block;
  color: #002e5d;
  overflow: hidden;
  font-family: "Ringside Narrow SSm" !important;
  font-weight: 900;
  vertical-align: bottom;
}

.drop-cap:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("../../images/byu-pattern-2.png") no-repeat center right;
  background-size: 300%;
  z-index: 1;
}

.drop-cap-a::before {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">A</text></svg>');
  mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">A</text></svg>');
}

.drop-cap-b::before {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">B</text></svg>');
  mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">B</text></svg>');
}

.drop-cap-m::before {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">M</text></svg>');
  mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">M</text></svg>');
}

.drop-cap-t::before {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">T</text></svg>');
  mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">T</text></svg>');
}

.drop-cap-v::before {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">V</text></svg>');
  mask-image: url('data:image/svg+xml,<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><text x="0" y="40" font-weight="700" font-family="Ringside Narrow SSm" font-size="48">V</text></svg>');
}

.section-title p {
  margin-top: 0.9375rem; /* 15px */
}

/*Global Rules*/

.layout__region ul:not(.contextual-links, .menu, .list-inline, .px-0) {
  padding-left: 2rem !important;
}
.layout__region ul:not(.contextual-links, .menu, .list-inline) li {
  list-style: disc !important;
}

.layout__region ol:not(.contextual-links, .menu, .list-inline) li {
  list-style-type: decimal !important;
}

.section-content .layout__region .block-layout-builder:not(.content-button) .text-formatted p {
  line-height: 1.8;
}

.section-content .layout__region .block-layout-builder:not(.content-button) .text-formatted a:not(.button) {
  color: var(--royal-blue) !important;
}
.section-content .layout__region .block-layout-builder:not(.content-button) .text-formatted a:hover:not(.button) {
  text-decoration: underline;
}

.ck-source-editing-area {
  color: black;
}

/* This targets the <i> element immediately following an <a> element */
.card-white p {
  margin-top: 1rem;
}
.card-white a {
  font-weight: bold;
}
.card-white a i {
  transition: all ease-in-out .2s;
}
.card-white a:hover i {
  transform: translateX(3px);
}
/*Fallback if uses did not correctly wrapped the icon within the link*/
.card-white a + i {
  color: var(--royal-blue);
  font-size: 1rem;
}

/*Underline decoration*/

.hero-section em {
  position: relative;
  padding-bottom: 15px;
  font-style: normal;
}

.hero-section em:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: -25px;
  right: -25px;
  display: inline-block;
  background-repeat: no-repeat; 
  background-size: contain;
  background-position: center bottom;
  opacity: 0;
  animation-delay: 2s;
  animation: fadeIn 2s forwards;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEwNiIgdmlld0JveD0iMCAwIDE5MCAxMDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuOTk4NTggNTEuMjgzNkMzMi4zNjkzIDQ0Ljk5NjcgMTEwLjMxNSAzNi43OTc2IDE4Ny4xMzEgNTQuMjk3IiBzdHJva2U9IiNGRkM0MkUiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PHBhdGggZD0iTTcuNzgxNzcgNTUuNzMwMUMzNS4yNjEzIDUxLjQxMTYgMTA4LjQxMyA0Ni42NzE3IDE4MS4xODMgNjIuMjYwNCIgc3Ryb2tlPSIjRkZDNDJFIiBzdHJva2Utd2lkdGg9IjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==');
  height: 100%;
  z-index: -1;
}

@keyframes fadeIn {
  to {
      opacity: 1;
  }
}


/*Custom List*/

.check-icon-list {
  list-style: none; 
  padding-left: 0;  
  line-height: 1.8;
}

.layout__region ul.check-icon-list li {
  position: relative;
  padding-left: 30px; 
  list-style: none !important;
  margin-bottom: .5rem;
}

.layout__region ul.check-icon-list li::before {
  font-family: "Font Awesome 6 Free";
  content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjc3NzMgNi40MDIzNEMxMi4wOTM4IDYuMDg1OTQgMTIuNjIxMSA2LjA4NTk0IDEyLjkzNzUgNi40Mzc1QzEzLjI4OTEgNi43NTM5MSAxMy4yODkxIDcuMjgxMjUgMTIuOTM3NSA3LjU5NzY2TDguNDM3NSAxMi4wOTc3QzguMjk2ODggMTIuMjczNCA4LjA4NTk0IDEyLjM0MzggNy44NzUgMTIuMzQzOEM3LjYyODkxIDEyLjM0MzggNy40MTc5NyAxMi4yNzM0IDcuMjQyMTkgMTIuMDk3N0w0Ljk5MjE5IDkuODQ3NjZDNCA5LjUzMTI1IDQgOS4wMDM5MSA0Ljk5MjE5IDguNjUyMzRDNS4zMDg1OSA4LjMzNTk0IDUuODM1OTQgOC4zMzU5NCA2LjE4NzUgOC42NTIzNEw3Ljg3NSAxMC4zMzk4TDExLjc3NzMgNi40MDIzNFpNOSAwLjI1QzEzLjk1NzAgMC4yNSAxOCA0LjI5Mjk3IDE4IDkuMjVDMTggMTQuMjQyMiAxMy45NTcgMTguMjUgOSAxOC4yNUM0LjAwNzgxIDE4LjI1IDAgMTQuMjQyMiAwIDkuMjVDMCA0LjI5Mjk3IDQuMDA3ODEgMC4yNSA5IDAuMjVaTTkgMTYuNTYyNUMxMy4wMDc4IDE2LjU2MjUgMTYuMzEyNSAxMy4yOTMgMTYuMzEyNSA5LjI1QzE2LjMxMjUgNS4yNDIxOSAxMy4wMDc4IDEuOTM3NSA5IDEuOTM3NUM0Ljk1NzAzIDEuOTM3NSAxLjY4NzUgNS4yNDIxOSAxLjY4NzUgOS4yNUMxLjY4NzUgMTMuMjkzIDQuOTU3MDMgMTYuNTYyNSA5IDE2LjU2MjVaIiBmaWxsPSIjMDA4MDU1Ii8+Cjwvc3ZnPgo=');
  position: absolute;
  left: 0;
  top: 0;
}

.layout__region ul.check-icon-list li i {
  color: var(--royal-blue);
}

/*CK Editor*/

.section-library-links {
  list-style: none !important;
  padding: 0 !important;
}
.section-library-links li {
  margin-bottom: 2rem !important;
}
.section-library-links li img {
  display: block !important;
  margin-bottom: .5rem !important;
}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button, 
#drupal-off-canvas [data-drupal-ck-style-fence] .ck.ck-style-panel .ck-style-grid .ck-style-grid__button {
  margin-bottom: 1.5rem !important;
}

@media (max-width: 768px) {
  .mobile-text-center {
    text-align: center !important;
  }
}

/*avoids styling any text on the layout builder for visibility*/
.user-logged-in .layout-builder-block:not(.bg-white, .content-block-spotlight-with-border-alt, .content-block-spotlight-with-border, .content-block-spotlight-white) {
  background: none;
}
.user-logged-in .ck-content a:not(.button),
.user-logged-in .ck-content a:not(.button) strong {
  color: var(--royal-blue);
}
/*.user-logged-in .text-white {
  color: initial;
}*/


ol.yellow-list {
  list-style: none; /* Remove default numbering */
  padding-left: 0;  /* Remove default padding */
  counter-reset: custom-counter; /* Custom counter reset */
  position: relative;
}

ol.yellow-list::before {
  content: '';
  position: absolute;
  left: 22px; /* Adjust this value to align the line with the numbers */
  top: 5px;
  bottom: 20px;
  width: 8px; /* Thickness of the vertical line */
  background-color: var(--yellow-medium);
  z-index: 0; /* Ensure the line is behind the numbers */
}

ol.yellow-list li {
  position: relative;
  padding-left: 70px;  /* Space for the custom circle numbers */
  margin-bottom: 40px; /* Space between list items */
  font-family: 'Arial', sans-serif; /* Adjust font */
  font-size: 16px;
  color: #223344; /* Text color */
}

ol.yellow-list li::before {
  content: counter(custom-counter); /* Use custom counter */
  counter-increment: custom-counter; /* Increment the counter */
  position: absolute;
  left: 0;
  top: 0;
  width: 52px;
  height: 52px;
  border-radius: 50%; /* Make it circular */
  background-color: var(--yellow-light);
  color: #223344; /* Text color inside circle */
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin-top: -6px;
  font-size: 20px;
}