:root {
    --container-md-px: 5.23%;
    --container-sm-px: 9.39%;
    --container-xsm-sm-px: 14.59%;
    --font-opensans: 'OpenSans';
    --color-turquoise-light: #0289A1;
    --color-turquoise-dark: #126F81;
    --color-blue: #3E6FB0;
    --color-orange-light: #FFA901;
    --color-orange-dark: #FF8A01;
    --color-text-dark: #1E373C;
    --color-text-light: #3F494B;
    --color-text-grey: #D0D0D0;
    --color-blue-light: #E1EEF0;
    --color-white-light: #F9FAFA;
    --color-white: #FFFFFF;

    --min-vw: 640;
    --max-vw: 1920;

    /* convert to px */
    --min-vw-px: calc(var(--min-vw) * 1px);
    --max-vw-px: calc(var(--max-vw) * 1px);

    /* font sizes at --max-vw */
    --text-h1: 60;
    --text-h2: 48;
    --text-h3: 36;
    --text-h4: 26;
    --text-h5: 20;
    --text-base: 18;
    --text-base-16: 16;


    /* font sizes at --min-vw */
    --text-h1-min: 32;
    --text-h2-min: 26;
    --text-h3-min: 20;
    --text-h4-min: 18;
    --text-h5-min: 16;
    --text-base-min: 14;
}
body .container-md,body .container-sm,body .container-xsm-sm {
    max-width: 100%;
}
.container-md {
    padding: 0 var(--container-md-px) !important;
    width: 100%;
    max-width: 100%;
}
.container-sm {
    padding: 0 var(--container-sm-px) !important;
    width: 100%;
    max-width: 100%;
}
.container-xsm-sm {
    padding: 0 var(--container-xsm-sm-px) !important;
    width: 100%;
    max-width: 100%;
}
@media screen and (min-width: 1921px) {
    div.container-md {
        box-sizing: content-box;
        margin: 0 auto;
    }
    body div.container-md {
        max-width: 1720px;
    }
    body div.container-sm {
        max-width: 1560px;
    }
    div.container-sm {
        box-sizing: content-box;
        margin: 0 auto;
    }
    body div.container-xsm-sm {
        max-width: 1360px;
    }
    div.container-xsm-sm {
        box-sizing: content-box;
        margin: 0 auto;
    }
}

@font-face {
    font-family: 'OpenSans';
    src: url(../fonts/OpenSans/OpenSans.eot);
    src: url(../fonts/OpenSans/OpenSans.eot?#iefix) format('embedded-opentype'),
        url(../fonts/OpenSans/OpenSans.otf) format('otf'),
        url(../fonts/OpenSans/OpenSans.svg#OpenSans) format('svg'),
        url(../fonts/OpenSans/OpenSans.woff) format('woff'),
        url(../fonts/OpenSans/OpenSans.ttf) format('truetype'),
        url(../fonts/OpenSans/OpenSans.woff2) format('woff2');
}

body,
body p {
    font-family: var(--font-opensans);
    color: var(--color-text-light);
    font-size: 16px;
    /* color: #3333; */
    line-height: 1.4;
    font-weight: 700;
}
body h1 {
    font-family: var(--font-opensans);
    color: var(--color-text-dark);
    /* font-size: 60px; */
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
}
body h2 {
    font-family: var(--font-opensans);
    color: var(--color-text-dark);
    /* font-size: 48px; */
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
}
body h3, body h3 a {
    font-family: var(--font-opensans);
    color: var(--color-text-dark);
    /* font-size: 36px; */
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
}
body h4 {
    font-family: var(--font-opensans);
    color: var(--color-text-dark);
    /* font-size: 26px; */
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
}
body h5, body h5 a {
    font-family: var(--font-opensans);
    color: var(--color-text-dark);
    /* font-size: 20px; */
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
}
body p, body a, body table td, body ol li, body ul li,
div.event-listing-section div.event-display_style .events-results-message{
    font-family: var(--font-opensans);
    /* font-size: 18px; */
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: var(--color-green);
}
body p strong{
    font-size: 14px;
}


/* @layer components { */
    /* .fluid-fs {
        --max-fs: var(--text-base);
        --min-fs: var(--text-base-min);
    
        --slope: calc(
          (var(--max-fs) - var(--min-fs)) / (var(--max-vw) - var(--min-vw))
        );
    
        --min-fs-px: calc(var(--min-fs) * 1px);
        --max-fs-px: calc(var(--max-fs) * 1px);
        --fs-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-fs-px));
    
        font-size: clamp(var(--min-fs-px), var(--fs-px), var(--max-fs-px));
      } */

    body h1{
        --max-fs: var(--text-h1);
        --min-fs: var(--text-h1-min);
        --slope: calc(
          (var(--max-fs) - var(--min-fs)) / (var(--max-vw) - var(--min-vw))
        );
    
        --min-fs-px: calc(var(--min-fs) * 1px);
        --max-fs-px: calc(var(--max-fs) * 1px);
        --fs-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-fs-px));
    
        font-size: clamp(var(--min-fs-px), var(--fs-px), var(--max-fs-px));
    }
    body h2{
        --max-fs: var(--text-h2);
        --min-fs: var(--text-h2-min);
        --slope: calc(
          (var(--max-fs) - var(--min-fs)) / (var(--max-vw) - var(--min-vw))
        );
    
        --min-fs-px: calc(var(--min-fs) * 1px);
        --max-fs-px: calc(var(--max-fs) * 1px);
        --fs-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-fs-px));
    
        font-size: clamp(var(--min-fs-px), var(--fs-px), var(--max-fs-px));
    }
    body h3, body h3 a, .decm_divi_event_calendar .fc-toolbar .fc-center h2,
    div.tab-resize .et_pb_column .et_pb_text h3{
        --max-fs: var(--text-h3);
        --min-fs: var(--text-h3-min);
        --slope: calc(
          (var(--max-fs) - var(--min-fs)) / (var(--max-vw) - var(--min-vw))
        );
    
        --min-fs-px: calc(var(--min-fs) * 1px);
        --max-fs-px: calc(var(--max-fs) * 1px);
        --fs-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-fs-px));
    
        font-size: clamp(var(--min-fs-px), var(--fs-px), var(--max-fs-px));
    }
    body h4, div.event-listing-section div.event-display_style>div article .decm-events-details h2, 
    div.event-listing-section div.event-display_style>div article .decm-events-details a, 
    div.moodle-tab-section.apple-rtc-resources .et_pb_row .educational-row a, .event-sliders .owl-carousel .owl-stage-outer .owl-item h2.entry-title a,
    .tooltip_main .content .tooltip-title{
        --max-fs: var(--text-h4);
        --min-fs: var(--text-h4-min);
        --slope: calc(
          (var(--max-fs) - var(--min-fs)) / (var(--max-vw) - var(--min-vw))
        );
    
        --min-fs-px: calc(var(--min-fs) * 1px);
        --max-fs-px: calc(var(--max-fs) * 1px);
        --fs-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-fs-px));
    
        font-size: clamp(var(--min-fs-px), var(--fs-px), var(--max-fs-px)) !important;
    }
    body h5, body h5 a, .moodle-tab-section .iksm-terms .iksm-terms-tree__inner .iksm-term.iksm-term--parent > .iksm-term__inner .iksm-term__text, 
    .moodle-first-section .et_pb_button_module_wrapper .et_pb_button, #tabs-btn .et_pb_button, .facilities-tab ul.et_pb_tabs_controls li a,
    .decm_divi_event_calendar .fc-view-container table thead.fc-head table thead tr th,
    .contact-us-form .wpforms-field-label, div.for-student-section .et_pb_tabs_controls li a, .spd-tabs .et_pb_column .et_pb_button_module_wrapper a{
        --max-fs: var(--text-h5);
        --min-fs: var(--text-h5-min);
        --slope: calc(
          (var(--max-fs) - var(--min-fs)) / (var(--max-vw) - var(--min-vw))
        );
    
        --min-fs-px: calc(var(--min-fs) * 1px);
        --max-fs-px: calc(var(--max-fs) * 1px);
        --fs-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-fs-px));
    
        font-size: clamp(var(--min-fs-px), var(--fs-px), var(--max-fs-px)) !important;
    }
    body p, body p b, body a, body table td, body ol li, body ul li, .single .content-section .content-side .general-enquiries-section .phone-number,
    .moodle-tab-section .iksm-terms .iksm-terms-tree__inner .iksm-term .iksm-term__inner .iksm-term__text, .single .content-section .content-side .general-enquiries-section a,
    div.event-listing-section div.event-display_style .events-results-message, .term-service .rank-math-breadcrumb p a, .term-service .rank-math-breadcrumb p span, .contact-box p,
    .dec-search-filter .dec-filter-bar .dec-filter-list .dec-years-checkbox label, .filter-section .search-filter-base .search-filter-component-combobox-base .search-filter-component-combobox__actions .search-filter-component-combobox__selection span{
        --max-fs: var(--text-base);
        --min-fs: var(--text-base-min);
        --slope: calc(
          (var(--max-fs) - var(--min-fs)) / (var(--max-vw) - var(--min-vw))
        );
    
        --min-fs-px: calc(var(--min-fs) * 1px);
        --max-fs-px: calc(var(--max-fs) * 1px);
        --fs-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-fs-px));
    
        font-size: clamp(var(--min-fs-px), var(--fs-px), var(--max-fs-px));
    }

    div.event-listing-section div.event-display_style>div article .decm-events-details .ecs-excerpt, 
    div.event-listing-section div.event-display_style>div article .decm-events-details .decm-show-detail-center span, 
    div.event-listing-section div.event-display_style>div article a.act-view-more, 
    div.event-listing-section.moodle-tab-section div.event-display_style>div article a.ecs_event_clickable,
    div.moodle-tab-section.apple-rtc-resources .et_pb_row .educational-row a, .home-message-section .message-second p,
    .facilities-tab.modeling p, .facilities-tab.modeling .et_pb_all_tabs .title-btn .btn-side a,
    .facilities-tab .et_pb_all_tabs .title-btn .title-side p, .facilities-tab .et_pb_all_tabs .title-btn .btn-side a, .contact-us-form .wpforms-field-checkbox label,
    .contact-us-form .wpforms-field-checkbox label a, .decm_divi_event_calendar .fc-view-container .fc-widget-content td span,
    div.et_pb_section.news-section .et_pb_row .news-wrapper article p, .decm_divi_event_calendar .fc-toolbar button, .moddle-wrapper .moodle-item .moodle-description .content p,
    .moddle-wrapper .moodle-item .moodle-description .content p a, .moddle-wrapper .moodle-item .moodle-description .content ul li, .moddle-wrapper .moodle-item .moodle-description .content ul li a,
    .event-sliders .owl-carousel .owl-stage-outer .owl-item .et_pb_button_wrapper .act-view-more, #video-container .pagination a, .video-learn-more a{
        --max-fs: var(--text-base-16);
        --min-fs: var(--text-base-min);
        --slope: calc(
          (var(--max-fs) - var(--min-fs)) / (var(--max-vw) - var(--min-vw))
        );
    
        --min-fs-px: calc(var(--min-fs) * 1px);
        --max-fs-px: calc(var(--max-fs) * 1px);
        --fs-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-fs-px));
    
        font-size: clamp(var(--min-fs-px), var(--fs-px), var(--max-fs-px));
    }
/* } */

@media(max-width: 980px){
    .container-xsm-sm{
        padding: 0 10% !important;
    }
}
@media(max-width: 768px){
    .container-md,.container-sm,.container-xsm-sm  {
        padding: 0 20px !important;
    }
    body h1, body h2, body h3, body h4, body h4{
        line-height: normal;
    }
}
@media(max-width: 480px){
    .decm_divi_event_calendar .fc-view-container table thead.fc-head table thead tr th, 
    .decm_divi_event_calendar .fc-view-container .fc-widget-content td span{
        font-size: 12px !important;
    }
}
.append_events{
    transition: all .2s;
}

.append_events.loading{
    opacity: 0.5;
}