html {
  scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	letter-spacing: 0.01em !important;
}

.h1-title {
	font-size: clamp(32px, 24px + 1.5vw, 60px) !important;
}

.h2-title {
	font-size: clamp(30px, 22px + 1.38vw, 55px) !important;
}

.h3-title {
	font-size: clamp(24px, 20px + 1.25vw, 50px) !important;
}

.document-group .font-upscale p {
	font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem) !important;
}


.wp-block-group {
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-site-logo img {
	max-width: 365px;
	width: 100%;
}


/* Динамический слайдер */

.wp-block-group .slide-block {
	max-width: 1920px !important;
	width: 100% !important;
}
	
.swiper-wrapper {
    display: flex !important;
    align-items: stretch !important;
}

.swiper-slide {
    height: auto !important;
    display: flex !important;
}

.swiper-wrapper .wp-block-group.slide-block {
	align-content: center;
    flex: 1 0 auto;
    width: 100%;
}

.slide-block {
    position: relative;
	z-index: 0;
}

.slide-block-image {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.banner-block-image {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;	
}


/* Элемент фона */
.slide-block-image::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 134%;
    height: 134%;
	left: clamp(-184px, calc(-9.03vw - 10.67px), -80px);
    background-image: url('/wp-content/uploads/2026/03/slider-background-01.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.slide-block-image img {
    position: relative;
    z-index: 1;
}


/* Элемент фона */
.banner-block-image::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 134%;
    height: 134%;
	left: clamp(-160px, calc(-9.03vw - 10.67px), -60px);
    background-image: url('/wp-content/uploads/2026/03/slider-background-01.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.banner-block-image img {
    position: relative;
    z-index: 1;
}

.slide-block::before {
    content: "";
    position: absolute;
    top: 0; left: 30%; right: 0; bottom: 0;
    background-image: url('/wp-content/uploads/2026/03/vector-leaf-01.png') !important;
    background-repeat: no-repeat;
    background-position: top 30%;
    background-size: auto;
    z-index: -2;
    pointer-events: none;
}

.slide-block::after {
    content: "";
    position: absolute;
    top: 0; left: 12%; right: 0; bottom: 0;
    background-image: url('/wp-content/uploads/2026/03/vector-leaf-02.png') !important;
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: auto;
    z-index: -3;
    pointer-events: none;
}

.wp-block-group.slide-block-row {
    flex-wrap: nowrap !important;
	flex-shrink: 0 !important;
	min-width: max-content;
    z-index: 10;
	position: relative;
	
}


/* Кнопка Версия для слабовидящих */

.bvi-shortcode {
	border-style: solid;
	border-radius: 40px;
	padding: 14px 32px;
	font-size: 0.8em;
	font-weight: 600;
}

.bvi-open svg.bvi-svg-eye,
.bvi-shortcode svg.bvi-svg-eye {
    display: none !important;
}

.bvi-open {
    position: relative !important;
    padding-left: 44px !important;
}

.bvi-open::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 52% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    background-image: url('/wp-content/uploads/2026/icons/glasses.svg') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}


/** МЕНЮ ГАМБУРГЕР **/

@media screen and (max-width: 1120px) {
    .wp-block-navigation__responsive-container-open::after {
        content: "Меню";
        font-size: 20px;
        font-weight: 600;
        margin-left: 12px;
        display: inline-block;
        vertical-align: middle;
    }

    .wp-block-navigation__responsive-container-open svg {
        width: 30px;
        height: 30px;
        vertical-align: middle;
    }
}

.wp-block-navigation__responsive-container-close svg {
    width: 40px;
    height: 40px;
}

.wp-block-navigation__responsive-container-close {
    padding: 24px;
}


.document-download {
	text-decoration: underline;
}

.color-menu-main {
	color: #fefaf6;
}


.current-menu-item > a,
.current_page_item > a {
    font-weight: 600 !important;
}


.border-radius-script {
	width: 100%;
	height: 635px;
	border-radius: 40px;
	overflow: hidden !important;
}

.slider-border-40px {
	border-radius: 40px;
}

.border-hidden {
	overflow: hidden;
}


.rotate-image {
	transform: rotate(-45deg);
}

.cs-slide-box-prev {
	position: relative;
	cursor: pointer;
	width: 72px;
	height: 72px;
}

.cs-slide-box-next {
	position: relative;
	cursor: pointer;
	width: 72px;
	height: 72px;
}


/* секция "Директор" */

@media screen and (min-width: 769px) {
	.director-group {
		display: grid !important;
		grid-template-columns: min-content 1fr;
		gap: 0 40px;
	}
	.director-group-columns {
		display: contents !important;
	}
	.director-group-columns-left {
    	white-space: nowrap !important;  
		width: max-content !important;
   		grid-column: 1;
	}
	.director-group-columns-right {
		grid-column: 2;
	}
	.director-group-column-left .director-group-column-left-title {
		white-space: nowrap;
		word-break: keep-all;
	}
	.director-group-text {
		grid-column: 1 / -1;
		width: 100%;
	}	
}


/* --- ЖИЗНЬ ШКОЛЫ --- */

/* TAB-контейнер */

.gallery-tabs-section {
    margin: 50px auto;
    text-align: center;
    font-family: 'Century Gothic', sans-serif;
}

.gallery-main-title {
    font-size: 55px;
    font-weight: 500;
    color: #0C2621;
	margin-bottom: 65px;
}


/* --- УРОВЕНЬ А --- */

.tabs-nav-a {
    display: inline-flex;
    gap: 10px;
    border: 2px solid #468C5F;
    border-radius: 50px;
    padding: 15px;
    margin-bottom: 50px;
}

.tab-btn-a {
    padding: 16px 48px;
    border: 2px solid #468C5F;
    border-radius: 40px;
    background: transparent;
    color: #468C5F;
    cursor: pointer;
	font-family: 'Century Gothic', sans-serif;
    font-size: 18px;
    font-weight: 600;
	line-height: 2;
    transition: all 0.3s ease;
}

.tab-btn-a.active {
    background-color: #468C5F;
    color: #FEFAF6;
}

.tabs-main-card {
    background-color: #F2E8DF;
    border-radius: 40px;
    padding: 40px 40px;
	overflow: hidden;
}

.tab-category-title {
    font-size: 55px;
    color: #468C5F;
	margin-top: 20px;
    margin-bottom: 50px;
    font-weight: 500;
}


/* --- УРОВЕНЬ Б --- */

.tabs-nav-b-scroll {
    overflow-x: auto !important;
    padding-bottom: 15px !important; 
    margin-bottom: 30px;
    display: block;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}

.tabs-nav-b-scroll::-webkit-scrollbar {
    height: 6px !important;
    display: block !important;
}

.tabs-nav-b-scroll::-webkit-scrollbar-track {
    background: #e0e0e0 !important; 
    border-radius: 10px;
}

.tabs-nav-b-scroll::-webkit-scrollbar-thumb {
    background-color: #27ae60 !important;
    border-radius: 10px;
}

.tabs-nav-b {
    display: flex;
    justify-content: center; 
    gap: 30px;
    padding-bottom: 10px;
    width: max-content; 
    min-width: 100%; 
    margin: 0 auto;
}

@media (max-width: 768px) {
    .tabs-nav-b {
        justify-content: flex-start;
        padding-left: 20px;
        padding-right: 20px;
    }
}

.tab-btn-b {
    padding: 25px 85px;
    border: none;
    border-radius: 40px;
    background-color: #FEFAF6;
    color: #468C5F;
    cursor: pointer;
	font-family: 'Century Gothic', sans-serif;
    font-size: 18px;
    font-weight: 600;
	line-height: 2;
    transition: all 0.3s ease;
}

.tab-btn-b.active {
    background-color: #468C5F;
    color: #FEFAF6;
}

.tab-btn-b.active::after {
    display: none;
}

.tab-content-a, 
.tab-content-b {
    display: none; 
}

.tab-content-a.active, 
.tab-content-b.active {
    display: block !important;
}

.tab-image-placeholder {
    max-width: 900px;
    margin: 0 auto;
}

.tab-image-placeholder img {
    width: 100%;
    height: auto;
    border-radius: 40px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.04);
}

@media (max-width: 768px) {
    .tabs-nav-a {
        flex-direction: column;
        border-radius: 20px;
    }
    .tabs-nav-b {
        justify-content: flex-start;
        padding-left: 20px;
    }
    .tab-category-title {
        font-size: 28px;
    }
}


/* Слайдер "Галерея" */

.gallery-section {
    padding: 25px 0;
    background-color: #F2E8DF;
    overflow: hidden;
}

.gallery-slider.swiper {
    width: 100%;
    padding: 25px 0 !important;
    overflow: visible !important;
}

.gallery-slider .swiper-wrapper {
    display: flex !important;
    align-items: center !important;
}

.gallery-slider .swiper-slide {
    width: 848px !important;
    transition: opacity 0.5s ease;
    display: flex;
    justify-content: center;
}

.gallery-slider .gallery-item {
    width: 100%;
    transition: transform 0.5s ease, opacity 0.5s ease;
    transform: scale(0.9);
    opacity: 0.5;
}

.gallery-slider .swiper-slide-next .gallery-item {
    transform-origin: left center;
}

.gallery-slider .swiper-slide-prev .gallery-item {
    transform-origin: right center;
}

.gallery-slider .swiper-slide-active .gallery-item {
    transform: scale(1);
    opacity: 1;
	transform-origin: center center;
}

.gallery-item img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    border-radius: 40px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    display: block;
}

@media (max-width: 1440px) {
    .gallery-slider .swiper-slide {
        width: 60% !important;
		height: auto !important;
		max-height: 75vh;
		aspect-ratio: auto !important;
    }
}

@media (max-width: 1200px) {
    .gallery-slider .swiper-slide {
        width: 70% !important;
    }
}

@media (max-width: 768px) {
    .gallery-slider .swiper-slide {
        width: 85% !important;
    }
    .gallery-item img {
        height: 350px;
    }
}


.gallery-nav-prev,
.gallery-nav-next {
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%);
    z-index: 10;
    width: 72px !important;
    height: 72px !important;
	min-width: 72px !important; /* Firefox fix */
    margin: 0 !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none !important;
}

.gallery-nav-prev {
    left: 24px !important;
}

.gallery-nav-next {
    right: 24px !important;
}

.gallery-nav-prev img,
.gallery-nav-next img {
    width: 100%;
    height: auto;
	min-width: 72px;
    display: block;
	object-fit: contain;
}

.gallery-nav-prev img {
    transform: rotate(180deg);
}

.gallery-nav-prev::after,
.gallery-nav-next::after {
    content: "" !important;
	display: none !important;
}

.gallery-nav-prev img,
.gallery-nav-next img {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    cursor: pointer;
}

.gallery-nav-next:hover img {
    transform: scale(1.15);
}

.gallery-nav-prev:hover img {
    transform: rotate(180deg) scale(1.15); 
}

.gallery-nav-prev:active img {
    transform: rotate(180deg) scale(0.95);
}
.gallery-nav-next:active img {
    transform: scale(0.95);
}

.swiper-button-disabled {
    opacity: 0.3;
    cursor: default;
    pointer-events: none;
}


/* Слайдер "Проекты" */

.wp-slider-school-life {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
}

.wp-slider-school-life .swiper-wrapper {
    display: flex !important;
    align-items: stretch !important;
}

.wp-slider-school-life .swiper-slide {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
}

.wp-slider-school-life .swiper-slide > .wp-block-group {
    flex: 1 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.wp-slider-school-life .swiper-slide * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@media screen and (max-width: 1240px) {
    .wp-slider-school-life .swiper-slide .wp-block-columns, 
    .wp-slider-school-life .swiper-slide > div { 
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
    }
    .wp-slider-school-life .swiper-slide .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 20px;
    }
    .wp-slider-school-life .swiper-slide img, 
    .wp-slider-school-life .swiper-slide .wp-block-image {
        margin: 0 auto;
        display: block;
    }
}

.wp-slider-school-life .swiper-button-prev *,
.wp-slider-school-life .swiper-button-next * {
    display: none !important;
}

.wp-slider-school-life .swiper-button-prev,
.wp-slider-school-life .swiper-button-next {
    background-image: url('/wp-content/uploads/2026/03/icon-arrow.svg') !important; 
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    
    width: 72px !important;
    height: 72px !important;
    
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.wp-slider-school-life .swiper-button-prev {
    transform: scaleX(-1) !important;
}

.wp-slider-school-life .swiper-button-prev {
    left: 25px !important;
}
.wp-slider-school-life .swiper-button-next {
    right: 25px !important;
}

.wp-slider-school-life .swiper-button-prev:after,
.wp-slider-school-life .swiper-button-next:after {
    display: none !important;
}

@media (max-width: 768px) {
    .wp-slider-school-life .swiper-button-prev,
    .wp-slider-school-life .swiper-button-next {
        width: 40px !important;
        height: 40px !important;
    }
}

@media screen and (max-width: 1024px) {
	.wp-slider-school-life .wp-block-group {
		padding-top: 25px !important;
	}	
	
	.wp-slider-school-life .wp-block-columns {
		margin-top: 0 !important;
		padding-left: clamp(0px, 23vw - 110.4px, 125px) !important;
		padding-right: clamp(0px, 23vw - 110.4px, 125px) !important;
	}
}


/* Секция "Творчество" */

.creative-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(20px, 2vw, 40px);
    margin: 0 auto;
}

.creative-item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 500px;
    overflow: hidden;
	justify-content: flex-start !important;
}

.creative-grid .creative-item {
    margin-top: 0;
}

.creative-grid .creative-item {
    margin-bottom: 0;
}

@media (min-width: 1200px) {
    .creative-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .creative-item:nth-child(6) {
        grid-column: span 3;
        flex-direction: row;
        align-items: center;
        gap: 40px;
    }
    .creative-item:nth-child(6) .wp-block-image {
        margin: 0;
		padding-right: 40px;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .creative-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .creative-item:nth-child(6) {
        grid-column: span 2;
        flex-direction: row;
    }
}

.creative-item:nth-child(4) .wp-block-buttons {
    margin-top: auto !important;
    padding-top: 20px;
}

.creative-item:nth-child(6) {
    align-items: flex-start !important;
}


.creative-item h3, 
.creative-item h4 {
    font-size: clamp(1.5rem, 2vw, 2.2rem);
    line-height: 1.1;
	text-align: left;
	word-break: break-word;
    overflow-wrap: break-word;
}

.creative-item, 
.creative-item > .wp-block-group__inner-container {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.creative-item h3, 
.creative-item h4,
.creative-item p {
    hyphens: auto;
}

.creative-item .wp-block-heading {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 100%;
}

.creative-item p {
    line-height: 1.5;
    margin-bottom: 25px;
}

@media (max-width: 767px) {
    .creative-grid {
        grid-template-columns: 1fr;
        padding: 20px;
    }
    .creative-item {
        min-height: auto;
        flex-direction: column !important;
        text-align: center;
    }
	.creative-item .wp-block-image {
        align-self: center;
		margin-top: 20px !important;
    }
	.creative-item .wp-block-image img {
		padding: 0 20px !important;
	}
	.creative-item p {
		margin-bottom: 20px !important;
		text-align: left;
	}
}

.creative-item .wp-block-image {
    margin: 0;
    margin-top: auto;
    position: relative;
    display: inline-block;
    align-self: flex-end;
}

.creative-item .wp-block-image img {
    object-fit: cover;
	padding: 0 50px;
}

.creative-item:nth-child(6) .wp-block-image img {
	padding: 0;
}

@media (min-width: 1200px) {
    .creative-item:nth-child(6) .wp-block-image {
        margin-top: 0 !important;
        align-self: stretch;
        display: flex;
        align-items: center;
    }
	
    .creative-item:nth-child(6) .wp-block-image img {
        object-fit: cover;
    }
}

.creative-item:nth-child(6) > .wp-block-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


/* --- ПЕДАГОГИЧЕСКИЙ СОСТАВ --- */

.teachers-grid p {
	font-size: clamp(14px, 13.2px + 0.25vw, 18px) !important;
}

.teachers-grid h3 {
	font-size: clamp(20px, 19.2px + 0.25vw, 24px) !important;
}


/* --- ДОКУМЕНТЫ --- */

.document-group p,
.document-group ul,
.document-group table {
	font-size: clamp(14px, 13.2px + 0.25vw, 18px) !important;
}

.document-group h3 {
	font-size: clamp(20px, 19.2px + 0.25vw, 24px) !important;
}

.document-group a {
	text-decoration: underline;
}