/* Button START */
.btn {
    display: flex;
    width: 13rem;
    height: 3rem;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: var(--shadow);
    align-items: center;
    justify-content: center;
    font-size: inherit;
}

.btn-header {
    width: 11rem;
}

.btn-ghost {
    border: 1px solid var(--grey);
    background: transparent;
    color: var(--grey);
    box-shadow: none;
}

.btn-ghost a {
    color: var(--grey);
    transition: all 0.3s ease;
}

.btn-ghost:hover a {
    color: var(--primary-color);
}

.btn-ghost:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.btn-primary-color {
    border: none;
    background: var(--primary-color-gradient);
    color: var(--white);
}

.btn-primary-color-ghost {
    border: 1px solid var(--primary-color);
    background: transparent;
    border-radius: 3px;
    color: var(--primary-color);
    transition: all 0.5s ease;
}

.btn-primary-color-ghost:hover {
    background: var(--primary-color);
    color: var(--white);
}

.btn-secondary-color {
    border: none;
    background: var(--secondary-color-gradient);
    color: var(--white);
}

.btn-primary-color a,
.btn-secondary-color a {
    color: var(--white);
}

.btn-primary-color a:hover,
.btn-secondary-color a:hover {
    color: white;
}

.btn-primary-color:hover,
.btn-secondary-color:hover {
    opacity: 0.8;
    box-shadow: none;
}

.btn-modal a {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}
/* Button END */

/*Form START*/
.form-container {
    background: var(--grey);
    border-radius: 3px;
    padding: 2.5rem;
    color: var(--white);
    width: 50%;
}

.form-container.section {
    width: 100%;
}

.form-container p {
    text-align: left;
    margin-bottom: 2rem;
}

.forminator-field p {
    margin-bottom: 0;
}

.form-container a {
    color: var(--white);
    text-decoration: underline;
}

.form-container a:hover {
    opacity: 0.8;
}

.form-container form label {
    color: var(--white);
}

.form-container form button {
    margin: 1rem auto 0;
}

fieldset {
    border: none;
}

input,
select,
textarea {
    padding: 1rem;
    margin: 0;
    border: none;
    border-radius: 3px;
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 400;
    background-color: var(--white);
    font-size: 14px;
    transition: border-color 0.3s, box-shadow 0.3s;
    outline: none;
}

input::placeholder,
textarea::placeholder,
select::placeholder {
    color: var(--grey);
}

select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d4d4d4' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5H7z'/%3E%3C/svg%3E");
    background-size: 1.5rem auto;
    background-repeat: no-repeat;
    background-position: 100% center;
    outline: none;
    color: var(--black);
}

.form-container input:hover,
.form-container select:hover,
.form-container textarea:hover,
.form-container input:focus,
.form-container select:focus,
.form-container textarea:focus {
    outline: none;
    background-color: var(--grey-extra-light);
    transition: background-color 0.3s, border-color 0.3s;
}

select:required:invalid {
    color: var(--grey);
}

.checkbox {
    margin-right: 0.5rem;
}

.checkbox-label {
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 1.3;
}

.checkbox-label-paragraph {
    display: flex;
    align-items: baseline;
    font-size: 14px;
    line-height: 1.3;
}

.forminator-select--field {
    width: 100%;
}

/* Form END */

/*Forminator START*/
.forminator-custom-form {
    width: 100%;
}

.forminator-row {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 0;
    gap: 1rem;
    margin-bottom: 1rem !important;
}

.forminator-ui.forminator-custom-form[data-grid=open] .forminator-col:not(:last-child) {
    margin-bottom: 0 !important;
}

.forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-row, .forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-row-inside {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.forminator-col,
.forminator-field,
.forminator-field input.forminator-input {
    width: 100%;
}

.forminator-col {
    margin: 0 !important;
    padding: 0 !important;
}

.forminator-module-edit-link {
    display: none;
}

.forminator-checkbox__wrapper {
    display: flex;
    justify-content: left;
}

.forminator-consent {
    margin-right: 0.5rem;
}

.forminator-error-message {
    color: red;
}

.forminator-response-message.forminator-error {
    display: none;
}

.forminator-response-message.forminator-show.forminator-success {
    color: var(--primary-color);
    font-size: 1.3rem;
}

.forminator-textarea {
    width: 100%;
}

/*Forminator END*/

.section-row.section-title {
    display: flex;
    flex-direction: column;
    gap: 0;
}

section h1 {
    margin-top: 0;
}

/* Frame START */
.frame {
    display: inline-block;
    padding: 5px;
    border: 1px solid var(--grey);
    border-radius: 3px;
}

.frame img {
    border-radius: 3px;
    display: block;
}

.figcaption {
    font-size: 0.8rem;
    margin: 0 auto;
    padding: 0 1rem;
    font-style: italic;
}
/* Frame END */

/* Swiper START */
.swiper-frame {
    display: block;
    padding: 5px;
    border: 1px solid var(--grey);
    border-radius: 3px;
    max-width: 60rem;
    height: auto;
}

.swiper {
    width: calc(100% - 2rem);
    border-radius: 3px;
}

.swiper-frame .swiper {
    border-radius: 3px;
    display: block;
    width: 100%;
}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-pagination-bullet {
    background: var(--primary-color);
    opacity: 0.5;
}

.swiper-pagination-bullet-active {
    opacity: 1;
}

.swiper-button-prev,
.swiper-button-next {
    color: var(--primary-color);
    background: transparent;
}
/* Swiper END */

/* Photo START */
.section-photo {
    width: auto;
    height: 540px;
}

.section-photo.horisontal {
    height: auto;
    max-height: 400px;
}

/* Photo END */

/* Google Map START */
.google-map,
.google-map iframe {
    margin: 0;
    padding: 0;
    border: 0;
    display: block;
    border-radius: 3px;
}
/* Google Map END */

/* Three Items START */
.three-items-wrap {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}

.three-items-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
}

.three-items-item {
    font-size: 0.8rem;
    text-align: center;
    width: 29%;
}

.three-items-item .icon {
    width: 24px;
}

.three-items-item h4 {
    margin-bottom: 0;
}
/* Three Items END */

/* Two List START */
.two-list-wrap {
    display: flex;
    justify-content: left;
    margin-top: 2.5rem;
}

.two-list-row {
    display: flex;
    flex-direction: row;
    justify-content: left;
    width: 100%;
    gap: 4rem;
}

.two-list-item {
    display: flex;
    flex-direction: column;
    justify-content: left;
    align-items: flex-start;
    text-align: left;
    font-size: 1rem;
    width: 50%;
}

.two-list-item h4 {
    margin-bottom: 0.6rem;
}

.two-list-item ul {
    padding: 0;
}

.two-list-item a {
    text-decoration: underline;
}

.two-list-item a:hover {
    color: var(--primary-color);
}

/*Two List END*/

/* Three List START */
.three-list-wrap {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}

.three-list-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
}

.three-list-item {
    display: flex;
    flex-direction: column;
    justify-content: left;
    align-items: flex-start;
    text-align: left;
    font-size: 1rem;
    width: 30%;
}

.three-list-item h4 {
    margin-bottom: 0.6rem;
}

.three-list-item ul {
    padding: 0;
}
/* Three List END */

/* Four List START */
.four-list-wrap {
    width: 100%;
}
.four-list-row {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.four-list-item {
    width: 23%;
}

.four-list-item-text {
    margin-top: 1rem;
    padding: 0;
    font-size: 0.8rem;
}

.hidden-text .four-list-item-text {
    margin-top: 0;
}

.four-list-item-text li {
    margin-bottom: 0.5rem !important;
}


/* Four List END */

/* Cards START */
.cards {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    gap: 2rem;
    align-items: flex-start;
}

.card-thumb {
    overflow: hidden;
}

.cards .card-item {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cards .card-thumb img {
    border-radius: 3px;
    display: block;
    transition: all 0.8s ease;
}

.card-item:hover .card-thumb img {
    transform: scale(1.1);
}

.cards .card-title {
    margin: 0.7rem 0 0 0;
    transition: all 0.5s ease;
    text-align: center;
}

.cards .card-subtitle {
    transition: all 0.5s ease;
    text-align: center;
    font-size: 0.8rem;
}

.card-item:hover .card-title,
.card-item:hover .card-subtitle {
    color: var(--primary-color);
}

/* Cards END */

/*Five Cards START*/
.cards.five {
    margin-top: 1.5rem;
}

.cards.five .card-thumb img {
    width: 11rem;
}

.cards.five h5 {
    font-size: 1rem;
    font-weight: bold;
}
/*Five Cards END*/

/* Hidden Text START  */
.hidden-text {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
}

.read-more-link {
    display: inline-block;
    color: var(--primary-color);
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
    text-decoration: none !important;
}

.read-more-link:hover {
    opacity: 0.8;
}

.read-more-link .text-close {
    display: none;
}

.read-more-link.active .text-open {
    display: none;
}

.read-more-link.active .text-close {
    display: inline;
}

/* Hidden Text END  */

/*Inscription Dates START*/
.inscription-dates h2 {
    text-align: center;
}

.inscription-dates h2 span {
    background-image: linear-gradient(var(--primary-color), var(--primary-color));
    background-position: 0 100%;
    background-repeat: repeat-x;
    background-size: 100% 3px;
}


.inscription-dates ul {
    text-align: center;
    padding: 0;
}

.inscription-dates ul li {
    font-size: 1.2rem;
}
/*Inscription Dates END*/

/* Responsive */
@media screen and (max-width: 1440px) {
    .section-photo {
        width: auto;
        height: 450px;
    }
}

@media screen and (max-width: 1200px) {
    .form-container {
        width: 60%;
    }
    .section-photo {
        height: 400px;
        width: auto;
    }

    .three-items-wrap {
        margin-top: 2rem;
    }

    .two-list-item {
        width: 40%;
    }

    .cards.five {
        gap: 1rem;
    }

    .cards.five .card-thumb img {
        width: 10rem;
    }

}

@media screen and (max-width: 1024px) {
    .form-container.section {
        width: 60%;
    }

    .section-row.section-title {
        width: 100%;
        margin: 0 auto;
    }

    .section-content-image {
        order: 2;
    }

    .align-left {
        align-items: center;
    }

    .section-photo {
        width: 450px;
        height: auto;
    }

    .section-photo.horisontal {
        width: 80vw;
        max-height: none;
    }

    .cards {
        gap: 1rem;
    }

    .cards.five {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
        gap: 1rem;
        max-width: 100%;
    }

    .cards.five h5 {
        font-size: 0.8rem;
    }

    .three-list-wrap {
        margin: 3rem 0 1rem 0;
    }

    .two-list-item {
        width: 50%;
    }

    .two-list-row {
        gap: 0;
    }

    .four-list-row {
        flex-wrap: wrap;
    }

    .four-list-item {
        width: 50%;
    }

    .four-list-item-text {
        font-size: 1rem;
    }
}

@media screen and (max-width: 992px) {

    .form-container {
        width: 80%;
    }

    .form-container.section {
        width: 80%;
    }

    section h1 {
        margin-top: 1rem;
    }

    .cards {
        row-gap: 2rem;
        column-gap: 2rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        max-width: 50rem;
        margin: 1rem auto 0;
    }

    .cards.five {
        margin-top: 2rem;
    }

    .cards.five .card-thumb img {
        width: 8rem;
    }

    .three-list-wrap {
        margin: 2rem 0 1rem 0;
        gap: 1rem;
    }

    .three-list-row {
        flex-direction: column;
        gap: 3rem;
    }


    .three-list-item {
        width: 100%;
    }

    .four-list-item {
        width: 45%;
    }
}

@media screen and (max-width: 768px) {

    .form-container {
        width: 100%;
    }

    .form-container.section {
        width: 100%;
    }

    section h1 {
        margin-top: 1.5rem;
    }

    .two-list-row {
        gap: 2rem;
    }

    .swiper-slide img.horisontal {
        aspect-ratio: 1/1;
        width: 100%;
        object-fit: cover;
        object-position: left;
    }

    .mfp-img {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
        object-fit: contain;
    }

    .four-list-row {
        flex-direction: column;
    }

    .four-list-item {
        width: 100%;
    }

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

    }

    .cards.five h5 {
        font-size: 1rem;
    }

    .cards.five .card-thumb img {
        width: 15rem;
        height: auto;
    }

}

@media screen and (max-width: 624px) {

    .form-container {
        background: var(--white);
        color: var(--black);
        padding: 0;
    }

    .form-container a {
        color: var(--black);
    }

    .form-container form label {
        color: var(--black);
    }

    .form-container button {
        margin: 0 auto;
    }

    .form-container form input,
    .form-container form select,
    .form-container form textarea {
        background-color: var(--grey-extra-light);
    }

    .form-container form {
        margin-top: 2rem;
    }

    .form-container .half-width {
        width: 100%;
    }

    .forminator-response-message.forminator-show.forminator-success {
        color: var(--black);
        font-size: 1.5rem;
    }

    .section-row.section-title {
        align-items: flex-start;
    }

    .cards {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .three-items-wrap {
        margin-top: 0;
    }

    .two-list-row {
        flex-direction: column;
    }

    .two-list-item {
        width: 100%;
    }

    .inscription-dates h2 {
        text-align: left;
    }

    .inscription-dates ul {
        text-align: left;
        padding-left: 1rem;
    }

    .inscription-dates ul li {
        font-size: 1rem;
    }

}

@media screen and (max-width: 480px) {
    .forminator-row {
        flex-direction: column;
    }

    .section-photo {
        width: 100%;
        height: auto;
    }

    .section-photo.horisontal {
        aspect-ratio: 1/1;
        width: 100%;
        object-fit: cover;
        object-position: center;
    }

    .three-items-row {
        flex-direction: column;
    }


    .three-items-item {
        width: 70%;
    }



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


}

@media screen and (max-width: 425px) {

    .form-container .btn {
        width: 100%;
    }

    section.longread h2 {
        font-size: 1.4rem;
    }


}

@media screen and (max-width: 375px) {
    .three-items-item {
        width: 100%;
    }

    .three-list-item {
        width: 100%;
    }

    section.longread h2 {
        font-size: 1.4rem;
    }

}

@media screen and (max-width: 320px) {

    .form-container .btn {
        font-size: 1rem;
        height: 3rem;
    }

    .btn {
        width: 11rem;
        height: 2.5rem;
        font-size: 14px;
    }

}