/*
Theme Name: Rostok
Theme URI: https://sumnikoff.ru
Author: IT Sumnikoff Group
Author URI: https://sumnikoff.ru
Description: Individual theme for Rostok
Version: 1.0
License: GNU General Public Liecnse v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rostok
*/

/* Шрифты */
@font-face {
    font-family: "Montserrat";
    src: url("./assets/fonts/Montserrat.ttf") format('truetype-variations');
    src: url("./assets/fonts/Montserrat.ttf") format('truetype') tech('variations');
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: "Unbounded";
    src: url("./assets/fonts/Unbounded.ttf") format('truetype-variations');
    src: url("./assets/fonts/Unbounded.ttf") format('truetype') tech('variations');
    font-weight: 200 900;
    font-display: swap;
}

/* Базовые стили */
:root {
    --white: #FFFFFF;
    --green: #00592D;
    --dark: #2D3134;
    --light-green: #04994F;
    --background: #093847;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    line-height: 32px;
    font-size: 20px;
    font-weight: 500;
    background: var(--white);
    color: var(--dark);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

a {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-decoration: none;
    color: var(--green);
    transition: 0.3s ease-in-out;
}

a.col {
    flex-direction: column;
    align-items: flex-start;
}

table {
    width: 100%;
}

table:not(#schedule-table) tbody {
    width: 100%;
    display: flex;
    flex-direction: column;
}

table:not(#schedule-table) tr {
    display: grid;
    grid-template-columns: 1fr 260px;
    padding: 16px 16px;
    background-color: #F0F0F0;
    border-radius: 16px;
}

main.post-333 table tr,
main.post-335 table tr {
    grid-template-columns: repeat(2, 1fr);
}

table tr:nth-child(odd) {
    background-color: var(--white) !important;
}

table tr td:last-child {
    text-align: center;
}

table tr td a {
    justify-content: center;
}

main {
    width: 100%;
    position: relative;
}

h1 {
    font-family: "Unbounded", sans-serif;
    font-size: 50px;
    font-weight: 600;
    line-height: 64px;
    color: var(--green);
}

h2 {
    font-family: "Unbounded", sans-serif;
    font-size: 40px;
    font-weight: 600;
    line-height: 56px;
    color: var(--green);
}

h3 {
    font-family: "Unbounded", sans-serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 36px;
    color: var(--green);
}

h4, h5, h6 {
    font-weight: 700;
    line-height: 28px;
}

ol, ul {
    padding-inline-start: 20px;
}

/* Scrollbar */
*::-webkit-scrollbar {
    width: 20px;
}

*::-webkit-scrollbar-track {
    background: var(--white) !important;
    border-radius: 20px;
}

*::-webkit-scrollbar-thumb {
    background-color: var(--green);
    border-radius: 20px;
    border: 5px solid var(--white);
    cursor: grab;
}

*::-webkit-scrollbar-thumb:active {
    cursor: grabbing;
}

*::-webkit-scrollbar-thumb:hover {
    border: 3px solid var(--white);
}

/* Header */
.site-header {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

.site-header .fixed-info-block {
    display: flex;
    flex-direction: column;
    gap: 25px;
    position: fixed;
    left: 0;
    bottom: 50%;
    transform: translateY(50%);
    z-index: 999;
}

.site-header .fixed-info-block a {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 15px;
    align-items: center;
    width: auto;
    max-width: 72px;
    height: 72px;
    padding: 15px 15px;
    background-color: var(--light-green);
    border-radius: 0 16px 16px 0;
    overflow: hidden;
    transition: 0.3s ease-in-out;
}

.site-header .fixed-info-block a span {
    visibility: hidden;
    opacity: 0;
    font-size: 0;
    font-weight: 600;
    line-height: 20px;
    color: var(--white);
    transition: 0.4s ease-in-out;
}

.site-header .fixed-info-block a:hover {
    max-width: 360px;
}

.site-header .fixed-info-block a:hover span {
    visibility: visible;
    opacity: 1;
    font-size: 16px;
}

.site-header .mobile-header {
    display: none;
}

.site-header .container {
    width: 100%;
    max-width: 1400px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 0;
}

.site-header .container .top-menu {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}

.site-header .container .top-menu .menu {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
}

.top-menu .log-lang {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
}

.top-menu .log-lang .login {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    color: var(--green);
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    transition: all 0.3s ease-in-out;
}

.top-menu .log-lang .login svg path {
    transition: all 0.3s ease-in-out;
}

.top-menu .log-lang .login:hover {
    color: var(--light-green);
}

.top-menu .log-lang .login:hover svg path {
    fill: var(--light-green);
}

.top-menu .log-lang .language {
    list-style: none;
    position: relative;
    padding-inline-start: 0;
}

.top-menu .log-lang .language .current {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    cursor: pointer;
    color: var(--green);
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    transition: color 0.3s ease-in-out;
}

.top-menu .log-lang .language .current:hover {
    color: var(--light-green);
}

.top-menu .log-lang .language .current img {
    border: 0.5px solid #DCDCDC;
    border-radius: 2px;
}

.top-menu .log-lang .language .lang-list {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding-inline-start: 0;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    transform: translateX(-10%);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    background-color: var(--white);
    border-radius: 15px;
    padding: 10px 20px;
    box-shadow: 2px 2px 10px 0px #00000033;
}

.top-menu .log-lang .language .lang-list.active {
    visibility: visible;
    opacity: 1;
}

.top-menu .log-lang .language .lang-list li a {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    color: var(--green);
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    transition: all 0.3s ease-in-out;
}

.top-menu .log-lang .language .lang-list li a img {
    width: 28px !important;
    height: 20px !important;
    object-fit: cover;
    object-position: center center;
}

.top-menu .log-lang .language .lang-list li a span {
    margin: 0 !important;
}

/* #cssmenu {
    position: relative;
} */

#topmenu > .menu,
#cssmenu > .menu {
    display: flex;
    flex-direction: row;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding-inline-start: 0;
}

#cssmenu > .menu {
    padding: 15px 0;
}

#topmenu > .menu > li {
    position: relative;
    font-weight: 400;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
}

#topmenu > .menu > li > ul > li {
    position: relative;
    font-weight: 400;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
}

#cssmenu > .menu > li {
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
}

#topmenu > .menu > li > a {
    display: flex;
    flex-direction: row;
    gap: 10px;
    color: var(--dark);
    transition: color 0.3s ease-in-out;
}

#topmenu > .menu > li > ul > li > a {
    display: flex;
    flex-direction: row;
    gap: 10px;
    color: var(--dark);
    transition: color 0.3s ease-in-out;
}

#cssmenu > .menu > li > .menu-item-text {
    display: flex;
    flex-direction: row;
    gap: 10px;
	text-transform: uppercase;
    color: var(--green);
    transition: color 0.3s ease-in-out;
}

#topmenu > .menu > li:hover > a,
#topmenu > .menu > li.active > a {
    color: var(--light-green);
}

#cssmenu > .menu > li:hover > .menu-item-text,
#cssmenu > .menu > li.active > .menu-item-text {
    color: var(--light-green);
}

#topmenu > .menu > li > ul {
    visibility: hidden;
    opacity: 0;
    list-style: none;
    position: absolute;
    top: calc(100% + 20px);
    left: 0;
    width: 400px;
    background-color: var(--white);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    box-shadow: 2px 2px 10px 0px #00000033;
    padding: 15px 15px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
	z-index: 9999;
}

#topmenu > .menu > li > ul > li > ul {
    visibility: hidden;
    opacity: 0;
    list-style: none;
    position: absolute;
    top: 0;
    left: calc(100% + 20px);
    width: 400px;
    background-color: var(--white);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    box-shadow: 2px 2px 10px 0px #00000033;
    padding: 15px 15px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
	z-index: 9999;
}

#cssmenu > .menu > li > .mega-menu-content {
    position: absolute;
    left: 0;
    right: 0;
    width: 100vw;
    visibility: hidden;
    opacity: 0;
    top: 100%;
    background-color: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-width: 1px 0;
    border-style: solid;
    border-color: #DDDDDD;
    box-shadow: 0px 16px 20px 0px #0000001A;
    transition: 0.3s ease-in-out;
    z-index: 9999;
}

#cssmenu > .menu > li > .mega-menu-content .container {
    padding: 60px 25px;
    gap: 25px;
}

#cssmenu > .menu > li > .mega-menu-content .container .mega-menu-heading h3 {
    font-size: 24px;
    line-height: 32px;
    font-weight: 600;
    color: var(--green);
}

#cssmenu > .menu > li > .mega-menu-content .container .sub-menu-list {
    list-style: none;
    padding-inline-start: 0;
    display: inline;
}

#cssmenu > .menu > li:nth-child(1) > .mega-menu-content .container .sub-menu-list {
    columns: 4;
}

#cssmenu > .menu > li:nth-child(2) > .mega-menu-content .container .sub-menu-list {
    columns: 3;
}

#cssmenu > .menu > li:nth-child(3) > .mega-menu-content .container .sub-menu-list {
    columns: 2;
}

#cssmenu > .menu > li:nth-child(4) > .mega-menu-content .container .sub-menu-list {
    columns: 3;
}

#cssmenu > .menu > li:nth-child(5) > .mega-menu-content .container .sub-menu-list {
    columns: 3;
}

#cssmenu > .menu > li:nth-child(6) > .mega-menu-content .container .sub-menu-list {
    columns: 3;
}

#cssmenu > .menu > li:nth-child(7) > .mega-menu-content .container .sub-menu-list {
    columns: 2;
}

#cssmenu > .menu > li > .mega-menu-content .container .sub-menu-list .sub-arrow {
    display: none;
}

#cssmenu > .menu > li > .mega-menu-content .container .sub-menu-list li a {
    display: flex;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 15px;
    transition: 0.3s ease-in-out;
}

#cssmenu > .menu > li > .mega-menu-content .container .sub-menu-list li .sub-menu li a {
    color: #888888;
    transition: 0.3s ease-in-out;
}

#cssmenu > .menu > li > .mega-menu-content .container .sub-menu-list li .sub-menu li a:hover {
    color: var(--light-green);
}

#cssmenu > .menu > li > .mega-menu-content .container .sub-menu-list li a:hover {
    color: var(--light-green);
}

#topmenu > .menu > li:hover > ul {
    visibility: visible;
    opacity: 1;
}

#topmenu > .menu > li > ul > li:hover > ul {
    visibility: visible;
    opacity: 1;
}

#cssmenu > .menu > li:hover > .mega-menu-content {
    visibility: visible;
    opacity: 1;
}

#topmenu > .menu > li > ul > li {
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

#topmenu > .menu > li > ul > li > a {
    color: var(--dark);
    transition: color 0.3s ease-in-out;
}

#topmenu > .menu > li > ul > li > ul > li {
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

#topmenu > .menu > li > ul > li > ul > li > a {
    color: var(--dark);
    transition: color 0.3s ease-in-out;
}

#topmenu > .menu > li > ul > li:hover > a,
#topmenu > .menu > li > ul > li.active > a {
    color: var(--light-green);
}

#topmenu > .menu > li > ul > li > ul > li:hover > a,
#topmenu > .menu > li > ul > li > ul > li.active > a {
    color: var(--light-green);
}

.site-header .container hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #CDCDCD;
}

.site-header .container .header-main {
    display: flex;
    flex-direction: row;
    gap: 60px;
    align-items: center;
}

.header-main .menu-toggle {
    display: none;
}

.header-main .content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.header-main .content .contacts-block {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}

.header-main .content .contacts-block .phone-email {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 10px;
    column-gap: 15px;
}

.header-main .content .contacts-block .phone-email a {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
}

.header-main .content .contacts-block .phone-email a span {
    line-height: 28px;
    font-weight: 700;
    color: var(--dark);
    transition: all 0.3s ease-in-out;
}

.header-main .content .contacts-block .phone-email a:hover span {
    color: var(--light-green);
}

.header-main .content .contacts-block .address {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: flex-end;
}

.header-main .content .contacts-block .address .adr {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

.header-main .content .contacts-block .address .func-block {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
}

.header-main .content .contacts-block .address .func-block .visual,
.header-main .content .contacts-block .address .func-block .search {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    cursor: pointer;
}

.header-main .content .contacts-block .address .func-block .visual span,
.header-main .content .contacts-block .address .func-block .search span {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--green);
    transition: all 0.3s ease-in-out;
}

.header-main .content .contacts-block .address .func-block .visual:hover span,
.header-main .content .contacts-block .address .func-block .search:hover span {
    color: var(--light-green);
}

/* Footer */
.site-footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--white);
    background-color: var(--dark);
    backdrop-filter: blur(30px);
    position: relative;
}

.site-footer .container {
    width: 100%;
    max-width: 1400px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 40px 0;
}

.site-footer .container .footer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.site-footer .container .footer-grid .item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.site-footer .container .footer-grid .item .goToMain svg g path {
    fill: var(--white);
    transition: 0.3s ease-in-out;
}

.site-footer .container .footer-grid .item .goToMain:hover svg g path {
    fill: var(--light-green);
}

.footer-grid .item .title {
    font-family: "Unbounded", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
}

.footer-grid .item .copyright {
    font-size: 16px;
    line-height: 24px;
}

.footer-grid .item .antocorrup {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    color: var(--white);
    transition: 0.3s ease-in-out;
}

.footer-grid .item .antocorrup:hover {
    color: var(--light-green);
}

.footer-grid .item .visually,
.footer-grid .item .login {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    cursor: pointer;
    transition: 0.3s ease-in-out;
}

.footer-grid .item .visually svg path,
.footer-grid .item .login svg path{
    transition: 0.3s ease-in-out;
}

.footer-grid .item .visually:hover,
.footer-grid .item .login:hover {
    color: var(--light-green);
}

.footer-grid .item .visually:hover svg path,
.footer-grid .item .login:hover svg path {
    fill: var(--light-green);
}

#footermenu > .menu {
    display: flex;
    flex-direction: column;
    gap: 25px;
    justify-content: space-between;
    list-style: none;
    padding-inline-start: 0;
}

#footermenu > .menu > li {
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
}

#footermenu > .menu > li > a {
    display: flex;
    flex-direction: row;
    gap: 10px;
    color: var(--white);
    transition: color 0.3s ease-in-out;
}

#footermenu > .menu > li:hover > a {
    color: var(--light-green);
}

.footer-grid .item .adr {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

.footer-grid .item .rating {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
}

.footer-grid .item .contacts {
    display: flex;
    flex-direction: column;
    gap: 15px;
    list-style: none;
    padding-inline-start: 0;
}

.footer-grid .item .contacts li a {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    color: var(--white);
    font-weight: 700;
    line-height: 28px;
    transition: 0.3s ease-in-out;
}

.footer-grid .item .contacts li a svg g path {
    transition: 0.3s ease-in-out;
}

.footer-grid .item .contacts li a:hover svg g path {
    fill: var(--light-green);
}

.footer-grid .item .contacts li a:hover {
    color: var(--light-green);
}

.footer-grid .item .social-links {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    list-style: none;
    padding-inline-start: 0;
}

.footer-grid .item .social-links li a,
.footer-grid .item .social-links li a svg {
    transition: 0.3s ease-in-out;
}

.footer-grid .item .social-links li a:hover,
.footer-grid .item .social-links li a:hover svg {
    transform: scale(1.1);
}

/* Front Page */
.container-main {
    display: flex;
    flex-direction: column;
    gap: 100px;
    width: 100%;
    align-items: center;
}

.container-main .container {
    width: 100%;
    max-width: 1400px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
}

/*.container-main .container::before {
    content: "";
    position: absolute;
    top: 0;
    left: -700px;
    width: 800px;
    height: 600px;
    background: radial-gradient(50% 50% at 50% 50%, #66BFB0 0%, #9EE6C2 33.65%, #E3FFEF 73.08%, #FFFFFF 100%);
    transform: rotate(-27.43deg);
    z-index: -1;
}*/

.container-main .container:last-child {
    padding-bottom: 50px;
}

.container.main-grid {
    display: grid;
    grid-template-columns: 1fr 520px;
    position: relative;
    padding: 0 80px 0 60px;
    background-color: var(--background);
    background-image: url("./images/background.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 40px;
    overflow: hidden;
}

.container.main-grid::before {
    content: "";
    position: absolute;
    top: -241px;
    left: -210px;
    width: 630px;
    height: 480px;
    background: radial-gradient(50% 50% at 50% 50%, #307C75 0%, #2C7768 26.44%, #184B4E 71.15%, #093847 100%);
    transform: rotate(2deg);
    opacity: 0.8;
    z-index: 0;
}

.container.main-grid::after {
    content: "";
    position: absolute;
    top: 322px;
    left: 650px;
    width: 800px;
    height: 600px;
    background: radial-gradient(50% 50% at 50% 50%, #307C75 0%, #2C7768 26.44%, #184B4E 71.15%, #093847 100%);
    transform: rotate(2deg);
    opacity: 0.8;
    z-index: 0;
}

.container.main-grid .item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    justify-content: center;
    color: var(--white);
    z-index: 1;
}

.container.main-grid .item h1 {
    color: var(--white);
}

.container.main-grid .item .go {
    align-self: flex-start;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--green);
    background-color: var(--white);
    padding: 20px 55px;
    margin-top: 25px;
    border: 2px solid var(--white);
    border-radius: 16px;
}

.container.main-grid .item .go:hover {
    background-color: var(--green);
    color: var(--white);
}

.container.main-grid img {
    z-index: 1;
}

.container .info-link-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 25px;
}

.container:has(.info-link-grid) {
    margin-top: -50px;
}

.info-link-grid .item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    justify-content: center;
    padding: 30px 15px;
    font-weight: 700;
    line-height: 28px;
    color: var(--dark);
    text-align: center;
    border: 1px solid #BBBBBB;
    border-radius: 16px;
}

.info-link-grid .item:hover {
    transform: scale(1.05);
    color: var(--green);
}

.container.about-grid {
    display: grid;
    grid-template-columns: 1fr 560px;
    gap: 40px;
    align-items: flex-start;
}

.container.about-grid .item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    justify-content: center;
    padding: 20px 20px;
    border-radius: 20px;
    background-color: #00592D0D;
}

.container.about-grid .item .text {
    padding-top: 25px;
}

.container.about-grid .main-stuff {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    background-color: #F5F5F5;
    border-radius: 20px;
    padding: 20px 20px;
}

.container.about-grid .main-stuff img {
	width: 250px;
	height: 250px;
	object-fit: cover;
	object-position: center center;
    border-radius: 20px;
}

.container.about-grid .main-stuff .post {
    padding-top: 10px;
    text-align: center;
}

.container.about-grid .main-stuff .name {
    font-family: "Unbounded", sans-serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 36px;
    color: var(--green);
    text-align: center;
}

.container.about-grid .main-stuff .stuff-link {
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--green);
    justify-content: center;
    padding: 20px 20px;
    margin-top: 10px;
    background-color: var(--white);
    border: 1px solid var(--green);
    border-radius: 16px;
}

.container.about-grid .main-stuff .stuff-link:hover {
    background-color: var(--green);
    color: var(--white);
}

.container .title {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}

.container .title .link {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--white);
    padding: 20px 60px;
    background-color: var(--green);
    border: 2px solid var(--green);
    border-radius: 16px;
}

.container .title .link:hover {
    background-color: var(--white);
    color: var(--green);
}

.container .swiper-news {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.swiper-news .swiper-wrapper {
    box-sizing: border-box;
}

.swiper-news .swiper-slide {
    width: auto;
    flex-shrink: 0;
    height: auto;
    display: flex;
}

.swiper-news .news-item {
    align-items: flex-start;
    flex-direction: column;
    height: 100%;
    gap: 15px;
    padding: 15px 15px;
    border: 1px solid #BBBBBB;
    border-radius: 24px;
    color: var(--dark);
}

.swiper-news .news-item:hover {
    transform: scale(1.02);
}

.swiper-news .news-item img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.swiper-news .news-item .post-date {
    font-weight: 600;
    color: #888888;
    padding-top: 10px;
}

.swiper-news .news-item .more {
    width: 100%;
    text-align: center;
    padding: 20px 20px;
    margin-top: auto;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--green);
    border: 1px solid var(--green);
    border-radius: 16px;
    background-color: var(--white);
    transition: all 0.3s ease-in-out;
}

.swiper-news .news-item:hover .more {
    background-color: var(--green);
    color: var(--white);
}

.quick-access-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.quick-access-grid .item {
    flex-direction: column;
    gap: 15px;
    align-items: center;
    justify-content: center;
    padding: 50px 15px;
    border: 1px solid #BBBBBB;
    border-radius: 16px;
    color: var(--dark);
    font-weight: 700;
    line-height: 28px;
}

.quick-access-grid .item:hover {
    transform: scale(1.05);
    color: var(--green);
}

.search-blocks {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.search-blocks .search-links {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
    width: auto;
    flex-grow: 1;
    flex-shrink: 0;
}

.search-blocks .search-links .links {
    display: flex;
    flex-direction: row;
    gap: 25px;
}

.search-blocks .search-links .links a {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--white);
    background-color: var(--green);
    border: 1px solid var(--green);
    border-radius: 16px;
    padding: 20px 25px;
    transition: all 0.3s ease-in-out;
}

.search-blocks .search-links .links a:hover {
    background-color: var(--white);
    color: var(--green);
}

.schedules {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.schedules #filters {
    display: flex;
    flex-direction: row;
    gap: 25px;
    align-items: center;
}

.schedules #filters select,
.schedules #filters input {
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--dark);
    padding: 15px 20px;
    border: 1px solid #BBBBBB;
    border-radius: 12px;
    transition: all 0.3s ease-in-out;
}

.schedules #filters select:hover,
.schedules #filters input:hover {
    color: var(--green);
}

.schedules #schedule-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
}

.schedules #schedule-table thead {
    background-color: var(--white);
}

.schedules #schedule-table th {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 2%;
    padding: 16px 16px;
    text-align: left;
}

#schedule-table tbody tr {
    background-color: var(--white);
    border-radius: 16px;
    display: table-row;
}

#schedule-table td {
    padding: 16px 16px;
    color: #2E2E2E;
}

#schedule-table tbody tr:last-child td {
    border-bottom: none;
}

#schedule-table tbody tr:nth-child(odd) {
    background-color: #F0F0F0;
}

.ads-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.ads-grid .ads-item {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
    border: 1px solid #BBBBBB;
    border-radius: 24px;
    padding: 16px 16px;
}

.ads-grid .ads-item:hover {
    transform: scale(1.05);
}

.ads-grid .ads-item .post-date {
    color: #888888;
}

.ads-grid .ads-item .excerpt {
    color: var(--dark);
}

.ads-grid .ads-item .more {
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    color: var(--green);
    background-color: var(--white);
    padding: 20px 20px;
    margin-top: auto;
    border: 1px solid var(--green);
    border-radius: 16px;
    transition: all 0.3s ease-in-out;
}

.ads-grid .ads-item:hover .more {
    color: var(--white);
    background-color: var(--green);
}

.container.events-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
}

.container.events-grid .events {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.container.events-grid .events .event-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.container.events-grid .events .event-list .event-item {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
}

.container.events-grid .events .event-list .event-item:hover {
    transform: scale(1.05);
}

.container.events-grid .events .event-list .event-item img {
    width: 100%;
    height: 300px;
    border-radius: 20px;
    object-fit: cover;
    object-position: center center;
}

.container.events-grid .events .event-list .event-item .post-date {
    margin-top: 10px;
    color: #888888;
    font-weight: 600;
}

.container.events-grid .calendar {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.container.events-grid .calendar .new-calendar {
    display: flex;
    flex-direction: column;
}

.calendar .new-calendar #custom-calendar-header {
    display: flex;
    flex-direction: row;
    gap: 10px;
    justify-content: space-between;
    padding: 15px 15px;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: #DDDDDD;
    border-radius: 16px 16px 0 0;
}

.calendar .new-calendar #custom-calendar-header select {
    border: none;
    border-radius: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    outline: 0;
}

#my-events-calendar {
    padding: 10px 10px;
    border-width: 0 1px 1px 1px;
    border-style: solid;
    border-color: #DDDDDD;
    border-radius: 0 0 16px 16px;
}

#my-events-calendar .fc-border,
#my-events-calendar .fc-border-b,
#my-events-calendar .fc-border-e,
#my-events-calendar .fc-border-s,
#my-events-calendar .fc-border-t {
    border: none !important;
}

#my-events-calendar .fc-daygrid-day {
    border-radius: 8px;
    text-align: center;
}

#my-events-calendar .fc-daygrid-day.has-events {
    background: #ffebee !important;      /* светло-розовый, можно поменять */
    position: relative;
    z-index: 1;
    transition: background 0.2s, border 0.2s;
}

#my-events-calendar .fc-daygrid-row:last-child,
#my-events-calendar .fc-daygrid-day-body {
    display: none !important;
}

.docs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.docs-grid .docs-item,
.docs-list .doc-item {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 25px;
    align-items: center;
    padding: 15px 15px;
    border: 1px solid #DDDDDD;
    border-radius: 16px;
}

.docs-grid .docs-item .image,
.docs-list .doc-item .image {
    line-height: 0;
}

.docs-grid .docs-item img,
.docs-list .doc-item img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center center;
}

.docs-grid .docs-item .info,
.docs-list .doc-item .info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.docs-grid .docs-item .info .file-info,
.docs-list .doc-item .info .file-info {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
}

.docs-grid .docs-item .info .file-info .type-size,
.docs-list .doc-item .info .file-info .type-size {
    text-transform: uppercase;
}

.docs-grid .docs-item .info .file-info a,
.docs-list .doc-item .info .file-info a {
    gap: 10px;
    align-items: center;
    color: var(--green);
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.docs-grid .docs-item .info .file-info a:hover,
.docs-list .doc-item .ifo .file-info a:hover {
    color: var(--light-green);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.gallery-grid .gallery-item {
    display: flex;
    flex-direction: column;
}

.gallery-grid .gallery-item img {
    width: 100%;
    height: 310px;
    object-fit: cover;
    object-position: center center;
    border: 1px solid #DDDDDD;
    border-radius: 20px;
}

.video-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 25px;
}

.video-wrapper .video-large {
    flex: 1 1 50%;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 20px;
    position: relative;
    background-size: cover;
    background-position: center center;
    border-radius: 16px;
    padding: 25px 25px;
    overflow: hidden;
}

.video-wrapper .video-large::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000080;
    transition: all 0.3s ease-in-out;
}

.video-wrapper .video-large:hover::before {
    background-color: rgba(0, 0, 0, 0.3);
}

.video-wrapper .video-large h3,
.video-wrapper .video-large .date {
    color: var(--white);
    z-index: 1;
}

.video-wrapper .video-small-group {
    flex: 1 1 50%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.video-wrapper .video-small-group .video-small {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 10px;
    position: relative;
    background-size: cover;
    background-position: center center;
    border-radius: 16px;
    padding: 20px 20px;
    overflow: hidden;
}

.video-wrapper .video-small-group .video-small::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000080;
    transition: all 0.3s ease-in-out;
}

.video-wrapper .video-small-group .video-small:hover::before {
    background-color: rgba(0, 0, 0, 0.3);
}

.video-wrapper .video-small-group .video-small h3,
.video-wrapper .video-small-group .video-small .date {
    color: var(--white);
    z-index: 1;
}

.video-wrapper .video-small-group .video-small h3 {
    font-size: 20px;
    line-height: 28px;
}

.contacts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
}

.contacts-grid .item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contacts-grid .item h4 {
    color: var(--green);
}

.contacts-grid .item .adr {
    font-size: 16px;
    font-weight: 600;
    line-height: 28px;
}

.contacts-grid .item .rating {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
}

.contacts-grid .item .contacts {
    display: flex;
    flex-direction: column;
    gap: 15px;
    list-style: none;
    padding-inline-start: 0;
}

.contacts-grid .item .contacts li a {
    gap: 10px;
    align-items: center;
    color: var(--dark);
    font-weight: 700;
    line-height: 28px;
}

.contacts-grid .item .contacts li a:hover {
    color: var(--light-green);
}

.contacts-grid .item .title {
    font-weight: 700;
    line-height: 28px;
    color: var(--green);
}

.contacts-grid .item .social-links {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    list-style: none;
    padding-inline-start: 0;
}

.contacts-grid .item .social-links li a:hover {
    transform: scale(1.2);
}

.map {
    width: 100%;
}

.map iframe {
    width: 100%;
    border: none;
    border-radius: 20px;
}

.govermental-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.govermental-grid a:hover {
    transform: scale(1.05);
}

.govermental-grid a img {
    width: 100%;
    height: auto;
    border: 1px solid #DDDDDD;
    border-radius: 16px;
}

/* About Page */
body:not(.page-template-front-page) .container-main .container:first-child {
    padding-top: 50px;
}

body.page-template-about-page .container.main-grid {
    height: 650px;
}

body.page-template-about-page .container.main-grid .main-img {
    position: absolute;
    top: 60px;
    right: 80px;
    z-index: 2;
}

body.page-template-about-page .container.main-grid .down-img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 130px;
    object-fit: cover;
    object-position: center center;
    border-radius: 0 0 40px 40px;
}

h2.teach {
    text-align: center;
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
    column-gap: 25px;
}

.partners-grid .partner-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.partners-grid .partner-item img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: center center;
    border: 1px solid #BBBBBB;
    border-radius: 24px;
}

.partners-grid .partner-item h4 {
    font-size: 32px;
    line-height: 40px;
    color: var(--green);
    padding-top: 10px;
}

.partners-grid .partner-item .content {
    font-size: 18px;
    line-height: 28px;
}

.partners-grid .partner-item .info-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.partners-grid .partner-item .info-grid .item {
    display: flex;
    gap: 5px;
    align-items: center;
    font-size: 18px;
    line-height: 28px;
}

.partners-grid .partner-item .info-grid .item .name {
    font-weight: 700;
}

.container .teacher-swiper {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.teacher-swiper .swiper-wrapper {
    box-sizing: border-box;
}

.teacher-swiper .swiper-slide {
    width: auto;
    flex-shrink: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.teacher-swiper .personal-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    color: var(--green);
}

.teacher-swiper .personal-item:hover {
    transform: scale(1.02);
}

.teacher-swiper .personal-item h4 {
    font-size: 30px;
    font-weight: 700;
    line-height: 36px;
    padding-top: 10px;
}

.teacher-swiper .personal-item img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    object-position: center -100px;
    border-radius: 20px;
}

.teacher-swiper .personal-item p {
    color: var(--dark);
}

.teacher-swiper .swiper-slide .phone-link {
    font-weight: 700;
    line-height: 28px;
    color: var(--dark);
}

.teacher-swiper .swiper-slide .phone-link:hover {
    color: var(--light-green);
}

.teacher-swiper .swiper-slide .email-link {
    font-weight: 800;
    line-height: 28px;
    color: var(--dark);
}

.teacher-swiper .swiper-slide .email-link:hover {
    color: var(--light-green);
}

/* History Page */
.timeline-container {
    position: relative;
    width: 100%;
    max-width: 1400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 40px;
    column-gap: 100px;
}

.timeline-container::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 40px;
    bottom: 40px;
    width: 6px;
    background-color: var(--green);
    transform: translateX(-50%);
    z-index: 1;
}

.timeline-item {
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: flex-start;
    width: calc(50% - 50px);
    position: relative;
    z-index: 2;
}

.timeline-item.left::after {
    content: "";
    position: absolute;
    top: 20%;
    right: -62.5px;
    width: 25px;
    height: 25px;
    background-color: var(--white);
    border: 6px solid var(--green);
    border-radius: 50%;
}

.timeline-item.right::before {
    content: "";
    position: absolute;
    top: 25%;
    left: -62.5px;
    width: 25px;
    height: 25px;
    background-color: var(--white);
    border: 6px solid var(--green);
    border-radius: 50%;
}

.timeline-item img {
    width: 100%;
    height: 415px;
    object-fit: cover;
    object-position: center center;
    border-radius: 24px;
}

.timeline-item .year {
    font-family: "Unbounded", sans-serif;
    font-size: 60px;
    font-weight: 800;
    line-height: 80px;
    color: var(--green);
}

.timeline-item .timeline-content {
    font-size: 18px;
    line-height: 28px;
}

.edu-desc {
    font-size: 18px;
    line-height: 28px;
}

.edu-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.edu-grid .edu-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.edu-grid .edu-item img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center center;
    border-radius: 24px;
}

.edu-grid .edu-item .name {
    font-family: "Unbounded", sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: var(--green);
    padding-top: 10px;
}

.edu-grid .edu-item .desc {
    font-size: 18px;
    line-height: 28px;
}

/* Vacancy Page */
.vacancy-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.vacancy-item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: auto;
    max-height: 170px;
    background-color: var(--white);
    border: 1px solid #CDCDCD;
    border-radius: 20px;
    padding: 25px 25px;
    overflow: hidden;
    user-select: none;
    transition: all 0.3s ease-in-out;
}

.vacancy-item.open {
    max-height: 1500px;
}

.vacancy-item .title {
    font-size: 24px;
    line-height: 28px;
    font-weight: 700;
}

.vacancy-item .links {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
}

.vacancy-item .links .accessVacancy {
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    color: var(--white);
    background-color: var(--green);
    border: 2px solid var(--green);
    border-radius: 16px;
    padding: 20px 90px;
}

.vacancy-item .links .accessVacancy:hover {
    background-color: var(--white);
    color: var(--green);
    transform: scale(1.05);
}

.vacancy-item .links .moreVacancy {
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    color: var(--green);
    background-color: var(--white);
    border: 2px solid var(--green);
    border-radius: 16px;
    padding: 20px 85px;
}

.vacancy-item .links .moreVacancy:hover {
    background-color: var(--green);
    color: var(--white);
    transform: scale(1.05);
}

.vacancy-item .more-vacancy {
    display: flex;
    flex-direction: column;
    gap: 20px;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.vacancy-item.open .more-vacancy {
    opacity: 1;
}

.vacancy-item .more-vacancy .item {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.vacancy-item .more-vacancy .item .subtitle {
    font-size: 24px;
    font-weight: 700;
    line-height: 24px;
}

.vacancy-item .more-vacancy .item .text {
    font-size: 18px;
    line-height: 28px;
}

.vacancy-item .more-vacancy .item .text ul {
    padding-inline-start: 40px;
}

.vacancy-item .more-vacancy hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #CDCDCD;
}

.vacancy-item .more-vacancy .callback {
    display: flex;
    gap: 5px;
}

.vacancy-item .more-vacancy .callback a {
    color: var(--dark);
}

/* Employments Page */
.employment-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.employment-list .employment-item {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 25px;
    transition: 0.3s ease-in-out;
}

.employment-list .employment-item:hover {
    transform: scale(1.02);
}

.employment-list .employment-item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center center;
    color: var(--dark);
    border-radius: 24px;
}

.employment-list .employment-item .detail {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-self: flex-start;
}

.employment-list .employment-item .detail .name {
    font-size: 32px;
    font-weight: 700;
    line-height: 40px;
    color: var(--green);
}

.employment-list .employment-item .detail .excerpt {
    font-size: 18px;
    line-height: 28px;
    color: var(--dark);
}

/* Single Employment */
.employ-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center center;
    border-radius: 24px;
}

/* Services Page */
.services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 25px;
    row-gap: 40px;
}

.services-item {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
}

.services-item:hover {
    transform: scale(1.02);
}

.services-item img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center center;
    border-radius: 24px;
}

.services-item .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 40px;
    color: var(--green);
}

.services-item .excerpt {
    color: var(--dark);
    font-size: 18px;
    line-height: 28px;
}

/* Single Service */
.docs-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.price-table {
    display: flex;
    flex-direction: column;
}

.price-table .price-title {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 40px;
    padding: 16px 16px;
    background-color: var(--white);
    border-radius: 16px;
}

.price-table .price-title .name-title,
.price-table .price-title .prices-title {
    font-size: 24px;
    font-weight: 700;
}

.price-table .price-item {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 40px;
    padding: 16px 16px;
    background-color: #F0F0F0;
    border-radius: 16px;
}

.price-table .price-item:nth-child(odd) {
    background-color: var(--white);
}

/* Golden Fund */
.golden-fund-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.golden-fund-list .golden-fund-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.golden-fund-list .golden-fund-item a img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.golden-fund-list .golden-fund-item .title {
    padding-top: 10px;
    font-size: 30px;
    font-weight: 700;
    line-height: 36px;
    color: var(--green);
}

.pagination .nav-links {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
    justify-content: center;
}

.pagination .nav-links .page-numbers {
    width: 50px;
    height: 50px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    border-radius: 50%;
    color: var(--dark);
    background-color: var(--white);
    transition: all 0.3s ease-in-out;
}

.pagination .nav-links .page-numbers:hover,
.pagination .nav-links .page-numbers.current {
    color: var(--white);
    background-color: var(--green);
}

/* Reviews */
.reviews-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.reviews-list .review-item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 25px 25px;
    border: 1px solid #CDCDCD;
    border-radius: 20px;
}

.reviews-list .review-item .name {
    font-size: 24px;
    font-weight: 700;
    line-height: 28px;
}

.reviews-list .review-item .doc-item {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 25px;
    align-items: center;
}

.reviews-list .review-item .doc-item .file-info {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
}

.reviews-list .review-item .doc-item .file-info .type-size {
    text-transform: uppercase;
}

.reviews-list .review-item .doc-item .file-info a {
    gap: 10px;
    align-items: center;
    color: var(--green);
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.reviews-list .review-item .doc-item .file-info a:hover {
    color: var(--light-green);
}

/* FAQ */
.container-main .container .accordion {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.container .accordion .details {
    display: flex;
    flex-direction: column;
    padding: 25px 25px;
    background-color: var(--white);
    border: 1px solid #CDCDCD;
    border-radius: 24px;
    transition: all 0.3s ease-out;
    outline: 0;
    interpolate-size: allow-keywords;
}

.container .accordion .details::details-content {
    block-size: 0;
    overflow: hidden;
    transition: content-visibility, block-size;
    transition-duration: 750ms;
    transition-behavior: allow-discrete;
}

.container .accordion .details[open]::details-content {
    block-size: auto;
}

.container .accordion .details .details__title {
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
    font-weight: 700;
    line-height: 28px;
    text-transform: uppercase;
    list-style: none;
    cursor: pointer;
    transition: all 0.3s ease-out;
}

.container .accordion .details .details__title::after {
    flex-shrink: 0;
    width: 35px;
    height: 35px;
    margin-left: auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Crect y='-0.0078125' width='32' height='32' rx='16' fill='%237E73FF' fill-opacity='0.2'%3E%3C/rect%3E%3Cpath d='M16.5598 24.753C16.2592 24.753 15.9709 24.6336 15.7584 24.4211C15.5458 24.2085 15.4264 23.9203 15.4264 23.6197V17.153H8.8931C8.59252 17.153 8.30425 17.0336 8.09171 16.8211C7.87917 16.6085 7.75977 16.3203 7.75977 16.0197C7.75977 15.7191 7.87917 15.4308 8.09171 15.2183C8.30425 15.0058 8.59252 14.8864 8.8931 14.8864H15.4264V8.31302C15.4264 8.16419 15.4557 8.01682 15.5127 7.87931C15.5697 7.74181 15.6531 7.61687 15.7584 7.51163C15.8636 7.40639 15.9886 7.32291 16.1261 7.26596C16.2636 7.209 16.4109 7.17969 16.5598 7.17969C16.7086 7.17969 16.856 7.209 16.9935 7.26596C17.131 7.32291 17.2559 7.40639 17.3612 7.51163C17.4664 7.61687 17.5499 7.74181 17.6068 7.87931C17.6638 8.01682 17.6931 8.16419 17.6931 8.31302V14.8864H24.2131C24.5137 14.8864 24.8019 15.0058 25.0145 15.2183C25.227 15.4308 25.3464 15.7191 25.3464 16.0197C25.3464 16.3203 25.227 16.6085 25.0145 16.8211C24.8019 17.0336 24.5137 17.153 24.2131 17.153H17.6931V23.6197C17.6931 23.9203 17.5737 24.2085 17.3612 24.4211C17.1486 24.6336 16.8603 24.753 16.5598 24.753Z' fill='%237E73FF'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 35px;
    content: "";
    transition: transform 0.3s ease-out;
}

.container .accordion .details:hover .details__title::after,
.container .accordion .details[open] .details__title::after {
    transform: rotate(-180deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Crect y='-0.0078125' width='32' height='32' rx='16' fill='%237E73FF' fill-opacity='0.2'%3E%3C/rect%3E%3Cpath d='M23.6534 17.3253H8.34671C8.04613 17.3253 7.75787 17.2059 7.54532 16.9933C7.33278 16.7808 7.21338 16.4925 7.21338 16.1919C7.21338 15.8913 7.33278 15.6031 7.54532 15.3905C7.75787 15.178 8.04613 15.0586 8.34671 15.0586H23.6534C23.954 15.0586 24.2422 15.178 24.4548 15.3905C24.6673 15.6031 24.7867 15.8913 24.7867 16.1919C24.7867 16.4925 24.6673 16.7808 24.4548 16.9933C24.2422 17.2059 23.954 17.3253 23.6534 17.3253Z' fill='%237E73FF'%3E%3C/path%3E%3C/svg%3E");
}

.container .accordion .details .details__content {
    padding-top: 25px;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
}

.container .accordion .details .details__content ul {
    padding-inline-start: 20px;
}

/* News page */
.news-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.news-list .news-item {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 25px;
    padding: 15px 15px;
    border: 1px solid #BBBBBB;
    border-radius: 24px;
}

.news-list .news-item:hover {
    transform: scale(1.02);
}

.news-list .news-item .image img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.news-list .news-item .news-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: 100%;
}

.news-list .news-item .news-content .post-date {
    font-weight: 600;
    color: #888888;
}

.news-list .news-item .news-content .excerpt {
    color: var(--dark);
}

.news-list .news-item .news-content .more {
    margin-top: auto;
    align-self: flex-end;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    padding: 20px 80px;
    border: 1px solid var(--green);
    border-radius: 16px;
    background-color: var(--white);
    transition: 0.3s ease-in-out;
}

.news-list .news-item:hover .news-content .more {
    background-color: var(--green);
    color: var(--white);
}

/* Single news */
.post-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.post-info p {
    font-weight: 600;
    color: #888888;
}

.post-image img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    object-position: center center;
    border-radius: 24px;
}

.post-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.more-news {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.more-news .news-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding: 15px 15px;
    border: 1px solid #BBBBBB;
    border-radius: 24px;
}

.more-news .news-item:hover {
    transform: scale(1.05);
}

.more-news .news-item img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.more-news .news-item .post-date {
    font-weight: 600;
    color: #888888;
}

.more-news .news-item .excerpt {
    color: var(--dark);
}

.more-news .news-item .more {
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    text-align: center;
    padding: 20px 20px;
    margin-top: auto;
    border: 1px solid var(--green);
    border-radius: 16px;
    transition: 0.3s ease-in-out;
}

.more-news .news-item:hover .more {
    background-color: var(--green);
    color: var(--white);
}

.more-ads {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.more-ads .ads-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding: 15px 15px;
    border: 1px solid #BBBBBB;
    border-radius: 24px;
}

.more-ads .ads-item:hover {
    transform: scale(1.05);
}

.more-ads .ads-item .post-date {
    font-weight: 600;
    color: #888888;
}

.more-ads .ads-item .excerpt {
    color: var(--dark);
}

.more-ads .ads-item .more {
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    text-align: center;
    padding: 20px 20px;
    margin-top: auto;
    border: 1px solid var(--green);
    border-radius: 16px;
    transition: 0.3s ease-in-out;
}

.more-ads .ads-item:hover .more {
    background-color: var(--green);
    color: var(--white);
}

/* Photogallery page */
.gallery-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.gallery-list .gallery-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
}

.gallery-list .gallery-item h4 {
    font-size: 32px;
    font-weight: 700;
    line-height: 40px;
}

.gallery-list .gallery-item .items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    width: 100%;
}

.gallery-list .gallery-item .items .image-item img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

/* Single gallery */
.gallery-grid .image:hover {
    transform: scale(1.02);
}

.gallery-grid .image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

/* Videogallery page */
.video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.video-grid .video-item {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 10px;
    height: 350px;
    position: relative;
    background-size: cover;
    background-position: center center;
    border-radius: 16px;
    padding: 20px 20px;
    overflow: hidden;
}

.video-grid .video-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000080;
    transition: all 0.3s ease-in-out;
}

.video-grid .video-item:hover::before {
    background-color: rgba(0, 0, 0, 0.3);
}

.video-grid .video-item h3,
.video-grid .video-item .date {
    color: var(--white);
    z-index: 1;
}

.video-grid .video-item h3 {
    font-size: 20px;
    line-height: 28px;
}

/* Events page */
.events-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.events-grid .event-item {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
}

.events-grid .event-item:hover {
    transform: scale(1.05);
}

.events-grid .event-item img {
    width: 100%;
    height: 300px;
    border-radius: 20px;
    object-fit: cover;
    object-position: center center;
}

.events-grid .post-date {
    margin-top: 10px;
    color: #888888;
    font-weight: 600;
}

/* Useful articles page */
.articles-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.articles-list .article-item {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 25px;
    padding: 15px 15px;
    border: 1px solid #BBBBBB;
    border-radius: 24px;
}

.articles-list .article-item:hover {
    transform: scale(1.02);
}

.articles-list .article-item .image img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.articles-list .article-item .news-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: 100%;
}

.articles-list .article-item .news-content .post-date {
    font-weight: 600;
    color: #888888;
}

.articles-list .article-item .news-content .excerpt {
    color: var(--dark);
}

.articles-list .article-item .news-content .more {
    margin-top: auto;
    align-self: flex-end;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    padding: 20px 80px;
    border: 1px solid var(--green);
    border-radius: 16px;
    background-color: var(--white);
    transition: 0.3s ease-in-out;
}

.articles-list .article-item:hover .news-content .more {
    background-color: var(--green);
    color: var(--white);
}

/* Schedule page */
.level-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.level-list .level {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.level-list .level .level-name {
    font-size: 32px;
    font-weight: 600;
    line-height: 40px;
    color: var(--green);
}

.level-list .level .class-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.level-list .level .class-list .class-item {
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
    padding: 40px 20px;
    border: 1px solid var(--green);
    border-radius: 16px;
    background-color: var(--white);
}

.level-list .level .class-list .class-item:hover {
    color: var(--white);
    background-color: var(--green);
    transform: scale(1.05);
}

/* Single schedule */
.schedule {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.schedule .day-schedule {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.schedule .day-schedule .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 40px;
    color: var(--green);
}

.schedule .day-schedule .schedule-table {
    display: flex;
    flex-direction: column;
}

.schedule .day-schedule .schedule-table .table-item {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 16px 16px;
    background-color: #F0F0F0;
    border-radius: 16px;
}

.schedule .day-schedule .schedule-table .table-item:nth-child(odd) {
    background-color: var(--white);
}

.schedule .day-schedule .schedule-table .table-item .name {
    font-weight: 700;
}

/* Classes page */
.class-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.class-list .class-item {
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    font-size: 24px;
    font-weight: 600;
    padding: 40px 20px;
    border: 1px solid var(--green);
    border-radius: 16px;
    background-color: var(--white);
}

.class-list .class-item:hover {
    color: var(--white);
    background-color: var(--green);
    transform: scale(1.05);
}

.class-list .class-item .stuff {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.class-list .class-item .stuff .sub,
.class-list .class-item .stuff .value {
    font-size: 18px;
    font-weight: 500;
    text-align: center;
}

/* Single Classes */
.class-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.class-info .sub .value,
.class-info .sub a {
    font-weight: 700;
}

.class-info .sub a:hover {
    color: var(--light-green);
}

.teacher {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.teacher .subtitle {
    font-size: 24px;
    font-weight: 700;
    color: var(--green);
}

.teacher .teacher-info {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 25px;
}

.teacher .teacher-info img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.teacher .teacher-info .content {
    justify-content: center;
    gap: 25px;
}

.teacher .teacher-info .content .post,
.teacher .teacher-info .content .phone,
.teacher .teacher-info .content .email {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

.teacher .teacher-info .content .name,
.teacher .teacher-info .content .post .value,
.teacher .teacher-info .content .phone .value,
.teacher .teacher-info .content .email .value {
    font-weight: 700;
}

.teacher .teacher-info .content .name:hover,
.teacher .teacher-info .content .phone .value a:hover,
.teacher .teacher-info .content .email .value a:hover {
    color: var(--light-green);
}

/* Gimnasium live page */
body.page-template-live-gimnasium-page .container.main-grid {
    height: 650px;
}

body.page-template-live-gimnasium-page .container.main-grid .main-img {
    position: absolute;
    top: 60px;
    right: 25px;
    z-index: 2;
}

/* Useful links */
.useful-links {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.useful-links .useful-item {
    gap: 15px;
    font-weight: 700;
}

.useful-links .useful-item:hover {
    color: var(--light-green);
    transform: scale(1.02);
}

.useful-links .useful-item img {
    border-radius: 16px;
}

/* Single person */
.personal-grid {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 25px;
}

.personal-grid a img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.personal-grid .info .more-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.personal-grid .info .more-info .sub {
    font-size: 16px;
    line-height: 24px;
}

.personal-grid .info .more-info .value {
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
}

/* Thanks page */
.reviews-list .review-item .thanks-image img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    object-position: center center;
    border-radius: 16px;
}

/* Diploms and awards page */
.diploms-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.diploms-grid .diploms-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.diploms-grid .diploms-item a img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center center;
    border-radius: 16px;
}

.diploms-grid .diploms-item .title {
    font-weight: 700;
}

/* Diploms and awards page */
.media-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px; 
}

.media-grid .media-item {
    width: 100%;
    height: 350px;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
    border-radius: 16px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
}

.media-grid .media-item:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    background-color: #00000080;
}

.media-grid .media-item:hover {
    transform: scale(1.02);
}

.media-grid .media-item .title {
    font-weight: 700;
    z-index: 1;
}

/* Teachers page */
.teaching-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.teaching-grid .teacher-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.teaching-grid .teacher-item:hover {
    transform: scale(1.02);
}

.teaching-grid .teacher-item img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.teaching-grid .teacher-item .teacher {
    width: 100%;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.teaching-grid .teacher-item .teacher h4 {
    padding-top: 15px;
}

.teaching-grid .teacher-item .teacher:hover {
    transform: scale(1.02);
}

.teaching-grid .teacher-item .teacher img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
}

.teaching-grid .teacher-item .phone-link:hover,
.teaching-grid .teacher-item .email-link:hover {
    color: var(--light-green);
}

/* Sublinks module */
.sublinks-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.sublinks-list a {
    gap: 25px;
    align-items: center;
    border: 1px solid #BBBBBB;
    border-radius: 16px;
    padding: 40px 16px;
}

.sublinks-list a:hover {
    transform: scale(1.02);
}

.sublinks-list a img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    object-position: center center;
}

.sublinks-list a .info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sublinks-list a .info .title {
    color: var(--dark);
    font-weight: 700;
}

.sublinks-list a .info .content {
    color: var(--dark);
}

/* Modal Search */
#search-popup.modals {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

#search-popup.modals.visible {
    opacity: 1;
    z-index: 999;
    visibility: visible;
}

#search-popup .modal-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #FFFFFF66;
    backdrop-filter: blur(50px);
}

#search-popup .modal-content-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#search-popup .modal-content-wrapper .modal-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1200px;
    background-color: var(--white);
    border-radius: 40px;
    padding: 90px 30px 30px 30px;
    position: relative;
    box-shadow: 2px 2px 10px 0px #00000033;
    z-index: 1000;
}

#search-popup .modal-content-wrapper .modal-content .closeModal {
    position: absolute;
    top: 40px;
    right: 40px;
    font-size: 30px;
    color: #272727;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

#search-popup .modal-content-wrapper .modal-content .closeModal:hover {
    color: var(--light-green);
}

#search-popup .modal-content-wrapper .modal-content h2 {
    color: var(--green);
    z-index: 999;
    user-select: none;
}

#search-popup .modal-content .info-block {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

#search-popup .modal-content .info-block .search-links {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: auto;
    flex-grow: 1;
    flex-shrink: 0;
}

#search-popup .modal-content .info-block .search-links .links {
    display: flex;
    flex-direction: row;
    gap: 25px;
}

#search-popup .modal-content .info-block .search-links .links a {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--white);
    background-color: var(--green);
    border: 1px solid var(--green);
    border-radius: 16px;
    padding: 20px 25px;
    transition: all 0.3s ease-in-out;
}

#search-popup .modal-content .info-block .search-links .links a:hover {
    background-color: var(--white);
    color: var(--green);
}

/* Request popup */
#request-popup.modals {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

#request-popup.modals.visible {
    visibility: visible;
    opacity: 1;
    z-index: 999;
}

#request-popup .modal-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #FFFFFF66;
    backdrop-filter: blur(50px);
}

#request-popup .modal-content-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    box-sizing: border-box;
}

#request-popup .modal-content-wrapper .modal-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1200px;
    max-height: 90vh;
    background-color: var(--white);
    border-radius: 40px;
    padding: 90px 30px 30px 30px;
    position: relative;
    box-shadow: 2px 2px 10px 0px #00000033;
    z-index: 1000;
    overflow-y: auto;
    box-sizing: border-box;
}

#request-popup .modal-content-wrapper .modal-content .closeModal {
    position: absolute;
    top: 40px;
    right: 40px;
    font-size: 30px;
    color: #272727;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    z-index: 1001;
}

#request-popup .modal-content-wrapper .modal-content .closeModal:hover {
    color: var(--light-green);
}

/* PDF popup */
#pdfModal.modals {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

#pdfModal.modals.visible {
    visibility: visible;
    opacity: 1;
    z-index: 999;
}

#pdfModal .modal-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #FFFFFF66;
    backdrop-filter: blur(50px);
}

#pdfModal .modal-content-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    box-sizing: border-box;
}

#pdfModal .modal-content-wrapper .modal-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1200px;
    background-color: var(--white);
    border-radius: 40px;
    padding: 90px 30px 30px 30px;
    position: relative;
    box-shadow: 2px 2px 10px 0px #00000033;
    z-index: 1000;
    overflow-y: auto;
    box-sizing: border-box;
}

#pdfModal .modal-content-wrapper .modal-content .closeModal {
    position: absolute;
    top: 40px;
    right: 40px;
    font-size: 30px;
    color: #272727;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

#pdfModalIframe {
    width: 100%;
    height: 600px;
    border:none;
    flex:1 1 auto;
}

/* EDS Modal */
.eds-modals {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.eds-modals.visible {
    visibility: visible;
    opacity: 1;
    z-index: 999;
}

.eds-modals .modal-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #FFFFFF66;
    backdrop-filter: blur(50px);
}

.eds-modals .modal-content-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    box-sizing: border-box;
}

.eds-modals .modal-content-wrapper .modal-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 600px;
    background-color: var(--white);
    border-radius: 40px;
    padding: 90px 30px 30px 30px;
    position: relative;
    box-shadow: 2px 2px 10px 0px #00000033;
    z-index: 1000;
    overflow-y: auto;
    box-sizing: border-box;
}

.eds-modals .modal-content-wrapper .modal-content .closeModal {
    position: absolute;
    top: 40px;
    right: 40px;
    font-size: 30px;
    color: #272727;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.eds-modals .modal-content-wrapper .modal-content .eds-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* Video Popup */
.video-modals {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.video-modals.visible {
    visibility: visible;
    opacity: 1;
    z-index: 999;
}

.video-modals .modal-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #FFFFFF66;
    backdrop-filter: blur(50px);
}

.video-modals .modal-content-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    box-sizing: border-box;
}

.video-modals .modal-content-wrapper .modal-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1200px;
    background-color: var(--white);
    border-radius: 40px;
    padding: 90px 30px 30px 30px;
    position: relative;
    box-shadow: 2px 2px 10px 0px #00000033;
    z-index: 1000;
    overflow-y: auto;
    box-sizing: border-box;
}

.video-modals .modal-content-wrapper .modal-content .closeModal {
    position: absolute;
    top: 40px;
    right: 40px;
    font-size: 30px;
    color: #272727;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.video-modals .modal-content-wrapper .modal-content .video-block {
    width: 100%;
}

/* All Page */
main .container .content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* BreadCrumbs */
#breadcrumbs span {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

#breadcrumbs span a {
    color: var(--green);
}

#breadcrumbs span.breadcrumb_last {
    color: #888888;
}

/* Main Form */
.form-vacancy {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-vacancy .input {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.form-vacancy .input input {
    width: 100%;
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    color: var(--dark);
    border: 1px solid #CDCDCD;
    border-radius: 16px;
    padding: 20px 20px;
    outline: 0;
}

.form-vacancy .input textarea {
    width: 100%;
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    color: var(--dark);
    border: 1px solid #CDCDCD;
    border-radius: 16px;
    padding: 20px 20px;
    outline: 0;
}

.form-vacancy .input .wpcf7-radio {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-vacancy .input .wpcf7-radio .wpcf7-list-item {
    margin: 0;
}

.form-vacancy .input .wpcf7-radio .wpcf7-list-item label {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.form-vacancy .input .wpcf7-radio .wpcf7-list-item label input {
    width: auto;
}

.form-vacancy .input .wpcf7-checkbox .wpcf7-list-item {
    margin: 0;
}

.form-vacancy .input .wpcf7-checkbox .wpcf7-list-item label {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.form-vacancy .input .wpcf7-checkbox .wpcf7-list-item label input {
    width: auto;
}

.form-vacancy .acceptance .wpcf7-list-item {
    margin: 0 !important;
}

.form-vacancy .acceptance .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 10px;
}

.form-vacancy .acceptance .wpcf7-list-item label span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.form-vacancy .acceptance .wpcf7-list-item label span a {
    text-decoration: underline;
    color: var(--dark);
}

.form-vacancy .acceptance .wpcf7-list-item label span a:hover {
    color: var(--green);
}

.form-vacancy .submit input {
    width: 100%;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color: var(--white);
    background-color: var(--green);
    padding: 20px 20px;
    margin-top: 20px;
    border: 2px solid var(--green);
    border-radius: 16px;
    transition: all 0.3s ease-in-out;
}

.form-vacancy .submit input:hover {
    color: var(--green);
    background-color: var(--white);
    transform: scale(1.02);
}

.form-vacancy .input .label {
    font-weight: 700;
}

.form-vacancy .smart-captcha {
    align-self: flex-start;
}

/* Table */
body.page-id-335 table:not(#schedule-table) tr,
body.page-id-333 table:not(#schedule-table) tr,
body.page-id-19 table:not(#schedule-table) tr {
    grid-template-columns: 250px 1fr;
    gap: 40px;
}

body.page-id-19 table:not(#schedule-table) tr {
    text-align: center;
}

body.page-id-19 table:nth-child(6) tr {
    grid-template-columns: 350px 1fr !important;
    text-align: left !important;
}

body.page-id-19 .mobile-scroll:nth-child(10) table tr {
    grid-template-columns: repeat(5, 1fr) !important;
    text-align: center;
}

body.page-id-335 table tr td:last-child,
body.page-id-333 table tr td:last-child,
body.page-id-19 table tr td:last-child {
    text-align: left;
}

body.page-id-335 table tr td:last-child a,
body.page-id-333 table tr td:last-child a,
body.page-id-19 table tr td:last-child a,
body.page-id-21 table tr td:last-child a {
    justify-content: flex-start;
}

body.page-id-21 table:nth-child(1) tr, 
body.page-id-21 table:nth-child(2),
body.page-id-21 table:nth-child(3) {
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 25px;
}

body.page-id-21 table:nth-child(4) tr,
body.page-id-21 table:nth-child(6) tr,
body.page-id-21 table:nth-child(8) tr {
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 10px;
    text-align: center;
}

body.page-id-21 table:nth-child(10) tr,
body.page-id-21 table:nth-child(12) tr  {
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 10px;
    font-size: 18px;
    text-align: center;
}

body.page-id-21 table:nth-child(1) tbody tr:first-child {
    grid-template-columns: 1fr !important;
    text-align: center;
}

body.page-id-21 table:nth-child(7) tr {
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 10px;
}

body.page-id-21 .mobile-scroll:nth-child(13) table tbody tr:first-child,
body.page-id-21 .mobile-scroll:nth-child(16) table tbody tr:first-child {
    grid-template-columns: repeat(8, 1fr) !important;
}

body.page-id-21 .mobile-scroll:nth-child(13) table tr,
body.page-id-21 .mobile-scroll:nth-child(16) table tr {
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 10px;
}

body.page-id-25 .table-scroll {
    width: 100%;
    overflow-x: scroll;
}

body.page-id-25 .table-scroll table {
    width: 3000px;
}

body.page-id-25 .table-scroll:nth-child(2) table tr {
    grid-template-columns: repeat(9, 1fr) !important;
    gap: 10px;
    text-align: center !important;
    font-size: 18px;
}

body.page-id-25 .table-scroll:nth-child(5) table tr,
body.page-id-25 .table-scroll:nth-child(8) table tr {
    grid-template-columns: repeat(12, 1fr) !important;
    gap: 10px;
}

body.page-id-25 .table-scroll:nth-child(11) table tr {
    grid-template-columns: repeat(9, 1fr) !important;
    gap: 10px;
}

body.page-id-25 .mobile-scroll:nth-child(14) table thead tr {
    grid-template-columns: repeat(5, 1fr) !important;
}

body.page-id-25 .mobile-scroll:nth-child(14) table tbody tr {
    grid-template-columns: 1fr !important;
}

body.page-id-29 table tr {
    grid-template-columns: repeat(4, 1fr) !important;
    text-align: center;
}

body.page-id-33 .mobile-scroll:nth-child(2) table tr,
body.page-id-33 .mobile-scroll:nth-child(5) table tr {
    grid-template-columns: 200px 200px 1fr 200px !important;
    gap: 10px;
}

body.page-id-33 .mobile-scroll:nth-child(8) table tr {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px
}

body.page-id-33 .mobile-scroll:nth-child(20) table tr {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px;
}

body.page-id-33 table:nth-child(66) tr {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px;
}

body.page-id-33 .mobile-scroll:nth-child(69) table tr {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px;
}

body.page-id-33 .mobile-scroll:nth-child(74) table tr {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px;
}

body.page-id-35 .mobile-scroll:nth-child(6) table tr {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px;
}

body.page-id-91 table tr {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px;
}

body.page-id-91 table tr td:not(:first-child) {
    text-align: center;
}

body.page-id-326 table tr {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 10px;
}

body.page-id-307 table tr {
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 10px;
}

body.page-id-307 table tr:nth-child(2),
body.page-id-307 table tr:nth-child(7) {
    grid-template-columns: 1fr !important;
}

body.page-id-309 table tr {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 10px;
}

body.page-id-309 table tr:nth-child(1),
body.page-id-309 table tr:nth-child(21) {
    grid-template-columns: 1fr !important;
}

body.page-id-39 .mobile-scroll:nth-child(2) table tr {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px
}

body.page-id-39 .mobile-scroll:nth-child(2) table thead tr:nth-child(1) {
    grid-template-columns: 1fr !important;
}

body.page-id-39 .mobile-scroll:nth-child(4) table tr {
    grid-template-columns: 200px 1fr 1fr !important;
}

body.page-id-39 .mobile-scroll:nth-child(4) table tr div p {
    display: flex;
    flex-direction: row;
    gap: 15px;
    padding-top: 10px;
}

body.page-id-41 .table-scroll {
    width: 100%;
    overflow-x: scroll;
}

body.page-id-41 .table-scroll table {
    width: 3000px;
}

body.page-id-41 .table-scroll table tr {
    grid-template-columns: repeat(10, 1fr) !important;
}

body.page-id-43 .mobile-scroll table tr {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px;
}

body.page-id-45 .mobile-scroll:nth-child(3) table tr {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 10px;
}