/** Common **/

body { color: #373776; font-family: 'Quicksand', sans-serif; }

h1, h2, h3, h4, h5, p, ol, ul { line-height: 1.4; margin: 1rem 0; }

.background--primary { background-color: #373776; color: white; }
.background--primary a { color: white; }
.background--secondary { background-color: #068A4D; color: white; }
.background--secondary a { color: white; }
.background--tertiary { background-color: #F4E610; color: white; }
.background--offwhite { background-color: #F2F2F2; }
.background--white { background-color: white; }

.inner-margin { margin: 8% 0; }
.inner-padding { padding: 8% 0; }

.button { background: #373776; border-radius: 6px; color: white; display: inline-block; padding: 0.8em 2em; text-decoration: none; }
.button--outline { background: white; border: 2px solid #373776; color: #373776; font-weight: 600; }

.clear { clear: both; }

.divider { height: 2px; width: 100%; max-width: 50px; background: white; display: block; margin: 0 auto; }

/** Header **/

.site-header { overflow: hidden; padding: 10px 0; position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; }
.site-header__social { margin: 0;padding: 0; list-style-type: none; }
.site-header__title { font-size: 20px; margin: 0; }
.site-header__social a { color: inherit; text-decoration: none; display: block; width: 26px; height: 26px; background: white; border-radius: 50%; text-align: center; line-height: 28px; color: #373776; font-size: 15px; }
.site-header__social li { display: inline-block; margin-right: 0.7rem; }
.site-header__social__icon {}
.site-header__contact { margin: 0; padding: 0; list-style-type: none; }
.site-header__contact li { display: inline-block; margin-left: 3rem; }
.site-header__contact li a { color: white; text-decoration: none; }
.site-header__icon { width: 26px; height: 26px; background: white; color: #373776; border-radius: 50%; text-align: center; line-height: 28px !important; font-size: 15px; }
.site-header__icon--contact { background: #f4e610; margin-right: 1rem; }

.mobile-menu-button { font-size: 28px; cursor: pointer; }
.mobile-menu {position: fixed;top: 0;left: 100%;width: 100%;height: 100%;max-width: 400px;transition: transform .5s ease;z-index: 100000;overflow: auto;}
.mobile-menu a { color: inherit; text-decoration: none; }
.mobile-menu .menu { margin: 0; padding: 0; list-style-type: none; }
.mobile-menu .menu a {display: block;padding: 12px 20px;}
.mobile-menu .menu a:hover { background: rgba(255,255,255,0.1); }
.mobile-menu .menu > .menu-item { position: relative; border-top: 1px solid rgba(255,255,255,0.1); }
.mobile-menu .sub-menu {margin: 0;padding: 0;list-style-type: none;font-size: 0.8em;padding-left: 20px;display: none;background: rgba(255,255,255,0.1);}
.mobile-menu--active {transform: translateX(-100%);box-shadow: -20px 0 20px rgba(0,0,0,0.4);}
.mobile-menu__close { text-align: center; padding: 10px; background: rgba(0,0,0,0.3); cursor: pointer; }
.mobile-menu .menu > .menu-item--active .sub-menu { display: block; }
.mobile-menu .menu > .menu-item-has-children:after {content: "\f105";display: block;position: absolute;top: 10px;right: 20px;font-family: 'Font Awesome 5 Free';font-weight: 900;}
.mobile-menu .menu > .menu-item--active:after {transform: rotate(90deg);}

/** Footer **/
.site-footer { background: whitesmoke; overflow: hidden; padding: 3rem 0; }
.site-footer__inner { gap: 3rem; }
.site-footer ul { padding-left: 0; list-style: none; }
.site-footer__contact li { padding: 0.5rem 0; display: flex; gap: 1rem; }
.site-footer__contact li a { color: #373776; text-decoration: none; }
.site-footer__contact .site-header__icon { margin-right: 0; flex-shrink: 0; }
.site-footer__menus { gap: 3rem; }
.site-footer__menu h4 { border-bottom: 2px solid #373776; padding-bottom: 0.625rem; }
.site-footer__menu li { padding: 0.25rem 0; }
.site-footer__menu li a { text-decoration: none; color: #373776; font-weight: 500; }
.site-footer__menu li a:hover { color: #068a4d; }
.site-footer__mobile-menu { text-align: center; }

/** Navigation **/
.page__navigation { text-align: center; padding: 10px 0 10px; font-weight: 500; z-index: 1000; position: fixed; top: 46px; left: 0; width: 100%; background: white; box-shadow: 0px 4px 20px 0px rgba(0,0,0,0.1); }
.page__navigation a { color: inherit; text-decoration: none; }
.page__navigation .menu { margin: 0; padding: 0; list-style-type: none; }
.page__navigation .menu-item { display: inline-block; margin: 10px 14px; }
.page__navigation__logo {/* margin-top: -150px; */max-width: 200px;}

.page__navigation-menu { --cols: 6; position: fixed; top: 197px; z-index: 990; background: white; width: 100%; padding: 0; box-sizing: border-box; height: 0; overflow: hidden; color: #373776; font-size: 14px; opacity: 0; transform: translateY(-40px); transition: opacity .5s ease, transform .5s ease; }
.page__navigation-menu__container { max-width: 1500px; padding: 2rem 5rem; }
.page__navigation-menu--active { height: auto; padding: 40px 0 130px; opacity: 1; transform: none; }
.page__navigation-menu a { color: inherit; text-decoration: none; }
.page__navigation-menu .menu,
.page__navigation-menu .sub-menu { margin: 0; padding: 0; list-style-type: none; }
.page__navigation-menu .menu { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.5rem; }
.page__navigation-menu .menu > .menu-item { flex: 0 1 calc((100% / var(--cols)) - (1.5rem * (var(--cols) - 1) / var(--cols))); }
.page__navigation-menu .menu > .menu-item > a { border-bottom: 2px solid #373776; display: block; margin-bottom: 10px; padding-bottom: 10px; font-weight: bold; }
.page__navigation-menu .menu > .menu-item > a:hover { color: #068a4d; }
.page__navigation-menu .menu > .menu-item > .sub-menu > .menu-item > a:hover { color: #068a4d; }
.page__navigation-menu .sub-menu > .menu-item { margin: 4px 0; font-weight: 500; }
.page__navigation-menu .sub-menu .sub-menu { padding-left: 0.75rem; }
.page__navigation-menu .sub-menu .sub-menu a:hover { color: #068a4d; }

.page__navigation-blackout { position: fixed; top: 0; left: 0; width: 0; height: 0; background: rgba(0,0,0,0.8); z-index: 900; opacity: 0; transition: opacity .5s ease; }
.page__navigation-blackout--active { height: 100%; width: 100%; opacity: 1; }


/** Page **/

.site-content {margin-top: 198px;}


.page__title { overflow: hidden; text-align: center; padding: 10px 0; }

.page__sidebar__navigation {margin: 0;padding: 0;list-style-type: none;color: white;font-weight: 500;}
.page__sidebar__navigation a { color: inherit; text-decoration: none; }
.page__sidebar__navigation .page_item {border-radius: 6px;}
.page__sidebar__navigation > .page_item {background: #068a4d;margin: 10px 0;border-radius: 6px;}
.page__sidebar__navigation > .page_item > a { display: block; padding: 10px 20px; }
.page__sidebar__navigation > .page_item > a:hover { background: rgba(255,255,255,0.2); }
.page__sidebar__navigation > .current_page_item,
.page__sidebar__navigation > .current_page_ancestor,
.page__sidebar__navigation > .current_page_parent { background: white; border: 2px solid #068a4d; color: #068a4d; }
.page__sidebar__navigation > .current_page_item > a:hover,
.page__sidebar__navigation > .current_page_ancestor > a:hover,
.page__sidebar__navigation > .current_page_parent > a:hover { background: whitesmoke; }
.page__sidebar__navigation .children { display: none; margin: 0;padding: 0px 20px 10px;list-style-type: circle;padding-left: 3em;font-size: 0.9em;}
.page__sidebar__navigation .children > .page_item {}
.page__sidebar__navigation .current_page_item .children,
.page__sidebar__navigation .current_page_ancestor .children,
.page__sidebar__navigation .current_page_parent .children { display: block; }
.page__sidebar__navigation .children .current_page_item,
.page__sidebar__navigation .children .current_page_ancestor,
.page__sidebar__navigation .children .current_page_parent { list-style-type: disc; }

.page__sidebar__news {border: 2px solid #068a4d;border-radius: 6px;padding: 5%;text-align: center;color: #068a4d;position: relative;}
.page__sidebar__news a { color: inherit; text-decoration: none; }
.page__sidebar__news .swiper-button-next,
.page__sidebar__news .swiper-button-prev {background: none;width: auto;height: auto;font-size: 30px;top: 45px;}
.page__sidebar__news .swiper-button-next {right: 20px;}
.page__sidebar__news .swiper-button-prev {left: 20px;}



/** Page > Home **/

.home__banner {height: calc( 100vh - 190px);}
.home__banner__inner {background-size: cover;background-position: center;text-align: center;color: white;padding: 15% 0 0;font-size: 60px;text-shadow: 0.1em 0.1em 0.1em rgba(0,0,0,0.6);height: 100%;box-sizing: border-box;}
.home__banner .swiper-container { height: 100%; }

.home__content { text-align: center; }
.home__latest-news {}
.home__latest-news__container {position: relative;padding: 0px 70px;}
.home__latest-news__item {text-align: center;padding: 5%;border-radius: 10px;height: 100%;box-sizing: border-box;}
.home__latest-news__item a { color: inherit; text-decoration: none; }
.home__latest-news__item__title {}
.home__latest-news__item__content {}
.home__latest-news .swiper-slide { height: auto; }
.home__latest-news .swiper-button-next,
.home__latest-news .swiper-button-prev { background: none; width: auto; height: auto; font-size: 40px; top: 40%; line-height: 1; margin: 0; }
.home__latest-news .swiper-button-next { right: 20px; }
.home__latest-news .swiper-button-prev { left: 20px; }
.home__latest-news__button-container { text-align: right; }

.home__image {}
.home__image__inner { padding: 20% 0; }


/** Page > Meet The Team **/
.meet-the-team__container {}
.meet-the-team__member { text-align: center; padding: 0 20px; font-weight: 600; margin: 1rem 0; display: block; text-decoration: none; color: inherit; }
.meet-the-team__member__image { background: whitesmoke; padding: 50% 0; border-radius: 50%; position: relative; overflow: hidden; }
.meet-the-team__member__image img { position: absolute; top: 50%; left: 50%; height: 100%; width: auto; max-width: none; transform: translateX(-50%) translateY(-50%); }
.meet-the-team__member__name { margin: 10px 0; }
.meet-the-team__member__position { font-size: .8em; }


/** Blog **/
.blog article {}
.blog article + article { margin-top: 80px; }
.post .post__content { padding-inline: 15px; }


/** Flexible Content **/
.columns { padding-top: 1rem; padding-bottom: 1rem; }
.columns__content { width: 100%; }
.columns__image { width: 100%; }
.columns__quote { position: relative; font-style: italic; }
.columns__quote-text::before { font-family: "Font Awesome 5 Free"; content: "\f10d"; font-weight: 900; color: #068a4d; }
.columns__quote-text::after { display: block; text-align: right; font-family: "Font Awesome 5 Free"; content: "\f10e"; font-weight: 900; color: #068a4d; }
.columns__quote-name { font-weight: 600; }
.columns__quote-role { font-size: 0.9rem; }

.grid { padding-top: 1rem; padding-bottom: 1rem; }
.grid .row { row-gap: 2rem; }
.grid__tile { height: 100%; padding: 1rem; background-color: #373776; ; border-radius: 10px; color: white; }

.gallery { padding-top: 1rem; padding-bottom: 1rem; }
.gallery .row { row-gap: 2rem; }
.gallery__image img { height: 100%; width: 100%; object-fit: cover; }


/** Jarallax **/
.jarallax { position: relative; z-index: 0; }
.jarallax .jarallax-img { position: absolute; object-fit: cover; font-family: 'object-fit: cover;'; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; }


/** Admin Styles **/
.admin-bar .site-header { top: 32px; }
.admin-bar .page__navigation { top: calc(32px + 46px); } /** Admin bar + contact bar **/


/** Responsive **/

@media (max-width: 1199.98px) {
    
    /** Common **/
    .site-content {margin-top: 62px;}
    
}

@media (max-width: 991.98px) {
    
    /** Navigation **/
    .page__navigation { padding: 20px 0; }
    .page__navigation-menu { padding: 40px 0; bottom: 120px; }
    .page__navigation-menu .menu > .menu-item { width: 20%; padding: 0 2%; }

    
    /** Footer **/
    .site-footer .site-footer__contact { padding: 0 3rem; }

    
    /** Flexible Content **/
    .columns { padding-top: 0.5rem; padding-bottom: 0.5rem; }
    .columns > .row > .col:not(:first-child) .columns__quote { margin-top: 1rem; }
    
}

@media (max-width: 782px) {
    
    /** Admin Styles **/
    .admin-bar .site-header { top: 46px; }

}

@media (max-width: 767.98px) {
    
    /** Common **/
    .site-content { margin-bottom: 0; }
    .page__navigation-blackout { display: none !important; }
    
    /** Page > Home **/
    .home__latest-news__button-container { text-align: center; }
    
}

@media (max-width: 575.98px) {
    
}
