/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: A plain-vanilla &amp; lightweight theme for Elementor page builder
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 2.6.1.1680024010
Updated: 2023-03-28 10:20:10

*/

/* Mobile Menu subnav rotation */
.mobile-menu .elementor-nav-menu .sub-arrow {
    position: absolute;
    right: 20px;
    transform-origin: center;
    padding: 0;
}
.mobile-menu .elementor-nav-menu .elementor-item .sub-arrow {
    transform: rotate(0deg);
    transition: 0.3s all;
    transform-origin: center;
}
.mobile-menu .elementor-nav-menu .elementor-item.highlighted .sub-arrow {
    transform: rotate(180deg);
    transition: 0.3s all;
    transform-origin: center;
}
/* Hero Stuff */
.page-hero-content h1 {
    margin-bottom: 2px;
    position: relative;
    left: 38px;
    top: -25px;
    z-index: 1;
    width: 94%;
}
@media (min-width: 768px) {
    .page-hero-content h1 {
        position: absolute;
        /*transform: translateY(-500px);*/
        width: 580px;
    }
}
@media (min-width: 1024px) {
    .page-hero-content h1 {
        padding: 0 13px;
        /*transform: translateY(-560px);*/
    }
}
@media (min-width: 1280px) {
    .page-hero-content h1 {
        left: 0;
        top: 0;
    }
}
.page-hero-content h1 span {
    background: #2774AE;
    float: left;
    font-size: 24px;
    line-height: 24px;
    padding: 5px 5px 2px;
    margin-bottom: 2px;
    margin-left: -13px;
    margin-right: 12px;
}
@media (min-width: 768px) {
    .page-hero-content h1 span {
        margin-bottom: 4px;
        padding-right: 12px;
        padding-left: 12px;
        font-size: 48px;
        line-height: 48px;
    }
}
/* Accordion */
.e-n-accordion {
    .e-n-accordion-item-title-icon {
        margin-left: auto;
    }
}
/* Defaults */
figure {
    margin-inline-start: 0;
    margin-inline-end: 0;
}

.elementor-widget-text-editor ul,
.elementor-element.elementor-widget-dyncontel-acf ul {
    padding-bottom: 20px;
}
/* Breadcrumbs */
.elementor .e-parent .elementor-element.elementor-widget-dce-breadcrumbs a {
    background-color: transparent;
    /*padding: 4px 12px;*/
    /*border: 1px solid var(--e-global-color-e900f39);*/
    /*color: var(--e-global-color-e900f39);*/
    /*transform: skewX(-13deg);*/
    display: inline-block;
    font-weight: 600;
}
.elementor .e-parent .elementor-element.elementor-widget-dce-breadcrumbs a:hover {
    background-color: transparent;
    /*color: var(--e-global-color-e900f39);*/
    text-decoration: underline
}
/* Main Mega Nav */
.main-menu .elementor-nav-menu--main .elementor-item {
    font-weight: bold;
    font-size: 16px;
}
.main-menu .elementor-element .elementor-widget-heading > .elementor-widget-container {
    border-color: #cccccc;
}
/* Secondary Navigation */
body[data-elementor-device-mode="tablet"] .sec-nav-sticky, 
body[data-elementor-device-mode="mobile"] .sec-nav-sticky {
    width: 100%;
}
.sec-nav-sticky li a {
    font-size: 16px;
}
.sec-nav-sticky .elementor-menu-toggle {
    background-color: rgba(0,0,0,0)
}
.sec-nav-sticky .elementor-menu-toggle .e-font-icon-svg {
    fill: var(--e-global-color-primary);
}
.sec-nav-sticky .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
    background-color: transparent;
    color: var(--e-global-color-primary);
    border-bottom: 2px solid var(--e-global-color-1fb52e6);
}
.sec-nav-sticky .elementor-nav-menu--dropdown .elementor-item:hover {
    background-color: transparent;
    color: var(--e-global-color-aabbf8b);
    border-bottom: 2px solid var(--e-global-color-aabbf8b);
}


/* ---- Global knobs (safe defaults) ---- */
:root{
  --bg-loop-tile: 800px;            /* width of one seamless tile */
  --bg-loop-speed: 14s;             /* animation duration */
  --bg-c1: rgba(217,222,72,1);      /* #D9DE48 */
  --bg-c2: rgba(129,196,247,1);     /* #81C4F7 */
  --bg-c3: rgba(253,233,0,1);       /* #FDE900 */
}

/* ---- Reusable class: smooth, seamless horizontal loop ---- */
.bg-gradient-loop{
  /* The gradient blends (c1→c2→c3→c1) so the wrap is seamless */
  background-image: linear-gradient(
    90deg,
    var(--bg-c1) 0%,
    var(--bg-c2) 40%,
    var(--bg-c3) 80%,
    var(--bg-c1) 100%
  );
  background-size: var(--bg-loop-tile) 100%;
  background-repeat: repeat-x;
  animation: bg-pan var(--bg-loop-speed) linear infinite;
  will-change: background-position;
}

/* Optional: variants via modifier classes */
.bg-loop--slow{  --bg-loop-speed: 22s; }
.bg-loop--fast{  --bg-loop-speed: 8s;  }
.bg-loop--wide{  --bg-loop-tile: 1200px; }
.bg-loop--tight{ --bg-loop-tile: 800px;  }

/* Respect users who prefer less motion */
@media (prefers-reduced-motion: reduce){
  .bg-gradient-loop{ animation: none; }
}

/* Animation */
@keyframes bg-pan{
  0%   { background-position-x: 0; }
  100% { background-position-x: var(--bg-loop-tile); }
}

/* Fit Content */ 
.fit-content {
    display: inline-flex;
    max-width: fit-content;
}

/* Nav Backgrobackground-position */
.nav-highlight-bg-before:before {
    content: "";
    display: block;
    background-color: #F7F7F6;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    width: 100vw;
    height: 100%;
}
.nav-highlight-bg-after:after {
    content: "";
    display: block;
    background-color: #F7F7F6;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    width: 100vw;
    height: 100%;
}

p.mega-link-subtext {
    font-size: 14px;
    color: #000;
    font-weight: 400;
}

.alignright {
    width: max-content;
    max-width: 40%;
	margin-left: 2rem;
	margin-bottom: 1rem;
}
.alignleft {
	margin-right: 2rem;
	margin-bottom: 1rem;
}

blockquote {
    border-left: 5px solid var(--e-global-color-a4c1b83);
    background-color: #f9f9f9;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
    /*font-style: italic;*/
    border-radius: 0 8px 8px 0;
}

blockquote p {
    font-size: 1.25rem;
    line-height: 1.6;
    color: #333;
    margin: 0;
}

.wp-block-buttons,
.wp-block-social-links,
.wp-block-image,
.wp-block-embed,
.wp-block-columns,
.wp-block-media-text{
    margin-bottom: 2rem;
}

/* Target the specific Elementor Kit to ensure priority */
.elementor-kit-6 {
    --base-font: 1.125rem; /* 18px */
}
.elementor-kit-6 h1, .elementor-kit-6 h2, .elementor-kit-6 h3 {
    line-height: 1.1;
    margin-bottom: 1rem;
}

/* Fluid Sizing for all views (-15% applied to h2 and h3) */
.elementor-kit-6 h1 { font-size: clamp(2.5rem, 8vw, 4.5rem); } /* Unchanged */
.elementor-kit-6 h2 { font-size: clamp(1.7rem, 5.1vw, 2.76rem); }  
.elementor-kit-6 h3 { font-size: clamp(1.15rem, 3vw, 1.91rem); }

/* Specific Breakpoint Adjustments */
@media (max-width: 1366px) {
    .elementor-kit-6 h1 { font-size: 3.5rem; }
}

@media (max-width: 1024px) {
    .elementor-kit-6 h1 { font-size: 2.8rem; }
    .elementor-kit-6 h2 { font-size: 1.87rem; }
}

@media (max-width: 767px) {
    .elementor-kit-6 h1 { font-size: 2.25rem; }
    .elementor-kit-6 h2 { font-size: 1.49rem; }
	.elementor-kit-6 h3 { font-size: 1.2rem; }
	.elementor-kit-6 h1, 
    .elementor-kit-6 h2, 
    .elementor-kit-6 h3 { 
        line-height: 1.25; 
    }
}

/* Academic Programs */
.circle-icon-container {
    width: 56px;
    height: 48px;
    border-radius: 50px;
}
h2 {
  margin-top: 0;
  margin-bottom: 1.2rem; /* Increased from 1rem */
  padding-bottom: 0.6rem;
}

/* Second and all subsequent h2 instances */
h2 ~ h2 {
  margin-top: 2rem;
}

h3 {
  margin-top: 1.75rem;
  margin-bottom: 0.9rem; /* Increased from 0.75rem */
}

h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.6rem; /* Increased from 0.5rem */
}

h5 {
  margin-top: 1.25rem;
  margin-bottom: 0.6rem; /* Increased from 0.5rem */
}

h6 {
  margin-top: 1rem;
  margin-bottom: 0.6rem; /* Increased from 0.5rem */
}

/* --- Smart Spacing for Nested Headings --- */
/* Removes the top margin if a heading directly follows another */
h2 + h3, 
h3 + h4, 
h4 + h5, 
h5 + h6 {
  margin-top: 0.875rem; 
}

ul.wp-block-list, ol.wp-block-list {
    padding-bottom: 20px;
}
p.wp-block-paragraph {
    margin-block-end: 1.1em;
}
.wp-caption.alignleft {
    margin: 5px 20px 20px 0 !important;
}
.wp-caption.alignright {
    margin: 5px 0 20px 20px !important;
}

/* Class hero-480 */
body[data-elementor-device-mode="desktop"] .hero-480 {
    min-height: 480px;
}
body[data-elementor-device-mode="tablet"] .hero-480 {
    height: auto;
}

body[data-elementor-device-mode="desktop"] .hero-80vh {
    min-height: 80vh;
}
body[data-elementor-device-mode="tablet"] .hero-80vh {
    height: auto;
}

body[data-elementor-device-mode="desktop"] .hero-60vh {
    min-height: 60vh;
}
body[data-elementor-device-mode="tablet"] .hero-60vh {
    height: auto;
}

/* 1. Flex container layout on the heading itself */
.section-title-gold h2.elementor-heading-title,
.section-title-blue h2.elementor-heading-title {
  display: flex !important;
  align-items: center;
  gap: 16px;
}

.section-title-gold h3.elementor-heading-title,
.section-title-blue h3.elementor-heading-title {
  display: flex !important;
  align-items: center;
  gap: 12px;
}

/* 2. Base pseudo-element styling on the inner heading tag */
.section-title-gold h2::before,
.section-title-blue h2::before,
.section-title-gold h3::before,
.section-title-blue h3::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
}

/* 3. Proportional sizing for H2 (Scales automatically with .elementor-kit-6 h2 clamp/breakpoints) */
.section-title-gold h2::before,
.section-title-blue h2::before {
  width: 0.8em;  /* Adjust size relative to H2 font-size */
  height: 0.8em;
}

/* 4. Proportional sizing for H3 */
.section-title-gold h3::before,
.section-title-blue h3::before {
  width: 0.8em;  /* Adjust size relative to H3 font-size */
  height: 0.8em;
}

/* 5. Colors */
.section-title-gold h2::before,
.section-title-gold h3::before {
  background-color: #FFD100;
}

.section-title-blue h2::before,
.section-title-blue h3::before {
  background-color: #2774AE;
}

.flexible-wysiwyg-content h2,
.flexible-wysiwyg-content h3 {
  display: flex;
  align-items: center; /* Vertically center the box with heading text */
  gap: 16px;
  margin-top: 0;
}

.flexible-wysiwyg-content h2::before,
.flexible-wysiwyg-content h3::before {
  content: "";
  display: inline-block;
  width: .8em;
  height: .8em;
  flex-shrink: 0;
  margin-top: 0; /* Clear margin offset for true vertical centering */
  background-color: #2774AE;
  /* Ensures vertical alignment stays perfect relative to baseline */
  transform: translateY(0.05em);
}

body[data-elementor-device-mode="mobile"] .section-title-gold::before,
body[data-elementor-device-mode="mobile"] .section-title-blue::before {
    margin-top: 0;
}
.section-title-gold::before {
	background-color: #FFD100;
}
.section-title-blue::before {
	background-color: #2774AE;
}
.dark-background-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom, 
        rgba(0, 0, 0, 0) 0%, 
        rgba(0, 0, 0, 0.3) 50%, 
        rgba(0, 0, 0, 0.85) 100%
    );
    pointer-events: none;
    z-index: 1; 
    opacity: 0.8; 
	backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
}

.dark-background-overlay > .elementor-container,
.dark-background-overlay > .e-con-inner,
.dark-background-overlay > .e-con {
    position: relative;
    z-index: 2 !important;
}
/* Blockquotes */
blockquote.wp-block-quote {
    position: relative;
    margin: 2.5rem 0;
    padding: 2.5rem 2.5rem 2rem 3.5rem;
    background-color: #f7f9fa; 
    border-radius: 4px;
    border: none !important;
}

/* Elegant quotation mark accent */
blockquote.wp-block-quote::before {
    content: "“";
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-size: 5rem;
    font-family: Georgia, serif;
    color: #2774AE; 
    line-height: 1;
}

blockquote.wp-block-quote h2.wp-block-heading {
    font-size: 1.1rem;
    line-height: 1.6;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0;
}

/* Target mobile and tablet device modes for the department menu */
body[data-elementor-device-mode="mobile"] .dept-menu .elementor-nav-menu--main,
body[data-elementor-device-mode="tablet"] .dept-menu .elementor-nav-menu--main {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

/* Hide scrollbar on mobile and tablet */
body[data-elementor-device-mode="mobile"] .dept-menu .elementor-nav-menu--main::-webkit-scrollbar,
body[data-elementor-device-mode="tablet"] .dept-menu .elementor-nav-menu--main::-webkit-scrollbar {
    display: none;
}

/* Maintain horizontal flex row */
body[data-elementor-device-mode="mobile"] .dept-menu .elementor-nav-menu,
body[data-elementor-device-mode="tablet"] .dept-menu .elementor-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: center; 
    /* Remove padding-right from here and move it to the last item */
    padding-right: 0 !important; 
}

/* Ensure list items don't shrink */
body[data-elementor-device-mode="mobile"] .dept-menu .elementor-nav-menu li,
body[data-elementor-device-mode="tablet"] .dept-menu .elementor-nav-menu li {
    display: flex !important; /* Keep text and divider on one line */
    align-items: center;
    flex: 0 0 auto !important;
    position: relative;
}

/* Fix the Divider (:after) styling */
body[data-elementor-device-mode="mobile"] .dept-menu .elementor-nav-menu > li:not(:last-child):after,
body[data-elementor-device-mode="tablet"] .dept-menu .elementor-nav-menu > li:not(:last-child):after {
    content: ""; 
    display: inline-block;
    position: relative !important; 
    margin-left: 10px;
    margin-right: 10px;
    height: 15px; 
    border-left: 1px solid #ccc; 
}

/* Apply indentation to the first child across sliding views */
body[data-elementor-device-mode="mobile"] .dept-menu .elementor-nav-menu li:first-child,
body[data-elementor-device-mode="tablet"] .dept-menu .elementor-nav-menu li:first-child {
    margin-left: 20px !important;
}

/* Wordpress Accordions override */
/* --- AccordionJS CSS Reset --- */
.accordionjs,
.accordionjs * {
    box-sizing: border-box;
}

.accordionjs {
    position: static;
    margin: 0;
    padding: 0;
    list-style: none;
}

.accordionjs .acc_section {
    border: none;
    border-radius: 0;
    position: static;
    z-index: auto;
    margin-top: 0;
    overflow: visible;
}

.accordionjs .acc_section .acc_head {
    position: static;
    background: transparent;
    padding: 0;
    display: block;
    cursor: default;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.accordionjs .acc_section .acc_head h3 {
    line-height: normal;
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

.accordionjs .acc_section .acc_content {
    padding: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.accordionjs .acc_section:first-of-type,
.accordionjs .acc_section:first-of-type .acc_head,
.accordionjs .acc_section:last-of-type,
.accordionjs .acc_section:last-of-type .acc_content {
    border-radius: 0;
}

.accordionjs .acc_section.acc_active > .acc_content {
    display: block;
}

.accordionjs .acc_section.acc_active > .acc_head {
    background: transparent;
    border-bottom: none;
}
.accordionjs .acc_section .acc-head .icon.dce-accordion-icon {
	margin: 0;
}

/* --- Accordion Container & Items --- */
.wp-block-accordion {
    width: 100%;
    margin: 0 !important;
    padding: 0 0 50px;
}

/* Eliminate double borders by using ONLY a single bottom border per section */
.wp-block-accordion-item, .accordionjs .acc_section {
    border-bottom: 1px solid #d3d3d3 !important; 
    border-top: none !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.wp-block-accordion-item.is-open h3, .accordionjs .acc_section.acc_active h3 {
	border-bottom: 1px solid #d3d3d3 !important; 
}

/* --- Accordion Header Button --- */
.wp-block-accordion-heading, .accordionjs .acc_section h3 {
    margin: 0 !important;
    padding: 18px !important;
	border-bottom: 0;
}
.accordionjs .acc_section button {
	padding: 0;
}
.wp-block-accordion-heading button.wp-block-accordion-heading__toggle {
	padding: 0;
}

.wp-block-accordion-heading__toggle {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
/*     padding: 28px 0 !important;  */
    background: transparent !important;
    border: none !important; /* Default closed state has no borders */
    cursor: pointer !important;
    text-align: left !important;
    font-family: inherit !important;
    box-shadow: none !important;
}

/* --- Added Border-Bottom to Button when Item is Open --- */
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle[aria-expanded="true"] {
/*     border-bottom: 1px solid #d3d3d3 !important; */
}
.wp-block-accordion-heading__toggle:hover, .wp-block-accordion-heading__toggle:focus {
	color: #00598C; !important;
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none !important;
	color: #00598C;
}

.wp-block-accordion-heading__toggle[aria-expanded="true"] .wp-block-accordion-heading__toggle-title {
	color: #1A1A1A !important;
	text-decoration: none;
}

/* Title Styling (UCLA Blue) */
.wp-block-accordion-heading__toggle-title, .accordionjs .acc_section h3 {
    color: #00598C; !important;
/*     font-size: 24px !important; */
    font-weight: 700 !important;
	white-space: normal;
}

/* --- Default State: Exact 24px Chevron Pointing Down --- */
.wp-block-accordion-heading__toggle .wp-block-accordion-heading__toggle-icon {
    font-size: 0 !important;
    color: transparent !important;
    display: inline-block !important;
    
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    
    background-color: #005587 !important;
    
    transform: rotate(0deg) !important;
    transition: transform 0.2s ease-in-out !important;
    
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M443.5 162.6l-7.1-7.1c-4.7-4.7-12.3-4.7-17 0L224 351 28.5 155.5c-4.7-4.7-12.3-4.7-17 0l-7.1 7.1c-4.7 4.7-4.7 12.3 0 17l211 211.1c4.7 4.7 12.3 4.7 17 0l211-211.1c4.8-4.7 4.8-12.3.1-17z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M443.5 162.6l-7.1-7.1c-4.7-4.7-12.3-4.7-17 0L224 351 28.5 155.5c-4.7-4.7-12.3-4.7-17 0l-7.1 7.1c-4.7 4.7-4.7 12.3 0 17l211 211.1c4.7 4.7 12.3 4.7 17 0l211-211.1c4.8-4.7 4.8-12.3.1-17z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
}

/* --- Open State: Distinct 180° Flip (Points Up) --- */
.wp-block-accordion-heading__toggle[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
    transform: rotate(-180deg) !important;
}

/* --- Accordion Panel Content --- */
.wp-block-accordion-panel {
    padding: 24px !important;
	margin: 0 !important;
}

.wp-block-accordion-panel p {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #4a4a4a;
    line-height: 1.6;
}

.wp-block-accordion-panel p:last-child {
    margin-bottom: 0;
}

/* --- Hover State Reset --- */
.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus {
    background: transparent !important;
    background-color: transparent !important;
}
/* Reset styles for repeating accordions */




/* Default form fields */
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], select, textarea {
    background-color: #ffffff;
    border-color: var(--e-global-color-6a55304);
    border-radius: 4px 4px 4px 4px;
    width: 100%;
	line-height: 1.3;
}
label, .e2ma_signup_form_label {
	font-size: 0.8em;
	padding-bottom: 4px;
	color: var(--e-global-color-c5d402a);
	line-height: 1;
}
form > div {
/* 	margin-bottom: 20px; */
}

[type=button], [type=submit], button {
	background-color: var(--e-global-color-a4c1b83);
    color: #FFFFFF;
    padding: 12px 16px;
    font-weight: 700;
    border-radius: 2px;
    text-decoration: none;
	border: none;
}
input#e2ma_signup_submit_button,
button.form_button_submit{	
	width: 100%;
}
[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
	background-color: var(--e-global-color-da0d18c);
    color: #ffffff;
    text-decoration: none;
}

/* Elementor Counter Number Boxes */
.elementor-counter .elementor-counter-number-prefix {
	font-size: .5em;
	opacity: 0;
	animation: fadeInSuffix 1s ease-in-out 1s forwards;
}
.elementor-counter .elementor-counter-number {
	line-height: 0.8;
	padding-right: 4px;
}
.elementor-counter .elementor-counter-number-suffix {
    font-size: .5em;
    align-items: flex-end;
    display: flex;
	opacity: 0;
	animation: fadeInSuffix 1s ease-in-out 1s forwards;
}

@keyframes fadeInSuffix {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Add spacing under span */
.elementor-widget-text-editor ul {
	padding-top: 1.1rem;
}

/* Underline links */
.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a:hover {
    text-decoration: underline;
}
/* ---- Responsive tables: wide tables scroll inside their own container
   instead of stretching the page horizontally on small screens.
   Tables are wrapped in .table-scroll-wrap by js/custom-scripts.js ---- */
.table-scroll-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}
.table-scroll-wrap > table {
    margin-bottom: 0;
}

/* ---- Search results pagination ---- */
.luskin-search-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 30px 0 0;
    padding: 0;
    justify-content: center;
}
.luskin-search-pagination .page-numbers li a,
.luskin-search-pagination .page-numbers li span {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    text-decoration: none;
}
.luskin-search-pagination .page-numbers li span.current {
    background: #2774AE;
    border-color: #2774AE;
    color: #fff;
}
