/**
Theme Name: Richmond Park School
Author: Moio
Author URI: https://moio.io/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: richmond-park-school
Template: astra
*/


/* Typos */
@font-face {
    font-family: 'Raleway';
    src: url('assets/fonts/Raleway-VariableFont_wght.woff2') format('woff2');
    font-weight: 100 900;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Raleway';
    src: url('assets/fonts/Raleway-VariableFont_wght.woff2') format('woff2');
    font-weight: 100 900;
    font-display: swap;
    font-style: italic;
}

@font-face {
    font-family: 'Barlow';
    src: url('assets/fonts/Barlow-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Barlow';
    src: url('assets/fonts/Barlow-Italic.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
    font-style: italic;
}

@font-face {
    font-family: 'Barlow';
    src: url('assets/fonts/Barlow-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Barlow';
    src: url('assets/fonts/Barlow-BoldItalic.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
    font-style: italic;
}

@font-face {
    font-family: 'Zilla Slab';
    src: url('assets/fonts/ZillaSlab-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Zilla Slab';
    src: url('assets/fonts/ZillaSlab-Italic.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
    font-style: italic;
}

@font-face {
    font-family: 'Zilla Slab';
    src: url('assets/fonts/ZillaSlab-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
    font-style: normal;
}

:root {
    --font-title: 'Zilla Slab', serif;
    --font-text: 'Barlow', sans-serif;

    --color-green-dark: #1e3225;
}

html,
body {
    font-size: 16px;
    font-family: var(--font-text);
}

/**************************************************/
/**********           DEFAULT           ***********/
/**************************************************/

body.elementor-template-full-width {
    #content {
        .ast-container {
            max-width: 100% !important;
            padding-inline: 0 !important;
        }
    }
}

.button--link.elementor-widget-button.elementor-element {

    a,
    a:hover {
        padding: 0 !important;
        background: transparent !important;
        text-decoration: underline !important;
        color: var(--ast-global-color-0) !important;
        text-decoration-thickness: 1px !important;
        text-underline-offset: 0.4em !important;
    }
}

.custom-pretitle {

    h1,
    h2,
    h3,
    h4,
    p,
    span {
        font-family: var(--font-text);
        text-transform: uppercase;
        font-size: 0.875rem !important;
        letter-spacing: 1px;
        font-weight: 400 !important;
    }
}

.custom-title {

    h1,
    h2,
    h3,
    h4,
    p,
    span {
        font-family: var(--font-title);
        font-size: 2.5rem !important;
        line-height: 1.25;
        font-weight: 400 !important;
    }
}

.elementor-widget-heading h2.elementor-heading-title {
    font-family: var(--font-title);
    font-size: 2.5rem !important;
    line-height: 1.25;
    font-weight: 400 !important;
}


.title-header {

    h1,
    h2,
    h3,
    h4,
    p,
    span {
        font-family: var(--font-title);
        color: var(--ast-global-color-4);
        font-size: 2rem !important;
        line-height: 1.4;
        font-weight: 400 !important;

        @media (width >=1024px) {
            font-size: 4rem !important;
        }
    }
}

.large-title__wrapper {
    .title-header,
    .custom-title {
        h1,
        h2,
        h3,
        h4,
        p,
        span {
            font-size: 4rem !important;
            @media (width >=1024px) {
                font-size: 7rem !important;
            }
        }
    }
}


p,
.entry-content p {
    margin-bottom: 0;
}

/**************************************************/
/**********            HEADER           ***********/
/**************************************************/

header {
    .ast-primary-header-bar {
        background: var(--ast-global-color-0);
    }

    address {
        margin: 0;
        font-style: normal;

        br {display: none !important;}

        a {
            color: var(--ast-global-color-4);
            display: block;

            span {
                opacity: .5;
                margin-left: 1em;
            }

            &:hover {
                opacity: 1;
            }
        }
    }

    .site-primary-header-wrap.ast-builder-grid-row-container {
        align-content: normal;
    }

    .ast-builder-grid-row.ast-grid-center-col-layout {
        grid-template-columns: 1fr auto auto;
        gap: 0;

        >div:not(:first-child) {
            border-left: 1px solid rgba(255, 255, 255, 0.2);
        }
    }

    .ast-desktop-header-content {
        .main-header-menu.ast-nav-menu.ast-mega-menu-enabled {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
        }
    }

    aside[data-section="sidebar-widgets-header-widget-2"] {
        display: flex !important;
        flex-flow: row-reverse;
        height: 100%;
        padding: 0;
        .widget {
            margin: 0;
        }
        > section {
            padding: 1rem;
            + section {
               border-right: 1px solid rgba(255, 255, 255, 0.2);
            }
        }
    }
    

    .ast-below-header-wrap {
        .ast-below-header-bar {
            .ast-builder-grid-row {
                grid-template-columns: 1fr !important;
                > div {
                    width: 100%;
                }
                aside {
                    width: 100%;
                    justify-content: space-between;
                    align-items: center;
                    > section {
                        padding: 0;
                    }
                }
         }
        }
        address {
            a {
                color: var(--ast-global-color-0);
            }
        }
        @media screen and (max-width: 450px) {
            address {
                font-size: 13px;
            }
            .wpml-ls-legacy-list-horizontal a {
                padding: 5px;
            }
        }
    }

    /* #ast-hf-mobile-menu {
        transform: translateX(-110%);

        &[aria-expanded="true"] {
            transform: translateX(0);
        }
    } */

    /* Transparent header */
    body.ast-theme-transparent-header &  {
        .ast-below-header-wrap {
            background-color: #f4f7f5;
        }
    }
    
    /* Transparent header Sticky */
    body.ast-theme-transparent-header.ast-primary-sticky-header-active & .ast-stick-primary-below-wrapper {
        background: #fff;
        [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal,
        address a {color: var(--ast-global-color-0)}
        aside[data-section="sidebar-widgets-header-widget-2"] .widget,
        .ast-builder-grid-row.ast-grid-center-col-layout>div:not(:first-child) {border-color: rgba(39, 94, 58, .2)}

        /* .ast-header-sticked [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {fill: var(--ast-global-color-0);} */
        .ast-header-sticked [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {fill: var(--ast-global-color-0) !important;}

        /* Logo  */
        svg.rps_logo-desk path[fill="white"] {
            fill: var(--ast-global-color-0) !important;
        }
    }
}



@media screen and (max-width: 1200px) {
    .ast-theme-transparent-header .main-header-bar,
    .ast-theme-transparent-header.ast-header-break-point .main-header-bar {
        background-color: var(--ast-global-color-0);
    }
    
}

/* White header (contact) */
body.page-id-23 {
    header {
        address {
            a {color: var(--ast-global-color-0);}
        }
        .rps_logo-desk,
        .rps_logo-mob {
            path[fill="white"] {
                fill: var(--ast-global-color-0);
            }
        }
        aside[data-section="sidebar-widgets-header-widget-2"] .widget,
        .ast-builder-grid-row.ast-grid-center-col-layout>div:not(:first-child) {
                border-color: var(--ast-global-color-5) !important;
        }
        [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
            fill: var(--ast-global-color-0);
        }
    }
}


@media screen and (max-width: 1200px) {
    header {
        .ast-mobile-header-content {
            display: block !important;
            height: calc(100vh - var(--header-height)) !important;
            max-height: calc(100vh - var(--header-height)) !important;
    
    
            transform: translateX(-110%);
            transition: transform .2s ease-in-out;
    
            body.ast-main-header-nav-open & {
                transform: translateX(0);
            }
        }
    }
    
    body.ast-main-header-nav-open {
        position: fixed;
        width: 100%;
        overflow: hidden;
    }
}


#ast-desktop-toggle-menu,
#ast-hf-mobile-menu {
    gap: 2rem;
    padding: 2rem;
    background: var(--ast-global-color-0);
    /* background: red !important; */
    .menu-link {
        padding: 0;
        color: var(--ast-global-color-4);
        background-color: transparent !important;
        line-height: 1.7;
        .ast-icon {
            display: none;
        }
    }
    /* .sub-menu {
        background-color: transparent !important;
        display: grid !important;
        gap: 1rem;
    } */
    >li {
        justify-content: flex-start;
        gap: 1rem;
        
        >a.menu-link {
            flex: 0;
            font-size: 2rem;
            font-family: var(--font-title);
        }
    }
    .menuRightCont {
        .sub-menu .menu-item .menu-link {
            font-size: 2rem;
            font-family: var(--font-title);
        }
    }
}

#ast-desktop-toggle-menu {
    .sub-menu {
        background-color: transparent !important;
        display: grid !important;
        gap: 1rem;
    }
}
#ast-hf-mobile-menu {
    .menu-link {
        font-size: 1.2rem !important;
    }
    .menuRightCont {
        .sub-menu {
            background-color: transparent !important;
            display: grid !important;
            gap: 1rem;
        }
    }
}

body[CLASS*="-sticky-header-active"]:not([class*="transparent-header"]) .ast-header-sticked [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    fill: var(--ast-global-color-4) !important;
}

/**************************************************/
/**********            FOOTER           ***********/
/**************************************************/



/*************************************************/
/**********         SECTIONS           ***********/
/*************************************************/

.ctas__wrapper {
    a {
        &:hover {
            text-decoration: none !important;
            cursor: pointer;
        }
    }
}

/* Special containers */
.cols-mix {

    --container-width: 1200px;
    --gutter-h: 24px;

    @media screen and (min-width: 851px) {
        >div {
            column-gap: 0 !important;
        }

        >div>.elementor-widget-image,
        >div>.elementor-widget-image img {
            width: 100%;
        }

        &.cols-mix--img-left {
            >div>div:last-child {
                /* max-width: calc(50vw - (1200px / 2) - 8.222vw) !important; */

                width: 100% !important;
                padding-right: max(var(--gutter-h), (100vw - var(--container-width)) / 2);
                padding-left: 8.33333333%;

            }
        }

        &.cols-mix--img-right {
            >div>div:first-child {
                /* max-width: calc(50vw - (1200px / 2) - 8.222vw) !important; */
                width: 100% !important;
                padding-left: max(var(--gutter-h), (100vw - var(--container-width)) / 2);
                padding-right: 8.33333333%;
            }
        }
    }
}


.hero-home--highlighted {
    .swiper-wrapper {
        position: relative;

        &::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #275E3A;

            opacity: 0.75;
            mix-blend-mode: multiply;
            z-index: 1;
        }

        .elementor-background-slideshow__slide__image {}
    }
}

.grid-higlighted-hero__item {
    aspect-ratio: 323 / 155;
    background-size: cover !important;
    h3 {
        font-size: 14px;
        font-weight: 400;
    }
}

.highlighted--aside {
    .elementor-widget-loop-grid {
        >.elementor-loop-container {
            gap: 0;
        }
    }

    .grid-higlighted-hero__item {
        >.e-con-inner {
            justify-content: end !important;
        }

        h3 {
            color: #fff;
            font-family: var(--font-text);
            text-align: center;
            text-transform: uppercase;
            font-weight: 600;
        }
    }
}

.hero-home--highlighted {
    >.elementor-element.e-grid {
        @media screen and (max-width: 1199px) {
            grid-template-columns: 1fr;

            .elementor-loop-container {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media screen and (max-width: 991px) {
            .elementor-loop-container {
                grid-template-columns: 1fr;
            }
        }
    }
}

.elementor-widget-taxonomy-filter {
    .e-filter::before {content: 'Categories';order: -999;}
    .e-filter-item[aria-pressed='true'] {
        border-bottom: 1px solid var(--ast-global-color-1);
    }
    search {
        > button:last-child {
            margin-left: auto;
        }
        > button:nth-last-child(2) {

            margin-right: auto;
        }
    }
}

.custom-news__archive {
    > .elementor-loop-container.elementor-grid {
        gap: 5rem 1.5rem;
    }
    .ast-article-post {
        border: 0 none;
    }
    h2 {
        font-family: var(--font-title);
        font-weight: 400;   
    }
    .elementor-widget-heading h2.elementor-heading-title {
        font-size: 2rem !important;
    }
    a {text-decoration: none !important;}
}

/* Single */
body.single-post {
    &.ast-separate-container .ast-article-single {padding: 0;}
    h1 {
        font-family: "Zilla Slab", serif;
        font-size: 2.5rem;
        font-weight: 500;
        color: #275e3a;
        margin-bottom: 2.82rem;
    }

    .elementor-inline-items.elementor-icon-list-items.elementor-post-info {
        .elementor-icon-list-item {
            font-weight: 700;
            text-transform: uppercase;
            font-family: var(--font-text);
            letter-spacing: .15em;
            /* Why ??? */
            color: var(--ast-global-color-0) !important;
        }
        .elementor-post-info__item-prefix {
            letter-spacing: normal;
            text-transform: none;
            font-weight: 400;
            margin-right: 0.4em;
        }
    }

    .elementor-widget-theme-post-content {
        font-family: var(--font-text) !important;
        
        h1, h2, h3, h4, h5, h6 {
            font-family: var(--font-title) !important;
        }

        p, img {
            margin-bottom: 1.5em;
        }

        hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
            border-bottom-color: var(--ast-global-color-0);
            margin: 6.25rem 0 3rem;
        }
    }
}


.elementor-element.elementor-widget-post-navigation {
    .elementor-post-navigation {gap: 2rem;}
    .post-navigation__prev--label,
    .post-navigation__next--label {
        font-family: var(--font-text) !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        font-size: .875rem !important;
        font-style: normal !important;
        text-decoration: none !important;
    }
    .post-navigation__next--title,
    .post-navigation__prev--title {
        padding-top: 4rem !important;
        font-family: var(--font-title) !important;
        font-size: 2rem !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;

        text-overflow: unset !important;
        overflow: auto;
        white-space: normal;
    }
}


/**************************************************/
/**********           PLUGINS           ***********/
/**************************************************/

/*       Gravity Forms      */
body .gform_wrapper[class*="gform-theme--"] {
    h2 {
        font-family: var(--font-title);
        font-size: 1.5rem !important;
        line-height: 1.25;
        font-weight: 400 !important;
        margin: 0;
    }
    input,
    textarea,
    select {
        background-color: var(--ast-global-color-5);
        border: 0 none;
        color: var(--ast-global-color-0);
        box-shadow: none;
    }
    input[type="checkbox"] {
        border: 1px solid var(--ast-global-color-5) !important;
        &:checked {
            border-color: var(--ast-global-color-0) !important;
        }
        &::before {
            color: var(--ast-global-color-0) !important;
        }
    }
    button, input#submit, input[type="button"], input[type="submit"], input[type="reset"] {
        background-color: var(--ast-global-color-0) !important;
        color: var(--ast-global-color-4) !important;
        padding: 1em !important;
        width: min(350px, 100%) !important;
        border-radius: 0 !important;

        &:hover {
            background-color: var(--color-green-dark) !important;
        }
    }
}


/* ---------------------------------
             Raquel
----------------------------------*/

/* ---------------------------------
   Practical Points
----------------------------------*/
.item--text p,
.desc p {
    line-height: 1.5;
    margin-bottom: 1em !important;
}

/* uniform */
.uniforms-title {
    padding: 4rem 0;
}

/*calendar*/
.buttom-calendar a {
    color: #fff;
    padding: 10px 15px !important;
    display: inline-block;
    border-radius: 0;
}

.buttom-calendar a:hover {
    color: #fff !important;
    background-color: var(--ast-global-color-0) !important;
}

/* ---------------------------------
   School Day
----------------------------------*/

.school-day-right p {
    margin-bottom: 1em;
    padding: 0;
}

.elementor-widget-text-editor .time {
    display: inline-block;
    margin-right: 1em;
    width: 6em;
}

.school-days-title p {
    margin-bottom: 3em;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ---------------------------------
   Extracurricular
----------------------------------*/
@media (max-width: 767px) {
    .extracurricular-imgs {
        flex-wrap: nowrap !important;
    }
}

.title.card__title p {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.25 !important;
}

.card__buttons {
    width: 100%;
    max-width: 334px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.card__button .btn-outline a.elementor-button {
    margin: 0 auto;
    display: block;
    background: #f4f7f3;
    border: 1px solid var(--e-global-color-astglobalcolor0);
    color: var(--e-global-color-astglobalcolor0);
    border-radius: 0;
}

.card__button .btn-outline a.elementor-button:hover {
    background-color: var(--e-global-color-astglobalcolor0);
    color: #fff;
}

.card__button a.elementor-button[aria-disabled="true"] {
    display: block;
    font-size: 0.8em;
    font-style: italic;
}

.card__button button {
    display: block;
    border: 1px solid currentColor;
}

.card__button button.btn {
    height: auto;
}

/* ---------------------------------
   Bus routes -> table
----------------------------------*/
.bus-info caption {
    background: rgba(39, 94, 58, .1);
    border-bottom: 1px solid #275e3a;
    border-top: 1px solid #275e3a;
    font-weight: 700;
    padding: .5em 1.5em;
    text-align: center;
    text-transform: uppercase;
}

.bus-info table {
    color: #275e3a;
}

.bus-info th,
.bus-info td {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #275e3a;
}

.bus-info th {
    background-color: #f2f2f2;
    font-weight: bold;
}

@media (max-width: 992px) {
    .bus-info {
        display: flex;
        flex-direction: column !important;
        justify-content: center;
        align-items: center;
    }

    .bus-info>.e-con-full {
        width: 70% !important;
    }

    .bus-info>.e-con-full:last-child {
        margin-bottom: 0 !important;
    }
}

/* ---------------------------------
   Stay & Play -> cards
----------------------------------*/
.stay-play__container .box-number {
    margin-top: 30px;
}

.box-number {
    border: 1px solid rgba(0, 0, 0, .25);
    padding: 30px;
}

.box-number .number {
    color: #f2a900;
    font-family: var(--font-title);

    font-size: 96px;
    margin-bottom: 10px;
}

.box-number .price {
    color: #275e3a;
    font-family: var(--font-title);

    font-size: 32px;
    font-weight: 700;
}

.box-number .info-price {
    margin-top: 20px;
    font-family: var(--font-text);
    font-size: 16px;
    line-height: 24px;
    color: #275e3a;
    opacity: .5;
    font-style: italic;
    text-align: left;
}

/* ---------------------------------
  Living Near -> Titles & Tabs 
----------------------------------*/
.title-yellow h2 {
    font-family: var(--font-title);

    color: #f2a900;
    font-size: 1.8em;
    line-height: 1.25 !important;
    font-weight: 300 !important;
    margin-bottom: 20px;
}

.living-near__tabs .e-n-tabs-heading {
    flex-wrap: wrap;
    align-items: center;
}

.living-near__tabs .e-n-tab-title {
    background-color: transparent !important;
    opacity: 0.5;
    font-size: 1.2em !important;
    border: none;
    cursor: pointer;
    box-shadow: none;
}

.living-near__tabs .e-n-tab-title[aria-selected="true"] {
    color: #f2a900 !important;
    text-decoration: underline;
    opacity: 1;
    box-shadow: none;
}

.living-near__tabs .e-n-tab-title:not(:first-child) {
    margin-left: 30px !important;
}

@media (max-width: 767px) {
    .living-near__tabs .e-n-tab-title:not(:first-child) {
        margin-left: 0px !important;
    }
}


/* ---------------------------------
   Spaces -> Carrousel
----------------------------------*/
.design-concept__container {
    display: flex;
    align-items: flex-start;
}

.elementor-swiper-button {
    padding: 0.5em !important;
}

/* ---------------------------------
   Ideas -> Values-list
----------------------------------*/

.values__container {
    .values--list {

        ul li::marker {
            padding-left: 1em;
            margin-bottom: 1rem;

            color: #f2a900;
        }

    }
}


.lp-form-hero__wrapper,
.lp-form-popup__wrapper {

    .gform_required_legend {display: none !important;}

    .gform_wrapper {
        .gform_body {
            padding: 15px;
        }

        body &.gform_wrapper[class*="gform-theme--"] input,
        body &.gform_wrapper[class*="gform-theme--"] textarea,
        body &.gform_wrapper[class*="gform-theme--"] select{
            background: transparent;
            border-radius: 0;
            border: 1px solid var(--ast-global-color-0);
        }
        body &.gform_wrapper[class*="gform-theme--"] input[type="checkbox"] {
            border: 1px solid var(--ast-global-color-0) !important;
        }
        body &.gform_wrapper[class*="gform-theme--"] textarea.large {
            min-block-size: 5rem;
        }
        body &.gform_wrapper[class*="gform-theme--"] {
            button, input#submit, input[type="button"], input[type="submit"], input[type="reset"] {
                background: var(--ast-global-color-1) !important;
                color: var(--ast-global-color-0) !important;
                text-transform: uppercase !important;
                font-weight: bold !important;
                letter-spacing: 1px !important;
                &:hover {
                    background: var(--ast-global-color-0) !important;
                    color: var(--ast-global-color-1) !important;
                }
            }
        }
    }
}
.lp-form-popup__wrapper {
    .gform_wrapper {
        body &.gform_wrapper[class*="gform-theme--"] {
            button, input#submit, input[type="button"], input[type="submit"], input[type="reset"] {
                width: 100% !important;
            }
        }
    }
}


/* ---------------------------------
   Practical Points
----------------------------------*/

.item--text p,
.desc p {
    line-height: 1.5;
    margin-bottom: 1em !important;
}

/* uniform */

.uniforms-title {
    padding: 4rem 0;
}

/*calendar*/

.buttom-calendar a {
    color: #fff;
    padding: 10px 15px !important;
    display: inline-block;
    border-radius: 0;
}

.buttom-calendar a:hover {
    color: #fff !important;
    background-color: var(--ast-global-color-0) !important;
}

/* ---------------------------------
   School Day
----------------------------------*/

.school-day-right p {
    margin-bottom: 1em;
    padding: 0;
}

.elementor-widget-text-editor .time {
    display: inline-block;
    margin-right: 1em;
    width: 6em;
}

.school-days-title p {
    margin-bottom: 3em;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ---------------------------------
   Extracurricular
----------------------------------*/
@media (max-width: 767px){
	.extracurricular-imgs {
		flex-wrap: nowrap !important;
	}
}

.title.card__title p {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.25 !important;
}

.card__buttons {
  width: 100%;
  max-width: 334px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.card__button .btn-outline a.elementor-button {
  margin: 0 auto;
  display: block;
  background: #f4f7f3;
  border: 1px solid var(--e-global-color-astglobalcolor0);
  color: var(--e-global-color-astglobalcolor0);
  border-radius: 0;
}

.card__button .btn-outline a.elementor-button:hover {
  background-color: var(--e-global-color-astglobalcolor0);
  color: #fff;
}

.card__button a.elementor-button[aria-disabled="true"] {
  display: block;
  font-size: 0.8em;
  font-style: italic;
}

.card__button button {
  display: block;
  border: 1px solid currentColor;
}

.card__button button.btn {
  height: auto;
}

/* ---------------------------------
   Bus routes -> table
----------------------------------*/


.bus-info caption{
    background: rgba(39, 94, 58, .1);
    border-bottom: 1px solid #275e3a;
    border-top: 1px solid #275e3a;
    font-weight: 700;
    padding: .5em 1.5em;
    text-align: center;
    text-transform: uppercase;
}

.bus-info table{
    color: #275e3a;
}

.bus-info th,
.bus-info td {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #275e3a;
}

.bus-info th {
    background-color: #f2f2f2;
    font-weight: bold;
}

@media (max-width: 992px) {
    .bus-info {
        display: flex;
        flex-direction: column !important;
        justify-content: center;
        align-items: center;
    }
    .bus-info > .e-con-full {
        width: 70% !important;
    }
    .bus-info > .e-con-full:last-child {
        margin-bottom: 0 !important;
    }
}

/* ---------------------------------
   Stay & Play -> cards
----------------------------------*/
.stay-play__container .box-number {
    margin-top: 30px;
}

.box-number {
    border: 1px solid rgba(0, 0, 0, .25);
    padding: 30px;
}

.box-number .number {
    color: #f2a900;
    font-family: var(--font-title);

    font-size: 96px;
    margin-bottom: 10px;
}

.box-number .price {
    color: #275e3a;
    font-family: var(--font-title);

    font-size: 32px;
    font-weight: 700;
}

.box-number .info-price {
    margin-top: 20px;
    font-family: var(--font-text);
    font-size: 16px;
    line-height: 24px;
    color: #275e3a;
    opacity: .5;
    font-style: italic;
    text-align: left;
}

/* ---------------------------------
  Living Near -> Titles & Tabs 
----------------------------------*/
.title-yellow h2 {
    font-family: var(--font-title);

    color: #f2a900;
    font-size: 1.8em;
    line-height: 1.25 !important;
    font-weight: 300 !important;
    margin-bottom: 20px;
}

.living-near__tabs .e-n-tabs-heading {
    flex-wrap: wrap;
    align-items: center;
}

.living-near__tabs .e-n-tab-title {
    background-color: transparent !important;
    opacity: 0.5;
    font-size: 1.2em !important;
    border: none;
    cursor: pointer;
		box-shadow: none;
}

.living-near__tabs .e-n-tab-title[aria-selected="true"] {
    color: #f2a900 !important;
    text-decoration: underline;
    opacity: 1;
		box-shadow: none;
}

.living-near__tabs .e-n-tab-title:not(:first-child) {
    margin-left: 30px !important;
}

@media (max-width: 767px) {
	.living-near__tabs .e-n-tab-title:not(:first-child) {
    margin-left: 0px !important;
	}
}


/* ---------------------------------
   Spaces -> Carrousel
----------------------------------*/

.design-concept__container {
    display: flex;
    align-items: flex-start;
}

.elementor-swiper-button {
            padding: 0.5em !important;
        }


/* ---------------------------------
   Ideas -> Cards-Group
----------------------------------*/

@media (max-width: 599px) {
	.cards-group__container, .cards-teachers__grid > .e-con-inner {
		 grid-template-columns: 1fr !important;
	}
	
		.columns-text__container > .e-grid {
			 display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
	}
}



/* ---------------------------------
   Politicies -> Table /politica-privacidad - /politica-de-privacidad-rps
----------------------------------*/

.table--wrapper {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.table--wrapper table {
    min-width: 600px;
    background-color: #f3f6f4;;
}

.table--wrapper thead th {
    background-color: var(--ast-global-color-2);
    color: #fff;
    padding: 10px;
}


.table--wrapper table {
  border-collapse: separate;
  border-spacing: 0; /* para que no se abran huecos */
}

.table--wrapper td {
  border: none !important;
  border-bottom: 1px solid #275e3a !important;
  border-right: 1px solid #275e3a !important;
  vertical-align: middle;
  padding: 1em;
  color: #275e3a;
}

.table--wrapper td[rowspan] {
  border-left: 1px solid #275e3a !important;
}

.table--wrapper a {
    color: var(--ast-global-color-1);
	text-decoration: none !important;
}

.desc a:hover {
  color: var(--ast-global-color-2) !important;
	text-decoration: none !important;
}

.table--wrapper a:hover {
  color: var(--ast-global-color-2) !important;
	text-decoration: none !important;
}

/* ---------------------------------
   Politicies -> Accordion
----------------------------------*/
.school-policies__accordion .e-n-accordion-item-title {
  display: flex;
  justify-content: space-between;
  align-items: center; 
}

.school-policies__accordion .e-n-accordion-item-title-header {
  flex: 1; 
}

.school-policies__accordion .e-n-accordion-item-title-icon {
  margin-left: 5px; 
  display: flex;
  align-items: center;
}

.school-policies__accordion .e-n-accordion-item-title-icon {
  display: none;
}


.school-policies__accordion .e-n-accordion-item-title:after {
  content: '\002B'; /* signo + */
  color: #275e3a;
  font-weight: 700;
  margin-left: auto; 
}

.school-policies__accordion .e-n-accordion-item-title[aria-expanded="true"]:after {
  content: '\2212'; /* signo − */
}

.school-policies__accordion .e-n-accordion-item {
	border-top: 1px solid #275e3a;
	border-left: 1px solid #F4F7F5;
}

.school-policies__accordion .e-n-accordion-item:last-child {
  border-bottom: 1px solid #275e3a;
}

.panel-accordion__school-policies {
	border-top: 1px solid rgba(39, 94, 58, .15) !important;
}


/* ---------------------------------
   Footer
----------------------------------*/

.site-below-footer-wrap {
  .site-navigation .ast-nav-menu {
    flex-flow: column;
    align-items: center;
  }

  .menu-item > a {
    padding: 0px !important;
    margin-bottom: 9px;
  }
}

@media (min-width: 575px) {
  .site-below-footer-wrap {
    > .ast-builder-grid-row-container-inner > .ast-builder-footer-grid-columns {
      grid-template-columns: 1fr auto;
      gap: 1rem;
    }

    .site-navigation .ast-nav-menu {
      align-items: flex-start;
    }

    /* .ast-footer-copyright p {
      padding-left: 20px;
    } */
  }
}

@media screen and (545px <= width <= 575px) {
    .ast-footer-copyright p {
      text-align: center !important;
    }
}
/* @media screen and (min-width: 545px) and (max-width: 575px) {
    .ast-footer-copyright p {
      text-align: center !important;
    }
} */

@media (min-width: 768px) {
  .site-below-footer-wrap {
    .site-navigation .ast-nav-menu {
      flex-flow: row;
      flex-wrap: wrap;
      gap: 1rem;

      .menu-item a {
        padding-inline: inherit !important;
      }
    }
  }
}

@media (min-width: 992px) {
  .site-below-footer-wrap {
    .site-footer-below-section-1 {
      display: flex !important;
      justify-content: flex-start !important;
      gap: 1rem;
    }

    .ast-footer-copyright {
      width: auto !important;
    }
  }
}