*,
*:after,
*:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.clearfix:before,
.clearfix:after {
    content: '';
    display: table;
}

.clearfix:after {
    clear: both;
}

.display-inline * {
    display: inline-block;
}

.aria-hide {
    display: none!important;
}

#skip a {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    font-size: 14px;
}

#skip a:focus {
    position:static;
    width:auto;
    height:auto;
}

/* Variables */
:root {
    --primary: #E5B62E;
    --secondary: #BC2628;
    --accent-1: #831B1C;
    --dark-font-color: #282828;
    --light-font-color: #fff;
    --dark-grey: #696969;
    --medium-grey: #F0F0F0;
    --light-grey: #EFEFEF;
    --black: #000000;

    --body-font: "Source Sans 3", sans-serif;
    --heading-font: "Lora", serif;
    --stylish-font: "Birthstone Bounce", cursive;
    --font-light: 300;
    --font-regular: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;

    --event-height-sm: 100px;
    --event-height-lg: 120px;
}

/* Background colours */
.bg-primary {
    background-color: var(--primary);
    color: white;
}

.bg-secondary {
    background-color: var(--secondary);
    color: white;
}

.bg-accent-1 {
    background-color: var(--accent-1);
    color: white;
}

.bg-dark-grey {
    background-color: var(--dark-font-color);
    color: white;
}

.bg-light-grey {
    background-color: var(--light-grey);
    color: white;
}

/* TYPOGRAPHY
Using the Perfect Fifth factor from https://www.gridlover.net/try
*/
html {
    font-size: 16px;
    line-height: 21px;
    scroll-behavior: smooth;
}

@media (min-width: 99em) {
    html {
        /* font-size: calc(12px + 0.390625vw); */
        font-size: 20px;
    }
}

@media (min-width: 125em) {
    html {
        /* font-size: calc(15px + 0.390625vw); */
        font-size: 22px;
    }
}

@media (min-width: 2560px) {
    html {
        font-size: 25px;
    }
}

body {
    /* max-width: 2560px; */
    padding: 0;
    margin: 0 auto;
    font-family: var(--body-font);
    font-weight: var(--font-regular);
    font-style: normal;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--dark-font-color);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.wrapper {
  flex: 1 0 auto;
  position: relative;
}

footer {
  flex-shrink: 0;
}

.subpage {
    overflow: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--font-bold);
}

.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
    color: var(--secondary);
}

h1,
.h1 {
    font-style: normal;
    font-size: 3.25rem;
    margin-top: 1.3125rem;
    margin-bottom: 2.625rem;
}


h2,
.h2 {
    font-size: 2rem;
    margin-top: 1.3125rem;
    margin-bottom: 1.3125rem;
}

h3,
.h3 {
    font-size: 1.375rem;
    margin-top: 1rem;
    margin-bottom: 0.75rem;
}

h4,
.h4 {
    font-size: 1.2rem;
    margin-top: 1.3125rem;
    margin-bottom: 0.75rem;
}

h5,
.h5 {
    font-size: 1rem;
    margin-top: 1.3125rem;
    margin-bottom: 0.75rem;
}

.homepage h1,
.homepage h2,
.homepage h3 {
    font-family: var(--heading-font);
    color: var(--dark-font-color);
}

@media all and (max-width: 62em) {

    h1,
    .h1 {
        font-size: 2rem;
    }

    h2,
    .h2 {
        font-size: 1.5rem;
        margin: 1rem 0;
    }

    h3,
    .h3,
    .page-content h3 {
        font-size: 1.375rem;
        margin: 1rem 0;
    }

    .editor details summary h3 {
        margin: 0;
    }
}

p,
ul,
ol,
pre,
blockquote {
    margin-top: 0rem;
    margin-bottom: 1.3125rem;
}

ul ul,
ol ol,
ul ol,
ol ul {
    margin-top: 0rem;
    margin-bottom: 0rem;
}

h1+h2 {
    margin-top: 0;
}

p {
    line-height: 1.6;
}

hr {
    border: 0;
    height: 1px;
    background-color: #e6e6e6;
    margin: 2rem 0;
    clear: both;
}

img {
    height: auto;
    max-width: 100%;
    object-fit: cover;
    display: block;
}

a {
    text-decoration: none;
}

blockquote {
    background: var(--light-grey);
    border-left: 5px solid var(--primary-color-2);
    padding: 2rem;
    margin: 2.5rem;
    position: relative;
    font-weight: 300;
}

blockquote p:last-of-type {
    margin-bottom: 0;
}

ul {
    padding-left: 0;
    list-style: none;
}

svg {
    margin-top: -1px;
}

strong {
    font-weight: var(--font-bold);
}

section {
    margin-bottom: 2rem;
}

figcaption {
    font-weight: var(--font-medium);
    font-size: .85rem;
    color: var(--dark-grey);
    text-align: left;
}

figure {
    margin-left: 0;
    margin-right: 0;
}

.allow-newlines {
    white-space: pre-wrap;
}

.no-padding {
    padding: 0;
}

.no-margin {
    margin: 0;
}

.mt0 {
    margin-top: 0 !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.auto-margin {
    margin: auto;
}

.flex-row {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.flex-row-between {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.flex-column-center {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.flex-column-between {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.content-inner ul,
.content ul {
    padding-left: 1.2rem;
    list-style: unset;
}

.content {
    width: 100%;
}

.font-bold {
    font-weight: var(--font-bold);
}

.font-medium {
    font-weight: var(--font-medium);
}

.align-right {
    margin-left: auto;
}

.text-center {
    text-align: center;
}

.row {
    row-gap: 2rem;
}

/* Layout */
.content-container,
.container.pad-side,
.side-container {
    padding: 0 1rem;
}

.container.pad-side {
    margin: 0 1rem;
}

@media all and (min-width: 48em) {
    .content-container,
    .container.pad-side {
        padding: 0 5%;
        width: auto;
    }
}

@media all and (min-width: 75em) {
    .content-container,
    .container.pad-side {
        padding: 0 7.5%;
        width: auto;
    }
}

/* Search Results */
.container.pad-side>.row>h1 {
    width: 100%;
    margin-bottom: .5rem;
}

.container.pad-side>.row {
    row-gap: 0;
}

.search-results {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.search-result {
    border: 1px dashed #c3c3c3;
    padding: 1rem 1rem 0;
    flex-basis: 100%;
    max-width: 100%;
}

.search-result a {
    display: flex;
    column-gap: 1rem;
    color: var(--dark-font-color);
}

.search-description strong {
    color: var(--accent-1)
}

.error-page-container .input-buttons {
    margin: auto;
}

/* show and hide on different screen sizes */
.mobile-only {
    display: block;
}

.desktop-only {
    display: none;
}

@media all and (min-width: 62em) {
    .desktop-only {
        display: block;
    }

    .mobile-only {
        display: none;
    }
}

/* BUTTON & LINKS */
a {
    transition: all .3s ease-in-out;
    color: var(--secondary);
}

a:hover,
a:focus {
    filter: brightness(0.95)
}

.btn {
    display: flex;
    align-items: center;
    width: fit-content;
    color: white;
    font-weight: var(--font-semibold);
    font-size: 1.2rem;
    position: relative;
    padding: 8px 75px 8px 65px;
    transition: all .5s ease;
}

.btn::before {
    content: "";
    position: absolute;
    width: 50px;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    border-radius: 50px;
    transition: all .5s ease;
    background-color: var(--accent-1);
}

.btn:hover,
.btn:focus {
    filter: none;
}

.btn:hover::before,
.btn:focus::before {
    width: 100%;
}

.btn span {
    position: relative;
    z-index: 9;
}

.btn-arrow {
    background-color: var(--secondary);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    left: 0;
    z-index: 10;
    transition: all .5s ease;
}

.btn:hover .btn-arrow {
    left: calc(100% - 50px);
}

.btn-arrow svg {
    margin: auto;
    width: 20px;
}

.btn-link {
    font-weight: var(--font-semibold);
}

.btn-circle {
    background: var(--secondary);
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.btn-circle svg {
    margin: auto;
}

.error-page-container .btn {
    background-color: var(--secondary);
    border-radius: 50px;
    padding: .5rem 1.5rem;
}

.error-page-container .btn::before {
    content: none;
}

/* Google Translate*/
#google_translate_element img {
    display: inline-block;
}

.goog-te-gadget .goog-te-combo {
    margin: 0 !important;
    border: none;
    font-weight: var(--font-medium);
    width: 100%;
    background: none;
    background-image: linear-gradient(45deg, transparent 50%, white 50%), linear-gradient(135deg, white 50%, transparent 50%);
    background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 0.6rem 0;
}

#google_translate_element {
    height: var(--nav-height);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 .5rem;
}

.goog-te-gadget,
.goog-te-gadget * {
    color: white!important;
}

/* INPUT FIELDS */
input:-webkit-autofill,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:focus {
    border: none;
    -webkit-text-fill-color: none;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.input-field input[type="text"],
.input-field input[type="password"],
.input-field input[type="date"],
.input-field input[type="tel"],
.input-field input[type="email"],
input[type="search"],
textarea {
    width: 100%;
    box-sizing: border-box;
    border: solid 1px #e4e4e4;
    transition: 0.5s;
    padding: .5rem;
}

textarea {
    min-height: 200px;
}

input[type="submit"] {
    background: var(--primary);
    color: white;
    border: 0;
    font-size: .9rem;
    font-weight: var(--font-semibold);
    cursor: pointer;
    padding: .75rem 1.25rem .55rem;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.input-field {
    margin-bottom: 1rem;
}

.input-field label {
    margin-bottom: .5rem;
    display: block;
}

.input-buttons {
    margin-top: 1rem;
    display: block;
    width: fit-content;
    color: white;
    background: var(--primary);
}

.contact-form {
    margin-bottom: 2rem;
}

/* Alerts */
.banner-alert-wrapper {
    font-size: 1rem;
    z-index: 601;
}

/* Table Styles */
.editor-table-wrapper {
    width: 100%;
    overflow-x: auto;
}

.table,
.editor-table {
    margin: 0 0 2rem;
    overflow-x: auto;
    box-shadow: 0px 5px 10px rgb(0 0 0 / 10%);
}

.table thead th a {
    color: white;
}

.table th a:hover,
.table th a:focus,
.editor-table th a:hover,
.editor-table th a:focus {
    text-decoration: underline;
}

.table.bell-schedule {
    box-shadow: none;
}

.table table,
.editor-table {
    border-radius: 5px;
    font-weight: normal;
    border: none;
    border-collapse: collapse;
    width: 100%;
    max-width: 100%;
    white-space: normal;
    background-color: white;
}

.table table td,
.table table th,
.editor-table td,
.editor-table th {
    padding: 10px 15px;
    width: auto !important;
}

.table table td,
.editor-table td {
    border-right: 1px solid #F7F6F4;
    width: auto !important;
}

.table table td:last-of-type,
.editor-table td:last-of-type {
    border-right: 0;
}

.table table thead th {
    color: #ffffff;
    background: var(--primary-color-2);
}

.table table thead th>* {
    color: #ffffff;
}

.table table thead th:nth-child(even) {
    color: #ffffff;
    background: var(--primary-color-1);
}

.table table tr:nth-child(odd) {
    background: #f5f5f5;
}

.table h3,
.editor-table h3 {
    margin: .5rem 0;
}

.table img,
.editor-table img {
    width: auto;
}

.editor-tableCell {
    border-color: var(--medium-grey) !important;
}


/* Tab Header */
.ui-widget.ui-widget-content {
    border: none;
    font-family: var(--body-font);
}

.ui-widget-header {
    border: none;
    background: transparent;
}

.ui-tabs .ui-tabs-nav {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    row-gap: .5rem;
    border-bottom: 2px solid var(--primary);
    border-radius: 0;
}

.ui-tabs .ui-tabs-nav li {
    font-weight: 700;
    border: none;
    background: var(--light-grey);
    transition: all .2s ease-in-out;
    margin: 0 .5rem 0 0;
    border-radius: 0;
}

.ui-tabs .ui-tabs-nav li:hover {
    filter: brightness(1.02);
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active {
    margin-bottom: 0;
    padding-bottom: 0;
    background: var(--primary);
    border: none;
}

/* Tab Content */
.ui-tabs .ui-tabs-panel {
    padding: 1rem 0.25rem;
    margin-top: 0;
}

.ui-widget-content a {
    color: var(--primary);
}

.ui-widget-content .btn {
    margin-top: 1rem;
}

.ui-widget-content .btn-primary {
    color: white;
}

.ui-widget-content .btn-link {
    color: var(--primary);
}

.tab-item-content {
    padding: 1rem 0;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
    white-space: pre-wrap;
}

/* Responsive Iframe for Embed Videos */
.responsive-iframe {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}

.embedly-card-hug {
    position: relative !important;
    padding-bottom: 56.25% !important;
    height: 0;
    max-width: 100% !important;
}

.embedly-card-hug iframe,
.responsive-iframe iframe {
    width: 100%;
    height: 100%;
    border: none;
    position: absolute !important;
}

/* Search bar */
.search-bar-wrapper label {
	display: none;
}

#search-button {
    appearance: none;
    border: none;
    position: absolute;
    right: 1.5rem;
    background: none;
    top: 50%;
    transform: translateX(-50%);
}

.input-field input[type="text"].search-box,
#search-term-clone {
    background: rgba(255, 255, 255, 0.3);
    padding: 0.75rem 1rem;
    width: 100%;
    font-size: 16px;
    margin-bottom: 0;
    border: none;
    border-radius: 20px;
    color: white;
}

.input-field input[type="text"].search-box::placeholder,
#search-term-clone::placeholder {
    color: white;
}

.input-field input[type="text"].search-box:focus-visible,
#search-term-clone:focus-visible {
    outline: none;
}

.search-api-form,
#search-form {
    position: relative;
}

.search-api-form .input-field label,
#search-form .input-field label {
	display: none;
}

.search-bar-wrapper i {
    color: white;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: .5rem;
}

.search-row {
    margin-top: 2rem;
}

/* Search filters */
.search-bar-wrapper .filter-icon {
    left: auto;
    right: 1rem;
    cursor: pointer;
}

.search-row {
    position: relative;
    display: flex;
    align-items: center;
    flex-grow: 1;
    width: 100%;
    margin-bottom: 0;
}

.search-filters {
    display: none;
    background: rgba(255, 255, 255, 0.3);
    padding: 1rem 1rem .5rem;
    border-radius: 20px;
    margin-top: .5rem;
}

.filter-group {
    margin: 0 0 .5rem;
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
}

.filter-group:last-of-type {
    margin: 0;
}

.search-bar-wrapper .search-filters label {
	display: block;
    font-size: .85rem;
    color: white;
}

#exclude-search-term {
    font-size: .85rem;
    margin-bottom: 0;
}

.links-swiper {
	margin: 2rem 0 0;
}

.links-title {
	display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
	margin-bottom: 1rem;
    color: white;
}

.links-title h3 {
    margin: 0;
    font-family: var(--body-font);
    font-weight: var(--font-semibold);
    color: white;
    font-size: 1rem;
}

.links-title .all-links {
    font-size: .9rem;
}

.links-nav-buttons {
	display: flex;
    gap: 0.5rem;
	align-items: center;
}

.links-button-next, 
.links-button-prev {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: static;
    background: var(--primary);
    border-radius: 50%;
    color: white;
    width: 40px;
    height: 40px;
    margin-top: 0;
	cursor: pointer;
}

/* .links-button-prev {
    background: rgba(229, 182, 46, 0.70);
} */

.links-button-prev {
    background: var(--primary);
    opacity: 70%;
}

.service span {
	color: white;
	font-size: .85rem;
	text-align: center;
	display: block;
	line-height: 1.5;
	font-weight: var(--font-semibold);
	margin-top: 0.75rem;
}

.service-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
	margin-bottom: .5rem;
}

.service-icon img {
	object-fit: contain;
    width: auto;
    height: 70px;
}


/* Header */
.logo-row {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-right: 0;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: white;
    flex-wrap: nowrap;
}
.logo-wrapper img{
    max-width: 50px;
    width: 100%;
    object-fit: contain;
}

.logo-wrapper h3 {
    font-size: 16px;
    font-family: var(--heading-font);
    color: var(--dark-font-color);
    max-width: 300px;
}

.main-nav-ul {
    margin-bottom: 0;
}

.main-nav {
    display: none;
}

.main-nav a {
    color: var(--dark-font-color);
    font-weight: var(--font-bold);
    font-size: 18px;
}

.main-dropdown a {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.nav-app {
    background: var(--secondary);
    color: white;
    padding: 20px;
    border-radius: 100px 0 0 100px;
    /* animation: slide ease 1s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; */
}

.nav-app a {
    color: white;
}

.nav-app i {
    font-size: 24px;
}

.menu-link {
    width: 27px;
}

.translation-link,
.transportation-link {
    display: none;
}

.scroll-more {
    display: none;
}

.nav-app .flex-row {
    position: relative;
    z-index: 11;
}

.nav-app-expand {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    background: var(--secondary);
    height: 100dvh;
    top: 0;
    padding: 29px 1rem;
    z-index: 1;
}

.microsoft {
    font-size: .9rem;
}

.nav-wrapper {
    overflow: hidden;
}

.division-icon {
    width: 22px;
}

@media (min-width: 48em) {
    .nav-app-expand {
        padding: 29px 5%;
    }
}

@media (min-width: 62em) {
    .logo-wrapper {
        gap: 1rem;
    }

    .logo-wrapper h3 {
        font-size: 20px;
    }

    .logo-wrapper img{
        width: 100%;
        max-width: 60px;
    }

    .logo-row {
        padding-left: 3%;
        z-index: 500;
    }
    
    .main-nav a {
        font-size: 18px;
    }

    .translation-link,
    .transportation-link {
        display: flex;
    }

    .nav-app {
        padding: 30px 40px 30px 30px;
    }

    .nav-app i {
        font-size: 30px;
    }
}

@media (min-width: 75em) {
    .nav-app {
        padding: 20px 30px 20px 20px;
    }

    .nav-app i {
        font-size: 24px;
    }

    .logo-wrapper img{
        max-width: 50px;
    }

    .logo-wrapper h3 {
        font-size: 18px;
        margin-right: .5rem;
    }

    .logo-row {
        padding-top: 0;
        padding-bottom: 0;
        position: sticky;
    }

    .main-nav a {
        font-size: 16px;
    }

    .main-nav-ul {
        display: flex;
        gap: 1.75rem;
        align-items: center;
    }

    .nav-wrapper {
        gap: 1.5rem;
        overflow: visible;
    }

    .main-nav {
        display: block!important;
    }

    .nav-app .flex-row {
        position: relative;
        z-index: 11;
    }

    .nav-app-expand {
        position: absolute;
        top: 8px;
        left: unset;
        right: 0;
        height: auto;
        padding: 36px 2rem;
        z-index: 10;
        width: 500px;
        border-radius: 50px 0 0 50px;
    }

    /* .azure-login {
        margin-top: -1rem;
    } */
}

@media (min-width: 99em) {
    .nav-app {
        padding: 30px 40px 30px 30px;
    }

    .nav-app i {
        font-size: 26px;
    }

     .logo-wrapper h3 {
        font-size: 22px;
    }

    .logo-wrapper img{
        max-width: 65px;
    }

    .main-nav a {
        font-size: 20px;
    }

}

/* Main Navigation */
.main-dropdown-menu {
    display: none;
}

.mobile-main-nav {
    margin-top: 2rem;
}

.mobile-main-nav a {
    font-weight: var(--font-semibold);
    font-size: 20px;
}

.mobile-main-nav .main-li {
    margin-bottom: 1rem;
}

.mobile-main-nav .main-li > .flex-row {
    justify-content: space-between;
}

.main-nav .sub-li {
     margin-bottom: .5rem;
}

.main-nav .sub-li a {
    color: white;
    font-weight: var(--font-semibold);
    font-size: 1rem;
}

.nav-app .plus-sign {
    font-size: 20px;
    color: white;
}

.mobile-main-nav .main-dropdown .main-dropdown-menu {
    display: block;
    transform: scaleY(0);
    transition: transform .2s ease;
    transform-origin: top center;
    height: 0;
}

.mobile-main-nav .main-dropdown.show .main-dropdown-menu {
    transform: scaleY(1);
    padding: 1rem 0;
    height: auto;
}

@media (min-width: 75em) {
    .plus-sign {
        font-size: 1rem;
        color: var(--secondary);
    }

    .mobile-main-nav {
        display: none;
    }

    .main-li {
        position: relative;
        padding: 40px 0;
    }

    .main-dropdown-menu {
        display: block;
        transform: scaleY(0);
        transition: all .3s ease;
        transform-origin: top;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 80;
        background: var(--secondary);
        padding: 1rem 1rem .5rem;
        min-width: 300px;
        opacity: 0;
    }

    .main-dropdown:hover .main-dropdown-menu {
        transform: scaleY(1);
        opacity: 1;
    }

    .main-nav-ul li:last-of-type .main-dropdown-menu,
    .main-nav-ul li:nth-last-of-type(2) .main-dropdown-menu {
        left: auto;
        right: 0;
    }
}

/* Footer */
footer {
    text-align: center;
    background-color: var(--light-grey);
    padding-top: 3rem;
}

.school-footer {
    background-color: white;
}

.subpage footer {
    background-color: white;
}

.main-footer * {
    color: var(--dark-font-color);
}

.main-footer .contact-wrapper a {
    display: block;
    margin-bottom: .5rem;
}

.main-footer {
    padding-top: 1rem;
    padding-bottom: 3rem;
    background: var(--light-grey);
}

.footer-logo {
    margin: 1rem auto 1.5rem;
    width: 80px;
}

.school-motto {
    font-weight: var(--font-semibold);
    font-style: italic;
    margin-bottom: .5rem;
}

address {
    font-style: normal;
    line-height: 1.8;
    margin-bottom: .5rem;
}

.contact-wrapper {
    font-weight: var(--font-semibold);
    font-size: 18px;
}

.social-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: 2rem;
}

.social-link {
    background: var(--secondary);
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.social-link i {
    color: white;
    font-size: 1rem;
}

.footer-col-2 {
    padding-bottom: 1.5rem;
}

.footer-col-3 {
    border-top: 1px solid rgba(105, 105, 105, .5);
    border-bottom: 1px solid rgba(105, 105, 105, .5);
}

.footer-col-4 {
    overflow: hidden;
}

.footer-links {
    margin-bottom: 0;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    font-weight: var(--font-bold);
}

.footer-links li {
    margin-bottom: 1rem;
}

.footer-links li:last-of-type {
    margin-bottom: 0;
}

.footer-links a:hover,
.footer-links a:focus {
    color: var(--secondary);
    filter: none;
}

.hours-wrapper {
    margin-right: -1rem;
    margin-top: 1.5rem;
    padding: 2rem 0 2rem 15%;
    text-align: left;
    border-radius: 100px 0 0 100px;
}

.hours-wrapper p {
    margin-bottom: 0;
    font-weight: var(--font-semibold);
}

.websites-wrapper {
    text-align: left;
    margin-top: 2rem;
}

#schools-dropdown {
    -webkit-appearance: none;
    appearance: none;
    border: none;
    background: rgba(105, 105, 105, 0.2);
    padding: 16px 24px;
    border-radius: 20px;
    width: 100%;
    font-weight: var(--font-semibold);
    position: relative;
    z-index: 1;
}

.custom-select {
    position: relative;
}

.custom-select::after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
    position: absolute;
    right: 20px;
    top: 50%;
    z-index: 0;
    transform: translateY(-50%);
    color: var(--dark-font-color);
}

.custom-select {
    flex-grow: 1;
}

.schools-select {
    width: 100%;
}

.schools-select .btn-circle {
    position: static;
    border: none;
    min-width: 48px;
    width: 48px;
    height: 48px;
    cursor: pointer;
}

.schools-select .btn-circle svg {
    width: 20px;
}

.copyright-wrapper {
    padding-top: 3rem;
    padding-bottom: 2.5rem;
}

.copyright-wrapper * {
    color: white;
}

.copyright-text {
    margin-bottom: 2rem;
}

.ie-link {
    justify-content: center;
}

.ie-logo {
    max-width: 30px;
    width: 100%;
    object-fit: contain;
}

@media (min-width: 62em) {
    footer {
        text-align: left;
    }

    .footer-logo {
        margin: 0 auto 1.5rem;
        width: 100px;
    }

    .main-footer {
        display: flex;
        gap: 1rem;
        padding-top: 2rem;
        padding-left: 3%;
        padding-right: 0;
    }

    .footer-col-1,
    .footer-col-2,
    .footer-col-3 {
        padding-top: 3rem;
    }

    .footer-col-2 {
        width: 35%;
        padding-left: .5rem;
    }

    .footer-col-3 {
        width: 23%;
        border: none;
    }

    .footer-links {
        padding: 0;
    }

    .footer-col-4 {
        flex-grow: 1;
    }

    .homepage .main-footer .site-name {
        margin-bottom: .25rem;
    }

    .school-motto {
        font-weight: var(--font-bold);
        margin-bottom: 1rem;
    }

    .contact-wrapper {
        font-size: 1rem;
    }

    .social-wrapper {
        justify-content: flex-start;
        margin-top: 1rem;
    }

    .hours-wrapper {
        margin-right: 0;
        margin-top: 0;
    }

    .hours-wrapper p {
        line-height: 2;
    }

    .websites-wrapper {
        margin-right: 3vw;
        padding-left: 15%;
    }

    .copyright-wrapper {
        justify-content: space-between;
        display: flex;
        align-items: center;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

    .copyright-text {
        margin-bottom: 0;
    }

    .ie-logo {
        max-width: 50px;
    }

    .subpage .main-footer {
        padding-top: 0;
        margin-top: 3rem;
    }

    .subpage .footer-col-4 {
        margin-top: -1.5rem;
    }
}

/* Home - Banner/Hero */
.banner-container {
    position: relative;
}

/* .banner-container.loader-active {
    width: 100%;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 750;
    background-color: var(--primary);
} */

.banner-container.loader-inactive {
    z-index: 600;
}

.schools .bg-image {
    background-size: cover !important;
    position: relative;
    transition: all .5s ease-in-out;
}

.schools .bg-image::after {
    position: absolute;
	width: 100%;
	height: 100%;
	background: transparent linear-gradient(90deg, #00000000 0%, #000000 100%) 0% 0% no-repeat padding-box;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	content: "";
	opacity: 0.5;
}

.center-cicle-wrapper {
    transition: all .5s ease-in-out;
}
/* .center-cicle-wrapper.loader-active {
    background-color: var(--primary);
    aspect-ratio: 1 / 1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 0;
    width: 100%;
    height: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 700;
} */
.center-cicle-wrapper.loader-inactive {
    border-radius: 50%;
    height: calc(100dvh - 146px);
    aspect-ratio: 1 / 1;
    position: relative;
    z-index: 710;
    margin: auto;
}

.schools .center-cicle-wrapper.loader-inactive {
    margin: auto auto auto 10rem;
}

.circle-bg {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 50%;
    z-index: 100;
    background-color: var(--primary);
    transition: all .5s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.schools .loader-inactive .circle-bg {
    opacity: 0.9;
}

.schools .loader-active .circle-bg {
    opacity: 1;
}

.circle-bg.loader-active {
    transform: scale(5);
}

.loading-text {
    position: absolute;
    left: 0;
    right: 0;
    top: 40dvh;
    /* transform: translateY(-50dvh); */
    text-align: center;
    z-index: 750;
    margin: 0;
}

.circle-bg.loader-inactive::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: url('/images/62f9d593-fb55-4207-a1a6-94f369d50eea');
    opacity: .4;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 3;
}

.schools .circle-bg.loader-inactive::after {
    content: none;
    background: none;
}

.loader-active .side-bubble-wrapper {
    display: none;
}

.loader-inactive .side-bubble-wrapper {
    display: block;
}

.center-cicle-wrapper h3 {
    color: white;
    text-align: center;
}

.circle-text {
    text-align: center;
    display: block;
    margin: 0;
    position: relative;
    z-index: 110;
    padding: 0 3rem;
}

.stylish-font {
    font-family: var(--stylish-font)!important;
    color: white;
    font-weight: var(--font-medium);
}


.side-bubble-wrapper img {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 50%;
}

.side-bubble-wrapper {
    width: auto;
    height: calc(50vh - 58px);
    aspect-ratio: 1 / 1;
    position: relative;
    transition: transform .3s ease-in-out;
    cursor: auto;
}

.side-bubble-wrapper img {
    transition: all .3s ease-in-out;
}

.side-bubble-wrapper::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(229, 182, 46, 0.2);
    top: 0;
    left: 0;
    right: 0;
    border-radius: 50%;
    transition: all .3s ease-in-out;
}

.bubble {
    border-radius: 50%;
    position: absolute;
    z-index: -1;
    aspect-ratio: 1/1;
    animation: fadeInAnimation ease 1.5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-delay: 2s;
    opacity: 0;
}

.scrolling-content {
    position: absolute;
    top: 100%;
    width: 100%;
    background-color: white;
}

.schools .scrolling-content {
    transition: all .3s ease-in-out;
    /* top: calc(100dvh - 132px); */
}

.bubble-text {
    font-family: var(--stylish-font);
}

@media (max-width: 1199px) {
    .schools .center-cicle-wrapper.loader-inactive {
        margin: auto;
    }
    .center-cicle-wrapper.loader-active {
        height: 100dvh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 700;
        background-color: var(--primary);
    }
    .side-bubble-wrapper {
        width: 50%;
        height: auto;
    }

    .side-bubble-wrapper.active {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 120;
    }

    .side-bubble-wrapper img {
        width: 100%;
        border-radius: 0;
    }

    .side-bubble-wrapper::after {
        border-radius: 0;
        transition: all .3s ease-in-out;
    }

    .side-bubble-wrapper.active::after {
        background-color: rgba(229, 182, 46, 0.5);
    }

    .bubble-text {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        right: 0;
        z-index: 120;
        text-align: center;
        color: white;
        font-weight: var(--font-bold);
        font-size: 24px;
        opacity: 0;
        transition: all .3s ease-in-out;
    }

    .side-bubble-wrapper.active .bubble-text {
        opacity: 1;
    }

    .center-cicle-wrapper.loader-inactive {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        height: auto;
    }

    .circle-bg, 
    .circle-bg::after {
        width: 80vw;
        height: 80vw;
        transform: translateY(-50%);
        top: 50%;
    }

    .circle-text {
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        margin: auto;
        transform: translateY(-50%);
        width: 80%;
    }

    .scrolling-content {
        position: static;
    }

    .banner-container {
        margin-bottom: 0;
        height: auto!important;
    }

    .school .bg-image {
        top: 0!important;
    }

    .bubble-1b {
        left: 10%;
        top: 10%;
        width: 9%;
        z-index: 1;
        animation-delay: 2s;
    }

    .bubble-2a {
        width: 10%;
        left: 45%;
        top: 0;
        z-index: 1;
        animation-delay: 2.5s;
    }

    .bubble-2b {
        width: 7.5%;
        right: 13%;
        top: 11%;
        z-index: 1;
        animation-delay: 3s;
    }

    .bubble-3a {
        z-index: 700;
        width: 11%;
        bottom: 17%;
        right: 12%;
        animation-delay: 3.5s;
    }

    .bubble-3b {
        z-index: 1;
        width: 12.5%;
        bottom: 0;
        left: 5%;
        animation-delay: 4s;
    }

    .bubble-4a {
        width: 9%;
        top: 3%;
        right: 3%;
        z-index: 1;
        animation-delay: 4.5s;
    }
}

@media(max-width: 500px) {
    .circle-text {
        font-size: 1.5rem;
        width: 90%;
    }

    .circle-bg, .circle-bg::after {
        width: 90vw;
        height: 90vw;
    }
}

@media (min-width: 75em) {
    .banner-container {
        position: fixed;
        width: 100%;
        top: 126px;
        z-index: 750;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: calc(100dvh - 146px);
    }

    .schools .banner-container {
        top: 0;
        height: calc(100dvh - 196px);
        position: relative;
    }

    .schools .bg-image {
        height: calc(100dvh - 206px);
        top: 100px;
        top: 0;
    }

    .loading-text {
        top: calc(50% - 58px);
    }
    .schools .loading-text {
        left: auto;
    }
    .circle-text {
        font-size: 3rem;
    }

    .center-cicle-wrapper.loader-inactive {
        max-height: 50vw;
    }

    .circle-bg.loader-inactive::after {
        top: 0;
    }

    .circle-text .stylish-font {
        font-size: 3.5rem;
    }

    .side-bubble-wrapper {
        width: auto;
        max-height: 24.5vw;
        position: absolute;
    }


    .side-bubble-wrapper.side-bubble-1 {
        top: 0;
        left: -42%;
        z-index: 2;
    }
    .side-bubble-wrapper.side-bubble-2 {
        top: 0;
        right: -42%;
        z-index: 1;
    }
    .side-bubble-wrapper.side-bubble-3 {
        top: 45%;
        left: -42%;
        z-index: 1;
    }
    .side-bubble-wrapper.side-bubble-4 {
        top: 45%;
        right: -42%;
        z-index: 2;
    }

    .bubble-1a {
        left: -16%;
        bottom: 8%;
        width: 30%;
        animation-delay: 2s;
    }

    .bubble-1b {
        width: 18%;
        right: 0;
        top: 5%;
        animation-delay: 2.5s;
    }

    .bubble-2a {
        width: 25%;
        left: -6%;
        top: 0;
        animation-delay: 3s;
    }

    .bubble-2b {
        width: 15%;
        right: -3%;
        bottom: 15%;
        animation-delay: 3.5s;
    }

    .bubble-3a {
        width: 25%;
        left: -10%;
        bottom: 3%;
        animation-delay: 4s;
    }

    .bubble-4a {
        width: 18%;
        top: 15%;
        right: -8%;
        animation-delay: 4.5s;
    }

    .bubble-text {
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        transform: translateY(-50%);
        font-weight: var(--font-bold);
        font-size: 2rem;
        text-align: center;
        z-index: 11;
        color: white;
        transition: all .3s ease-in-out;
        opacity: 0;
    }

    .side-bubble-wrapper:hover {
        z-index: 105;
    }

    .side-bubble-wrapper:hover img {
        transform: scale(1.05);
    }

    .side-bubble-wrapper:hover::after {
        background-color: rgba(229, 182, 46, .5);
        transform: scale(1.05);
    }

    .side-bubble-wrapper:hover .bubble-text {
        opacity: 1;
    }

    .scroll-more {
        display: block;
        font-weight: var(--font-semibold);
        color: var(--dark-grey);
        position: fixed;
        right: 2rem;
        bottom: 96px;
        writing-mode: vertical-rl;
        text-orientation: mixed;
        z-index: 20;
    }

    .schools .scroll-more {
        bottom: 226px;
        color: white;
    }

    .scroll-more::after {
        content: '';
        width: 2px;
        height: 60px;
        position: absolute;
        background-color: var(--dark-grey);
        left: 50%;
        top: calc(100% + 16px);
        transform: translateX(-50%);
    }

    .schools .scroll-more::after {
        background-color:white;
    }
}

/* Home - Quicklinks */
.quicklinks-section {
    background-color: var(--secondary);
}

.quicklinks-section a {
    color: white;
    display: block;
    padding: 1.5rem 1rem;
    border: .5px solid white;
    width: 50%;
    text-align: center;
    font-weight: var(--font-bold);
}

.quicklinks-section {
    display: flex;
    flex-wrap: wrap;
}

@media(min-width: 48em) {
    .quicklinks-section  {
        flex-wrap: nowrap;
        padding: 2rem 10%;
        justify-content: center;
    }

    .quicklinks-section a {
        border: none;
        border-right: 0.5px solid white;
        padding: 0;
        width: auto;
        flex-grow: 1;
    }

    .quicklinks-section a:last-of-type {
        border: none;
    }
}

@media (min-width: 75em) {
    .quicklinks-section a {
        font-size: 1.2rem;
    }
}

/* Home - Spotlight & News */
.spotlight-section {
    margin-top: 2rem;
}

.spotlight-swiper {
    padding: 6% 0;
}
.spotlight-img,
.news-img {
    aspect-ratio: 625 / 360;
    border-radius: 15px;
    width: 100%;
    border: 4px solid #000;
} 

.spotlight-item {
    opacity: .5;
}

.home-news-section .title-row {
    margin-bottom: 1.5rem;
    position: relative;
}

.spotlight-item.swiper-slide-active {
    transform: scale(2.5);
    z-index: 100;
    opacity: 1;
}

.swiper-button-prev,
.swiper-button-next {
    background-color: var(--secondary);
    padding: 10px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
    display: none;
}

.swiper-button-prev svg,
.swiper-button-next svg {
    fill: white;
    width: 24px;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    content: none;
}

.spotlight-button-prev {
    left: 5%;
}

.spotlight-button-next {
    right: 5%;
}

.news-button-prev,
.news-button-next {
    position: static;
}

.news-item {
    position: relative;
}

.news-content h4 {
    color: var(--dark-font-color);
    margin-bottom: 5px;
    font-weight: var(--font-semibold);
}

.publish-date {
    font-weight: var(--font-semibold);
}

.news-content .card-description {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 5px;
    line-height: 1.6;
}

.news-link {
    display: block;
}

.spotlight-link.no-img,
.news-link.no-img {
    background: var(--light-grey);
    aspect-ratio: 625 / 360;
    border-radius: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.spotlight-link.no-img img,
.news-link.no-img img {
    width: 60px;
    object-fit: contain;
    margin: auto;
}

@media (max-width: 991px) {
    .spotlight-link.no-img img {
        width: 20%;
        max-width: 30px;
    }

    .spotlight-link.no-img {
        border-radius: 15px;
    }

    .spotlight-swiper {
        padding: 17% 0
    }
    .spotlight-section {
        margin-bottom: 1rem;
        padding: 0;
    }

    .spotlight-section .title-row {
        padding: 0 5%;
    }

    .news-link {
        background: var(--light-grey);
        border-radius: 15px;
        border: 2px solid black;
    }

    .news-img-wrapper {
        aspect-ratio: 625 / 360;
        background: var(--dark-grey);
        border-radius: 15px 15px 0 0;
    }

    .news-link.no-img {
        aspect-ratio: unset;
        border-radius: 15px;
    }

    .news-img {
        border-radius: 15px 15px 0 0;
        border: none;
    }

    .news-item {
        margin-bottom: 2rem;
    }

    .news-item:last-of-type {
        margin-bottom: 0;
    }

    .news-wrapper.row {
        row-gap: 0;
    }

    .news-content {
        padding: 1rem;
        color: var(--dark-font-color);
    }

    .home-news-section .news-content .format-card-longer {
        display: none;
    }

    .home-news-section .btn-link {
        color: var(--dark-font-color);
    }

    .home-news-section.mobile-only {
        position: relative;
        overflow: hidden;
        padding-top: 30rem;
        margin-top: -30rem;
    }

    .home-news-section.mobile-only .bg-circle {
        width: auto;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        position: absolute;
        left: 30%;
        top: 0;
        min-height: 770px;
        opacity: 0.7;
    }
}

@media (max-width: 767px) {
    .spotlight-section .title-row {
        padding: 0 1rem;
    }

    .news-item {
        margin-bottom: 1rem;
    }
}

@media (min-width: 62em) {
    .spotlight-button-prev {
        left: 8%;
    }

    .spotlight-button-next {
        right: 8%;
    }

    .swiper-button-prev,
    .swiper-button-next {
        display: flex;
    }

    .spotlight-img,
    .news-img {
        border-radius: 40px;
    } 

    .spotlight-item.swiper-slide-active {
        transform: scale(1.4);
    }

    .home-news-section .link-wrapper {
        display: flex;
        align-items: center;
        z-index: 10;
    }

    .home-news-section .link-wrapper .btn-link {
        margin-right: 1rem;
    }

    .news-button-prev,
    .news-button-next {
        transform: none;
        width: 50px;
        height: 50px;
    }

    .news-button-prev {
        margin-right: .5rem;
        opacity: 0.7;
    }

    .news-button-prev svg,
    .news-button-next svg {
        width: 20px;
    }

    .news-content {
        background: var(--light-grey);
        color: var(--dark-font-color);
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        border-radius: 40px;
        padding: 1.5rem;
        aspect-ratio: 625 / 360;
        opacity: 0;
        transition: all .3s ease-in-out;
    }

    .news-item:hover .news-content,
    .news-item:focus .news-content {
        opacity: 1;
    }

    .news-item .btn-circle {
        opacity: 0;
        transition: all .3s ease-in-out;
    }

    .news-item:hover .btn-circle,
    .news-item:focus .btn-circle {
        opacity: 1;
    }

    .home-news-section {
        position: relative;
        overflow-x: hidden;
        padding-top: 30rem;
        margin-top: -30rem;
        padding-bottom: 4rem;
        padding-right: 1rem;
    }

    .home-news-section .title-row {
        padding-right: 7.5%;
        position: relative;
    }

    .home-news-section.desktop-only .bg-circle {
        width: 51%;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        position: absolute;
        right: -8%;
        bottom: 0;
        opacity: 0.8;
    }

    .news-content h4 {
       font-size: 1.3rem;
    }
}

/* Home - Mission */
.mission-section h2 {
    color: white;
    font-family: var(--stylish-font);
    font-weight: var(--font-medium);
    font-size: 2rem;
}

.mission-section p {
    font-weight: var(--font-semibold);
}

.mission-section {
    padding: 2rem 0;
    position: relative;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
}

.mission-section .content-container {
    position: relative;
    z-index: 2;
}

.mission-bg::after {
    content: "";
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.mission-section .btn {
    margin: 2rem auto 0;
}

.school-about {
    position: relative;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
}

.school-about::after {
    content: "";
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.school-about .content-container {
    position: relative;
    z-index: 2;
}

@media (min-width: 62em) {
    .mission-section {
        padding: 3rem 0;
    }
    .mission-section h2 {
        font-size: 3.5rem;
    }

    .mission-section {
        padding: 3.5rem 0;
    }

    .school-about {
        padding: 7% 0;
    }
}

/* Home - Events */
.events-social-section {
    position: relative;
}
.bg-text.stay-informed {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0 3rem;
    top: 0;
    display: none;
}

.events-social-section .content-container {
    position: relative;
    z-index: 200;
}
.events-social-section .title-row {
    margin-bottom: 1rem;
}

.event-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 45px;
    margin-bottom: 20px;
    height: var(--event-height-sm);
    padding-left: 28px;
}

.event-item:hover,
.event-item:focus {
    filter: none;
}

.event-item::before {
    content: '';
    width: var(--event-height-sm);
    height: var(--event-height-sm);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    background-color: var(--secondary);
    border-radius: 50%;
    transition: all .8s ease;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    font-size: 1.5rem;
}

.event-item::after {
    content: '';
    width: var(--event-height-sm);
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-color: var(--accent-1);
    border-radius: 90px;
    z-index: 0;
    transition: all .8s ease;
}

.event-item:hover::before,
.event-item:focus::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='17' viewBox='0 0 28 17' fill='white'%3E%3Cpath d='M27.4873 9.70006C28.1709 9.03631 28.1709 7.95838 27.4873 7.29463L20.4869 0.497813C19.8033 -0.165938 18.6931 -0.165938 18.0095 0.497813C17.3258 1.16156 17.3258 2.2395 18.0095 2.90325L22.0237 6.8008H1.75009C0.782069 6.8008 0 7.56013 0 8.5C0 9.43987 0.782069 10.1992 1.75009 10.1992H22.0237L18.0095 14.0967C17.3258 14.7605 17.3258 15.8384 18.0095 16.5022C18.6931 17.1659 19.8033 17.1659 20.4869 16.5022L27.4873 9.70537V9.70006Z' fill='white'/%3E%3C/svg%3E");
    left: calc(100% - var(--event-height-sm));
}

.event-item:hover::after,
.event-item:focus::after {
    width: 100%;
}

.event-date-wrapper {
    color: white;
    text-align: center;
    position: relative;
    z-index: 2;
}

.month {
    font-weight: var(--font-semibold);
    font-size: 26px;
    line-height: 1;
}

.day {
    font-weight: var(--font-semibold);
    font-size: 40px;
    line-height: 1;
}

.event-details {
    color: var(--dark-font-color);
    transition: all .8s ease;
    position: relative;
    z-index: 3;
}

.event-item:hover .event-details {
    color: white;
}

.event-title {
    font-weight: var(--font-semibold);
    font-size: 24px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

@media (min-width: 62em) {
    .event-item {
        gap: 65px;
        height: var(--event-height-lg);
    }

    .event-date-wrapper {
        margin-left: 8px;
    }

    .event-item::before {
        width: var(--event-height-lg);
        height: var(--event-height-lg);
    }

    .event-item::after {
        width: var(--event-height-lg);
    }

    .event-item:hover::before,
    .event-item:focus::before {
        left: calc(100% - var(--event-height-lg));
    }

    .placeholder-event {
        min-height: 640px;
    }
}

@media(min-width: 75em) {
    .events-social-section .title-row {
        margin-bottom: 6%;
    }

    .event-details {
        width: calc(100% - 200px);
    }

    .event-title {
        font-size: 20px;
    }
}

@media(min-width: 99em) {
    .event-title {
        font-size: 24px;
    }
}

/* Home - Social Tabs */
#social-tabs {
    border: none;
    background: transparent;
    padding: 0;
}

#social-tabs .tab-trigger span {
    display: none;
}

#social-tabs .ui-tabs-panel{
    background: var(--light-grey);
    border-radius: 15px;
    padding: 20px;
}

#social-tabs .ui-tabs-nav {
    background: none;
    border: none;
}

#social-tabs .ui-tabs-nav li {
    font-weight: 400;
    border: none;
    background: none;
    transition: all .2s ease-in-out;
    margin: 0;
    border-radius: 0;
    font-family: var(--body-font);
    border-right: 1px solid var(--dark-font-color);
}

#social-tabs .ui-tabs-nav li:last-of-type {
    border-right: none;
}

#social-tabs .ui-state-active {
    border-right: 1px solid var(--dark-font-color);
}

#social-tabs .ui-state-active a{
    color: var(--secondary);
    font-weight: var(--font-semibold);
}

#social-tabs .ui-tabs-nav .ui-tabs-anchor {
    padding: 0 1rem;
}

.fb-page, 
.fb-page span, 
.fb-page span iframe[style] { 
    width: 100% !important; 
}

.instagram-img {
    width: 100%;
}

.instagram-wrapper {
    max-height: 624px;
    overflow-y: scroll;
    margin: 16px 0;
}

@media (max-width: 1199px) {
    .event-title {
        font-size: 18px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
    }
}

@media (min-width: 75em) {
    .bg-text.stay-informed {
        display: block;
    }

    .events-social-section .content-container {
        padding-top: 5%;
    }

    .events-col {
        padding-right: 3rem;
    }

    .social-col {
        padding-left: 3rem;
    }

    #social-tabs .tab-trigger i {
        display: none;
    }

    #social-tabs .tab-trigger span {
        display: block;
    }

    #social-tabs .ui-tabs-panel{
        border-radius: 50px;
    }
}

/* Home - Strategic Priorites */
.priorities-section {
    position: relative;
    padding-bottom: 10%;
}

.priorities-section * {
    color: white;
}
.bg-text.priorities-text {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0 3rem;
    top: 3rem;
}

#priorities-tabs {
    background: transparent;
    border: none;
    padding-top: 9rem;
    padding-bottom: 4rem;
}

#priorities-tabs .ui-tabs-nav {
    border: none;
    gap: 1rem;
}

#priorities-tabs .ui-tabs-tab i {
    transition: all .3s ease-in-out;
    font-size: 2rem;
}

#priorities-tabs .ui-tabs-tab.ui-tabs-active i,
#priorities-tabs .ui-tabs-tab:hover i,
#priorities-tabs .ui-tabs-tab:focus i {
    color: var(--primary);
}

#priorities-tabs .ui-tabs-nav .ui-tabs-tab {
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    background: var(--secondary);
}

.homepage .priority-link * {
    color: white;
}

.homepage .priority-link h3 {
    font-weight: var(--font-semibold);
    font-size: .9rem;
    margin: 0;
}

#priorities-tabs .priority-content {
    font-family: var(--body-font);
    width: 80%;
    margin: auto;
    padding: 10% 0 0;
}

.click-text {
    display: none;
}

@media (max-width: 991px) {
    .priorities-section .intro-text {
        text-align: center;
        padding: 5rem 1rem 2rem;
        margin-bottom: 0;
    }

    #priorities-tabs {
        padding-top: 0;
    }

    #priorities-tabs .ui-tabs-nav .ui-tabs-tab {
        width: calc(50% - 0.5rem);
        margin: 0;
    }

    #priorities-tabs .ui-tabs-nav::before {
        content: none;
    }

    .priority-link i {
        display: none;
    }

    .bg-text.priorities-text {
        padding: 0 2rem;
        top: 2rem;
    }

    .priorities-mobile {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
        z-index: 10;
        position: relative;
        margin-bottom: 3rem;
    }

    .priority-link {
        width: calc(50% - .5rem);
        border-radius: 50%;
        aspect-ratio: 1 / 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        background: var(--secondary);
        padding: 1rem;
    }
}

@media(min-width:48em) {
    .homepage .priority-link h3 {
        font-size: 1.375rem;
    }
}

@media (min-width: 62em) {
    #priorities-tabs .ui-tabs-nav {
        flex-wrap: nowrap;
    }

    #priorities-tabs .ui-tabs-nav li {
        width: calc((100% - 3rem) / 4);
        height: calc((100% - 3rem) / 4);
    }

    #priorities-tabs .priority-content p {
        margin-bottom: 2rem;
    }

    .homepage .priority-link h3 {
        font-size: 1.2rem;
        margin-top: .75rem;
        margin-bottom: .5rem;
    }

    #priorities-tabs .priority-content {
        width: 70%;
    }

    /* #priorities-tabs .ui-tabs-nav .ui-tabs-anchor {
        margin-top: .5rem;
    } */
    #priorities-tabs .ui-tabs-nav .ui-tabs-anchor {
        height: 100%;
        width: 100%;
        border-radius: 50%;
    }

    .homepage .click-text {
        display: block;
        font-weight: var(--font-medium);
        color: var(--light-font-color);
        opacity: 0;
        transition: all .3s ease-in-out;
    }

    /* transition-behavior: allow-discrete; */

    #priorities-tabs .ui-tabs-tab:hover .click-text,
    #priorities-tabs .ui-tabs-tab:focus .click-text{
        opacity: 1;
        animation: tilt-shaking 0.25s infinite;
    }

    #priorities-tabs .ui-tabs-active:hover .click-text,
    #priorities-tabs .ui-tabs-tab:focus .click-text,
    #priorities-tabs .ui-tabs-active .click-text{
        opacity: 0;
    }
}

@media (min-width: 75em) {
    #priorities-tabs .priority-content {
        width: 80%;
    }
}

@media (min-width: 99em) {
    .bg-text.priorities-text {
        top: 4rem;
    }

    #priorities-tabs {
        padding-top: 11rem;
    }

    #priorities-tabs .ui-tabs-nav .ui-tabs-anchor {
        padding: 1.5rem;
    }

    .homepage .priority-link h3 {
        font-size: 1.5rem;
    }
}

/* Home - Land Acknowledgement */
.landack-section {
    margin-top: -9%;
}
.landack-img {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 10% 8%;
    border-radius: 50px;
}

.homepage .landack-section * {
    color: white;
}

.landack-img {
    position: relative;
}

.landack-img::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-radius: 50px;
    background: linear-gradient(0deg, rgba(40, 40, 40, 0.50) 0%, rgba(40, 40, 40, 0.50) 100%);
}

.landack-text {
    position: relative;
    z-index: 10;
}

.landack-section h2 {
    font-size: 2.5rem;
}

.landack-section p {
    margin-bottom: 0;
    line-height: 2;
}

@media (min-width: 75em) {
    .landack-section h2 {
        font-size: 3rem;
        margin-bottom: 3rem;
    }
}

/* Subpage */
.subpage .logo-row {
    position: static;
    background-color: transparent;
}

.page-header h1 {
    font-family: var(--heading-font);
    color: var(--dark-font-color);
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.page-header {
    position: relative;
}

.header-circle {
    position: absolute;
    top: -45%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    width: 90vw;
    height: 45vw;
    aspect-ratio: 1/1;
    background-color: var(--primary);
    z-index: -1;
    border-radius: 90vw 90vw 0 0;
    margin: auto;
}

.landing .header-circle {
    border-radius: 0 0 90vw 90vw;
    top: -200%;
}

.page-template {
    background-color: white;
    padding-bottom: 5%;
}

.page-template.landing {
    background-color: transparent;
}

.page-content-inner ul,
.page-content-inner ol {
    list-style: revert;
    padding-left: 1.5rem;
    line-height: 2
}

.page-content-inner .editor-nested-listitem::marker {
    content: none;
}

.page-content-inner .ul-list-button {
    padding-left: 0;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.list-button a {
    background: var(--primary);
    /* width: fit-content;
    display: flex;
    align-items: self-start;
    gap: 5px; */
    padding: 1rem;
    border-radius: 20px;
    color: var(--accent-1);
    width: 200px;
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.list-button a img {
    width: 45px;
    margin: 0 auto .5rem;
}

.list-button a span {
    line-height: 1.3;
    display: block;
}

.list-button {
    list-style: none;
}

@media (min-width: 500px){
    .header-circle {
        top: -150%;
    }
}

@media (min-width: 48em) {
    .page-header h1 {
        font-size: 2.8rem;
        margin-top: 4rem;
    }

    .header-circle {
        top: -250%;
        width: 70vw;
        height: 35vw;
        border-radius: 70vw 70vw 0 0;
    }

    .landing .header-circle {
        border-radius: 0 0 70vw 70vw;
        top: -250%;
    }

    .page-template {
        padding-bottom: 15%;
    }
}

@media (min-width: 75em) {
    .header-circle {
        width: 50vw;
        height: 25vw;
        border-radius: 50vw 50vw 0 0;
    }

    .landing .header-circle {
        border-radius: 0 0 50vw 50vw;
        top: -300%;
    }
}

@media(min-width: 99em) {
    .page-template {
        padding-bottom: 15%;
        min-height: 80dvh;
    }
}

/* Collapsible box - rich text editor */
.collapsible-box {
	width: 100%;
	margin-bottom: 1rem;
}

.collapsible-box .material-icons {
	color: var(--secondary);
	font-weight: var(--font-bold);
}

.collapsible-box-description { 
	display: none;
	margin: 1rem 0.5rem;
}

.collapsible-box-title {
    background-color: var(--light-grey);
    display: flex;
    align-items: center;
    padding: .5rem;
	margin: 0;
	cursor: pointer;
}

.collapsible-box-title i {
	margin-right: .5rem;
}

.collapsible-bottom-icon {
	cursor: pointer;
}

/* Collapsible boxes - lexical RTE */
.editor details summary {
    background-color: var(--light-grey);
    display: flex;
    align-items: center;
    padding: .5rem;
	margin: 0;
	cursor: pointer;
    transition: all .3s ease-in-out;
}

.editor details summary i {
    color: var(--secondary);
    margin-right: .5rem;
}

.editor details {
    margin-bottom: 1rem;
    transition: all .3s ease-in-out;
}

.editor div[data-lexical-collapsible-content]{
    padding: 1rem;
}


/* Landing Page */
.landing-link {
    background: var(--light-grey);
    border-radius: 40px;
    text-align: center;
    padding: 4rem 1rem;
    position: relative;
}

.landing-link h3 {
    color: var(--dark-font-color);
    transition: all .3s ease-in-out;
}

.landing-link:hover, .landing-link:focus {
    filter: none;
    background: var(--accent-1);
}

.landing-link:hover h3, .landing-link:focus h3 {
    color: white;
}

.landing-wrapper {
    row-gap: 1rem;
}

@media (min-width: 62em) {
    .landing-item {
        padding: 0 .5rem;
    }
}

/* News, Event Article */
.publish-date {
    font-weight: var(--font-semibold);
    margin: 1rem 0;
}

.recent-item {
    margin-bottom: .75rem;
    display: block;
    background: var(--light-grey);
    padding: .5rem 1rem;
}

.recent-item h4 {
    font-size: 1rem;
    color: var(--dark-font-color);
}

.recent-wrapper {
    margin-bottom: 2rem;
}

.recent-wrapper h3 {
    color: var(--dark-font-color);
}

.back-link {
    margin-bottom: 1rem;
}

.article-content {
    margin-top: 2rem;
}

@media (min-width: 62em) {
    .recent-wrapper {
        margin-top: 2rem;
    }
}


/* General DCT Template */
.content-row.border-top {
  padding-top: 3rem;
  margin-top: 3rem;
  border-top: 1px solid #e3e3e3;
}

.content-row.border-top-bottom {
  padding: 3rem 0;
  margin: 2rem 0;
  border-top: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
}

.content-row.border-bottom {
  padding-bottom: 3rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #e3e3e3;
}

.content-row.border-top > div *:first-child,
.content-row.border-top-bottom > div *:first-child  {
  margin-top: 0;
}

.content-row.border-bottom > div *:last-child,
.content-row.border-top-bottom > div *:last-child {
  margin-bottom: 0;
}

.content-row img {
  display: block;
  width: 100%;
}

.content-row .btn {
  margin-bottom: 1rem;
  color: var(--dark-font-color);
}

.content-row .btn:hover,
.content-row .btn:focus {
    color: white;
}

.responsive-video {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  margin-bottom: 1.5rem;
}

.responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.useful-links-wrapper {
  margin-top: 1.3125rem;
  margin-bottom: 5rem;
}

.useful-link {
  line-height: 1;
  margin-top: 2rem;
  text-align: center;
}

.useful-link a {
	display: block;
	padding: 1.5rem 1rem;
	color: var(--light-font-color);
}

.useful-link i {
  display: block;
  font-size: 40px;
  margin-bottom: .5rem;
}

.useful-link span {
	font-size: 1.25rem;
	font-weight: bold;	
}

.useful-link i,
.useful-link span {
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  -ms-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

.useful-link a:hover i,
.useful-link a:focus i {
  opacity: 0.8;
}

.useful-link a:hover span,
.useful-link a:focus span {
  border-bottom: 1px solid;
}

.simple-links-wrapper h5 {
  margin-bottom: .75rem;
}

.simple-links-wrapper .simple-link {
  margin: 0 0 .5rem;  
}

.simple-links-wrapper .pre-link {
  margin: 1rem 0 0.5rem 0;
}

.documents-section {
    margin-top: 1.3125rem;
    margin-bottom: 5rem;
}

.documents-section ul {
	list-style: none;
	margin: 0;
	padding: 0;
	box-shadow: rgb(149 157 165 / 20%) 0px 8px 24px;
}

.documents-section ul li {
	padding: 0.5rem 1rem;
	margin: 0;
}

.documents-section ul li:nth-child(2n) {
	background: #f5f5f5;
}

.img-box-wrapper {
    display: block;
}

.img-box-wrapper img {
    width: 100%;
    aspect-ratio: 3/2;
    border-radius: 20px 20px 0 0;
}

.img-box-wrapper {
    background: var(--light-grey);
    border: 1.5px solid var(--light-grey);
}

.img-box-wrapper .box-text {
    padding: 1.5rem;
}

.img-box-wrapper p {
    margin-bottom: .5rem;
}

.formatted-content {
    margin-bottom: 2rem;
}

.formatted-content .img-box-wrapper {
    height: 100%;
    border-radius: 20px;
}

/* DCT - Photo Gallery */
.gallery-item {
	margin-bottom: 1rem;
}
.gallery-item img {
    min-height: unset;
	aspect-ratio: 4/3;
	width: 100%;
}

.pswp__custom-caption {
    text-align: center;
    font-size: 16px;
    color: #fff;
    width: fit-content;
    max-width: 800px;
    padding: .5rem 1rem;
    position: absolute;
    left: 50%;
    bottom: 1rem;
    transform: translateX(-50%);
}

@media (min-width: 62em) {
    .img-box-wrapper img {
        border-radius: 40px 40px 0 0;
    }
	.formatted-content .img-box-wrapper {
        border-radius: 40px;
    }
}

/* Secondary Navigation */
.secondary-nav {
    background: var(--light-grey);
    margin-top: 2rem;
}

.secondary-nav-ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	margin-bottom: 0;
    padding: 1rem 0;
    row-gap: 1rem;
}

.secondary-nav-item {
	padding: 0 1.5rem;
	position: relative;
}

.secondary-nav-item a {
	display: inline-block;
	color: var(--dark-font-color);
	font-weight: var(--font-bold);
}

.secondary-nav-item::after {
    position:absolute;
    transform: translateY(-50%);
    top: 50%;
    width: 1px;
    height: 1rem;
    content:"";
    background:var(--dark-font-color);
    right: 0;
}

.secondary-nav-item:last-of-type::after {
    content: none;
}

.secondary-nav-item:hover {
	filter: brightness(.95);
}

.vertical-bar {
	height: 16px;
    width: 1px;
    background: var(--dark-font-color);
    display: inline-block;
    vertical-align: middle;
    margin: auto 0;
}

.breadcrumbs {
    display: flex;
	flex-wrap: wrap;
    gap: 0.25rem;
	align-items: center;
	padding-top: 2.5rem;
	padding-bottom: 2rem;
}

.breadcrumbs a {
    font-weight: var(--font-semibold);
    color: var(--dark-font-color);
    margin: 0 8px;
}

.breadcrumbs a:first-of-type {
    margin-left: 0;
}

.breadcrumbs a.active {
	color: var(--secondary);
}

.breadcrumbs-home i {
	font-size: .65rem;
}

.current-page,
.cookie {
	display: none;
}

@media(max-width: 62em){
    .breadcrumbs {
        padding-top: 1rem;
    }
	.current-page {
		display: flex;
		margin: 1.5rem 1rem 0;
		background: var(--light-grey);
		padding: 0.75rem;
		justify-content: space-between;
		font-weight: var(--font-bold);
	}
	
	.cookie {
		display: block;
	}
	
	.cookie a {
		display: flex;
		align-items: center;
		color: var(--dark-font-color);
		font-weight: var(--font-bold);
		padding: 0 0.75rem;
	}
	
	.secondary-nav {
		display: none;
		margin: 0 1rem;
	}
	
	.secondary-nav-ul {
		flex-direction: column;
		row-gap: .75rem;
		padding: 1rem 0;
        background: #d1d1d1;
	}
	
	.secondary-nav-item:before,
	.secondary-nav-item:after,
	.secondary-nav-item.active::after {
		content: none;
	}
	
	.secondary-nav-item {
		padding: 0 1rem;
	}
	
	.secondary-nav-item.active a {
		color: var(--secondary);
	}
	
	.secondary-nav-item:hover {
		border: none;
		filter: none;
	}
	
	.vertical-bar {
		display: none;
	}
}

@media(min-width: 62em){
	.secondary-nav {
		display: block!important;
	}
}

/* Modal */
/* General Styling */
.main-content-wrapper {
	margin: auto;
}

.modal-trigger {
	cursor: pointer;
}

.modal-wrapper {
    display: none;
    position: fixed;
    z-index: 1700;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.7);
    margin: 0!important;
}

.modal-info {
	margin: 0 auto;
    width: 90%;
    position: absolute;
    top: 20%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    padding: 1rem;
	max-height: 90dvh;
}

.modal-wrapper .close-icon {
    font-size: 1.5rem;
    position: sticky;
    top: 0;
    left: 100%;
    cursor: pointer
}

@media (min-width: 62em){
	.modal-info {
		width: 40%;
		top: 50%;
	}
}

/* Custom Styling for Useful Links Modal */
.usefullinks-modal .modal-info {
	background-color: var(--secondary);
	top: 50%;
	overflow: auto;
	padding: 2rem;
    border-radius: 50px;
}

.usefullinks-modal .modal-info .close-icon {
	color: white;
	font-weight: 900;
	font-size: 2rem;
}

.usefullinks-modal .modal-info h3{
	margin-top: -2rem;
	margin-bottom: 1.5rem;
    color: white;
}


.useful-links-wrapper {
	display: flex;
    flex-wrap: wrap;
    row-gap: 1.5rem;
    column-gap: 2rem;
}

.service.useful-link {
	width: calc((100% - 2rem) / 2);
}

.service.useful-link .service-icon img {
    height: 4em;
}

@media (min-width: 48em){
	.usefullinks-modal .modal-info {
		width: 90%;
	}

	.useful-links-wrapper {
		row-gap: 1.5rem;
	}

	.service.useful-link {
		width: calc((100% - 8rem) / 5);
	}
}

@media (min-width: 99em){
	.usefullinks-modal .modal-info {
		width: 80%;
		max-width: 1600px;
		margin: auto;
		padding: 3rem;
	}
}

/* Animation */
.fade {
    -webkit-animation-name: fade;
    -webkit-animation-duration: .5s;
    animation-name: fade;
    animation-duration: .5s;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes shake {
    0% { transform:translate(0,0) }
    19% { transform:translate(0,0) }  
    20% { transform:translate(8px,0) }
    23% { transform:translate(0,0) }
    25% { transform:translate(8px,0) }
    27% { transform:translate(0,0) }
    28% { transform:translate(8px,0) }
    30% { transform:translate(0,0) }
    100% { transform:translate(0,0) } 
}

@keyframes tilt-shaking {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(5deg); }
  50% { transform: rotate(0eg); }
  75% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}

@keyframes jiggle {
    0% {
        transform: rotate(-1deg);
    }
    50% {
        transform: rotate(1deg);
    }
}

/* Line Drawing Animation */
#priorities-tabs .ui-tabs-nav .ui-tabs-tab svg {
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    height: 0;
    transition: all 1s ease;
}

#priorities-tabs .ui-tabs-tab:nth-of-type(2) svg {
   width: 36.5vw;
   /* max-width: 934.4px; */
}

#priorities-tabs .ui-tabs-tab:nth-of-type(3) svg {
   width: 57vw;
   /* max-width: 1459.2px; */
}

#priorities-tabs .ui-tabs-tab:nth-of-type(4) svg {
   width: 78vw;
   /* max-width: 2048px; */
}


#priorities-tabs .ui-tabs-nav .ui-tabs-tab svg path {
  stroke-dasharray: 1800;
  stroke-dashoffset: -1800;
  transition: all 1s ease;
  stroke: var(--primary)!important;
}

/* #priorities-tabs .ui-tabs-nav .ui-tabs-tab:hover svg, */
#priorities-tabs .ui-tabs-nav .ui-tabs-active svg {
    height: auto;
}

/* #priorities-tabs .ui-tabs-nav .ui-tabs-tab:hover svg path, */
#priorities-tabs .ui-tabs-nav .ui-tabs-active svg path {
    stroke-dashoffset: 0;
}

/* Image RTE Template */
.image-text-row {
    margin-bottom: 2rem;
    row-gap: 1rem;
}

.row-img {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.row-img.profile {
    display: block;
}

.row-img img {
    width: 100%;
    aspect-ratio: 4/3;
    margin-bottom: .5rem;
}

.row-img.profile img {
    aspect-ratio: 3/4;
}

.image-text-row .no-img {
    background: var(--light-grey);
    object-fit: contain;
    padding: 1rem;
}

.image-text-row h3 {
    margin: 0;
}

.image-text-row h4 {
    font-size: 1.2em;
}

.image-text-wrapper.profiles h4,
.image-text-wrapper.profiles h5 {
    color: var(--dark-font-color);
}

.image-text-wrapper.profiles h4 {
    margin-bottom: .25rem;
}

/* Contact Staff Directory Page */
.location-row {
    margin-bottom: 1.5rem;
    row-gap: 1rem;
}

.location-row img {
    width: 100%;
    aspect-ratio: 3/2;
    height: calc(2/ 3 * 100%);
}

.staff-directory-wrapper {
    align-items: flex-start;
}

#staff-list .input-field {
    margin-bottom: 2rem;
}

.staff-title {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    row-gap: .5rem;
}

.staff-content {
    display: none;
    width: 100%;
}

.simple-btn {
    background-color: var(--primary);
    color: white;
    padding: .5rem 1.25rem;
    border-radius: 20px;
    cursor: pointer;
}

.staff-img-wrapper {
    width: 80px;
    aspect-ratio: 1/1;
}

.staff-img-wrapper.no-img {
    background-color: var(--light-grey);
    padding: .5rem;
}

.staff-img {
    width: 100%;
    aspect-ratio: 1/1;
}

.staff-info h4,
.staff-info p {
    margin-bottom: .5rem;
}

.staff-title > .flex-row {
    gap: 1rem;
}

.staff-contact {
    gap: 1rem;
}

.staff-content {
    margin: 1rem 0;
}

.staff-phone {
    border-left: 1px solid currentColor;
    padding-left: 1rem;
}

@media (min-width: 48em) {
    .staff-img-wrapper {
        width: 7.5rem;
    }
}

.staff-portal .service span {
    color: var(--dark-font-color);
    font-size: 1rem;
}

.staff-portal .service-icon img {
    height: 120px;
}

.staff-portal .service a:hover,
.staff-portal .service a:focus {
    filter: none;
}

.staff-portal .service a:hover span,
.staff-portal .service a:focus span {
    color: var(--secondary);
}

.page-content .bus-route-name {
    color: var(--dark-font-color);
}

#apply-to-education h2 {
    margin-bottom: .25rem;
}

.job-listings th {
    text-align: left;
}

.job-listings table .job-position {
    width: 40%!important;
}

.job-listings table .job-location,
.job-listings table .job-type,
.job-listings table .job-date,
.job-listings table .job-closing {
    width: 15%!important;
}

/* Staff Directory */
.staff-table table {
    table-layout: fixed
}

.staff-table table th {
    text-align: left;
}

@media(min-width: 62em) {
    #staff-directory {
        width: 60%;
        margin: auto;
    }
}