@import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&display=swap");

/* body styles */

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

*::after {
  box-sizing: border-box;
}

*::before {
  box-sizing: border-box;
}

*::selection {
  background-color: rgba(255, 255, 255, 0.205);
}

*:focus-visible {
  outline: none;
}

body {
  font-family: "Baloo 2";
  font-style: normal;
  background-color: #daf2ff;
}

.page-content{background-color: white; padding: 100px 30px;}
.container-wide{max-width: 1320px; width: 100%; margin: 0 auto;}

.page-content p{text-align: justify; font-size: 15px !important;}
.page-content .row{font-size: 15px; font-weight: 400; line-height: 1.8; color: rgb(45, 44, 49); text-align: justify; margin-top: 10px;}
.page-content img{border-radius: 6px; max-height: 280px; height: 100%;}
.page-content a{color: #6aa4d9; transition: all 250ms;}
.page-content ul{padding-left: 30px;}
.page-content ul li{font-size: 15px; font-weight: 400; line-height: 1.8; color: rgb(45, 44, 49);}
.page-content a:hover{color: #363636;}

/* liveedit */
.liveedit-bar{width: 200px;height: 75px;padding: 5px;background-color: rgba(0, 0, 0, 0.24);position: fixed;bottom: 0;left: 0;display: flex;justify-content: center;align-content: center;border-top-right-radius: 10px; z-index: 100000;}
.btn.liveedit{background: #1775f1 !important;color: white !important;font-weight: 700 !important;padding: 5px 30px !important;font-size: 14px !important; width: 102px !important; height: 33px !important; margin: 10px 0; z-index: 1; position: relative;}
.btn.liveedit.absolute{position: absolute; top: 0; left: 0;}

.animate {
  opacity: 0;
}
.animate.animated {
  opacity: 1;
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

:root {
  --container-padding: clamp(9.375rem, -13.741rem + 27.076vw, 18.750rem) /*300->150px*/
}

.container {
  padding: 0 var(--container-padding);
}

.btn {
  padding: 10px 40px;
  text-decoration: none;
  color: #fff;
  width: fit-content;
  transition: all 200ms;
  cursor: pointer;
}

.btn.btn-pink {
  background: #fbc3da;
  border-radius: 70px;
  transition: all 200ms;
}

.btn:hover.btn-pink {
  background: #f397bd;
}

.mt-30 {
  margin-top: 30px !important;
}

main .headline {
	font-style: normal;
	font-weight: 800;
	font-size: 36px;
	line-height: 38px;
	color: #6aa4d9;
	position: relative;
	background-color: white;
}

main .headline.dubble .sub {
	font-weight: 700;
	font-size: 24px;
	line-height: 20px;
	color: #6aa4d9;
}

main .headline::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fbc3da;
  border-radius: 70px;
  top: 44px;
  left: 0;
}

main .headline.dubble::before {
  top: 80px;
}

/* main */
main {
  padding: 50px var(--container-padding);
  background-color: white;
}

/* header section */

body.scrolled .header {
  background-color: white;
  padding: 7px var(--container-padding);
  -webkit-box-shadow: 0px 18px 20px -7px rgba(66, 68, 90, 0.17);
  -moz-box-shadow: 0px 18px 20px -7px rgba(66, 68, 90, 0.17);
  box-shadow: 0px 18px 20px -7px rgba(66, 68, 90, 0.17);
}

body.scrolled .header .logo {
  height: 40px;
  margin-top: 0;
}

body.scrolled .header .navbar ul li.outlined {
  background-color: #7cafde;
}

body.scrolled .header .navbar ul li.outlined a {
  color: #fff;
}

body.scrolled .header .navbar ul li {
  font-size: 18px;
  line-height: 21px;
}

body.scrolled .header .navbar ul li.has-dropdown::before {
  content: "";
  position: absolute;
  width: 100%;
  top: 15px;
  height: 35px;
}

body.scrolled .header .navbar ul li .sub-menu {
  top: 40px;
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.header {
  display: flex;
  gap: 100px;
  justify-content: space-between;
  position: fixed;
  width: 100%;
  padding: 0 var(--container-padding);
  z-index: 10;
  transition: all 200ms;
}

.header .logo {
  background-image: url(../images/logo.svg);
  width: 300px;
  height: 134px;
  margin-top: 20px;
  background-size: contain;
  background-position: left;
  background-repeat: no-repeat;
  transition: all 200ms;
}

.header .navbar {
  display: flex;
}

.header .navbar ul {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 44px;
}

.header .navbar ul li {
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  line-height: 27px;
  color: #7cafde;
  position: relative;
}
.header .navbar ul li:focus-visible {
  border: none;
  text-decoration: none;
}

.header .navbar ul li:hover .sub-menu {
  display: block;
  position: absolute;
  top: 27px;
  background-color: white;
  padding: 10px;
  width: calc(100% + 55px);
  z-index: 5;
  border: 2px solid #d1e9ff;
  border-radius: 5px;
  left: -10px;
}

.header .navbar ul li.outlined {
  background-color: white;
  padding: 10px 20px;
  border-radius: 70px;
  transition: all 200ms;
}

.header .navbar ul li a {
  text-decoration: none;
  color: #7cafde;
  transition: all 200ms;
}

.header .navbar ul li a:focus-visible {
  border: none;
  text-decoration: none;
  outline: none;
}

.header .navbar ul li a:hover {
  color: #b9b9b9;
}

.header .navbar ul li .sub-menu {
  display: none;
}

.header .navbar ul li .sub-menu li a {
  font-size: 16px;
}

.header .hamburger {
	width: 40px;
	height: 40px;
	display: flex;
	gap: 5px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
  cursor: pointer;
  display: none;
}
.header .hamburger .bar {
	width: 80%;
	height: 3px;
	border-radius: 70px;
	background-color: #7cafde;
}

.header .navbar .menu li a.active .drop-down-icon svg path{fill: #ed6717;}
.header .navbar .hamburger{display: none; justify-content: center; align-items: center; gap: 7px; cursor: pointer;}
.header .navbar .hamburger .bar{height: 17px; width: 2px; background-color: black;}

.header .navbar .menu li:hover ul.hasdropdown{display: block; box-shadow: 0px 0px 5px #0000004f;}
.header .navbar .menu li a{position: relative; display: flex; gap: 10px; text-wrap: nowrap;}
.header .navbar .menu li:hover a::before{content: ''; position: absolute; width: 100%; height: 67px; position: absolute; top: 0; left: 0;}
.header .navbar .menu ul.hasdropdown {list-style: none;position: absolute;background-color: white;display: none;top: 35px;transform: translateX(0px);border-top: 2px solid #6aa4d9;border-radius: 2px; transition: all 250ms;}
.header .navbar .menu ul.hasdropdown li{position: relative; transition: all 250ms;}
.header .navbar .menu ul.hasdropdown li a {transition: all 250ms;}
.header .navbar .menu ul.hasdropdown ul{top: 0; left: 100%;}

body.scrolled .header .navbar .menu ul.hasdropdown{top: 50px; box-shadow: 0px 0px 5px #0000004f;}

.header .navbar .menu ul.hasdropdown li a{color: #666;font-size: 13px;font-style: normal;font-weight: 400;line-height: normal;letter-spacing: -0.195px;transition: all 250ms; padding: 10px 15px; width: 100%; text-transform: none;}
.header .navbar .menu ul.hasdropdown li:hover a{color: #363636;}
.header .navbar .menu ul.hasdropdown li:hover{background: #6aa4d9;} 
.header .navbar .menu ul.hasdropdown li:hover a{color: #fff;}

.header .navbar .menu ul.hasdropdown li a.awarded {color: #6aa4d9;}
.header .navbar .menu ul.hasdropdown li:hover a.awarded {color: #fff;}

.header .navbar .menu li.dropdown-link .drop-down-icon{display: none;}
.header .navbar .menu li.dropdown-link .drop-down-icon svg path{fill: #6aa4d9; transition: all 250ms;}

body.scrolled header .nav .menu li a{color: #292b29;}
body.scrolled header .nav .menu li.dropdown-link .drop-down-icon svg path{fill: #292b29;}

/* main banner */

.banner {
  width: 100%;
  height: 100vh;
  background: url(../images/banner/background.svg);
  background-size: 100% auto;
  background-position: right bottom;
  background-repeat: no-repeat;
  display: flex;
  padding: 0 var(--container-padding);
  padding-top: 30vh;
}

.banner .hero {
  max-width: 530px;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.banner .hero .title {
  font-weight: 700;
  font-size: 34px;
  line-height: 99.7%;
  color: #6aa4d9;
}

.banner .hero .title .big {
  font-weight: 700;
  font-size: 64px;
  line-height: 99.7%;
  color: #6aa4d9;
}

.banner .hero .description {
  font-style: normal;
  font-weight: 500;
  font-size: 28px;
  line-height: 99.7%;
  color: #8d8d8d;
  margin-top: 20px;
}

.banner .hero .description .smaller {
  font-size: 24px;
}

.banner .hero .btn {
  margin-top: 65px;
}

.banner .image {
  flex-grow: 1;
  position: relative;
}

.banner .image::before {
  content: "";
  background-image: url(../images/banner/chars.svg);
  width: 80%;
  height: 100%;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  right: 0px;
  top: 0px;
  animation-name: zoomer;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  opacity: 0.3;
}

@keyframes zoomer {
  0% {
    right: 350px;
    top: -150px;
    transform: scale(0.03);
    opacity: 0.3;
  }
  100% {
    right: 0px;
    top: 0px;
    transform: scale(1);
    opacity: 1;
  }
}

/* tiles section */
.tiles {
  background-color: #fff;
  display: flex;
  width: 100%;
  padding: 60px var(--container-padding);
  gap: 24px;
  position: relative;
}

.tiles::before {
  content: "";
  position: absolute;
  background-image: url(../images/tiles/sun.svg);
  right: 0;
  top: 10px;
  height: 173px;
  width: 241px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
}

.tiles .tile {
  background: #acd7ff;
  border-radius: 15px;
  padding: 15px;
  flex-basis: calc(33.3333% - 24px);
  transition: all 200ms;
}

.tiles .tile .content {
  border: 4px dashed #ffffff;
  border-radius: 15px;
  padding: 20px 10px;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  transition: all 200ms;
}

.tiles .tile:hover .content {
  transform: scale(1.05);
  background: #b9d9f8;
}

.tiles .tile .content .title {
  font-weight: 700;
  font-size: 24px;
  line-height: 99.7%;
  text-align: center;
  color: #ffffff;
}

.tiles .tile .content .description {
  font-weight: 600;
  font-size: 18px;
  line-height: 99.7%;
  text-align: center;
  color: #75a2ca;
}

/* lessons snippet */

.lessons-snippet {
  background-color: white;
  padding: 40px var(--container-padding);
  position: relative;
}

.lessons-snippet::before {
  content: "";
  background-image: url(../images/particles/stars.svg);
  position: absolute;
  top: 35px;
  left: 0;
  width: 299px;
  height: 100%;
  background-repeat: no-repeat;
  z-index: 0;
}

.lessons-snippet::after {
  content: "";
  background-image: url(../images/particles/stars2.svg);
  position: absolute;
  top: 150px;
  right: 0;
  width: 299px;
  height: 100%;
  background-repeat: no-repeat;
  z-index: 0;
}

.lessons-snippet .top {
  margin-bottom: 100px;
  display: flex;
}
.lessons-snippet .top .bar {
  height: 2px;
  width: 100%;
  background-color: #e6e6e6;
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1);
}

.lessons-snippet .top .title {
  font-weight: 600;
  font-size: 28px;
  line-height: 99.7%;
  text-align: center;
  color: #9bcaf4;
  padding: 0 20px;
  margin-top: -13px;
}

.lessons-snippet .lesson {
  display: flex;
  justify-content: space-between;
  position: relative;
  gap: 40px;
}

.lessons-snippet .lesson .image {
  height: 355px;
  max-width: 628px;
  width: 100%;
  transition: all 200ms;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.lessons-snippet .lesson .image img {
  transition: all 200ms;
}

.lessons-snippet .lesson .image:hover img {
  transform: scale(1.1);
}

.lessons-snippet .lesson .details {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 550px;
  width: 100%;
  justify-content: center;
  padding-right: 15px;
  margin-right: 40px;
}

.lessons-snippet .lesson .details .title {
  font-weight: 600;
  font-size: 27px;
  line-height: 99.7%;
  color: #6aa4d9;
}

.lessons-snippet .lesson .details .description {
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 99.7%;
  color: #999;
}

.lessons-snippet .button {
  margin-top: 50px;
  display: flex;
  justify-content: flex-end;
  z-index: 2;
  position: relative;
}

/* partners */
.partners {
  padding: 40px var(--container-padding);
  background-color: white;
  position: relative;
  z-index: 1;
}

.partners::before {
  content: "";
  background-image: url(../images/particles/stars3.svg);
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  height: 709px;
  background-repeat: no-repeat;
  z-index: 0;
  background-size: contain;
}

.partners .top {
  margin-bottom: 100px;
  display: flex;
}
.partners .top .bar {
  height: 2px;
  width: 100%;
  background-color: #e6e6e6;
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1);
}

.partners .top .title {
  font-weight: 600;
  font-size: 28px;
  line-height: 99.7%;
  text-align: center;
  color: #9bcaf4;
  padding: 0 20px;
  margin-top: -13px;
}

.partners .partner{
  display: flex;
  justify-content: center;
}

/* footer */
.footer-container {
  padding: 20px var(--container-padding);
  background-color: white;
  position: relative;
}

.footer-container::before {
  content: "";
  background-image: url(../images/particles/stars4.svg);
  position: absolute;
  left: -50px;
  width: 100vw;
  height: 212px;
  background-repeat: no-repeat;
  z-index: 0;
  background-size: contain;
}

.footer-container .footer {
  width: 100%;
  background: #daf2ff;
  border-radius: 15px;
  padding: 20px 50px;
  min-height: 375px;
  position: relative;
  z-index: 2;
}

.footer-container .footer .top {
  display: flex;
  justify-content: space-between;
  border-bottom: 3px solid rgba(124, 175, 222, 0.19);
  padding-bottom: 20px;
  gap: 25px;
}

.footer-container .footer .top .logo {
  background-image: url(../images/logo.svg);
  width: 300px;
  height: 134px;
  margin-top: 20px;
  background-size: contain;
  background-position: left;
  background-repeat: no-repeat;
  transition: all 200ms;
}
.footer-container .footer .top .description {
  font-style: normal;
  font-weight: 400;
  font-size: 23px;
  line-height: 99.7%;
  color: #666666;
  margin-top: 20px;
}

.footer-container .footer .top .details {
  display: flex;
  gap: 65px;
}

.footer-container .footer .top .details .column {
  display: flex;
  flex-direction: column;
  gap: 45px;
}
.footer-container .footer .top .details .column .map{
  width: 100%;
}

.footer-container .footer .top .details .column .block {
  max-width: 350px;
  width: 100%;
}

.footer-container .footer .top .details .column .block.social{display: flex; gap: 15px; align-items: center;}

.footer-container .footer .top .details .column .block.social svg{width: 19px; height: 19px; fill: #7cafde;}
.footer-container .footer .top .details .column .block.social .text a{display: flex; align-items: center; gap: 5px;}

.footer-container .footer .top .details .column .block .title {
  font-style: normal;
  font-weight: 700;
  font-size: 24px;
  line-height: 38px;
  color: #7cafde;
  margin-bottom: 20px;
  position: relative;
}

.footer-container .footer .top .details .column .block .title .separator {
  height: 2px;
  background-color: #ffcce1;
  position: relative;
  display: block;
}

.footer-container .footer .top .details .column .block .text {
  font-weight: 400;
  font-size: 17px;
  line-height: 112.2%;
  color: #767676;
}

.footer-container .footer .top .details .column .block .text a,
b {
  text-decoration: none;
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 112.2%;
  color: #767676;
}

.footer-container .footer .bottom {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.footer-container .footer .bottom .footer-menu {
  padding-top: 15px;
}

.footer-container .footer .bottom .footer-menu ul {
  list-style: none;
  display: flex;
  gap: 18px;
}

.footer-container .footer .bottom .footer-menu ul li a {
  text-decoration: none;
  font-style: normal;
  font-weight: 600;
  font-size: 16px;
  line-height: 26px;
  color: #7cafde;
}

.footer-container .footer .bottom .copyright {
  text-decoration: none;
  font-style: normal;
  font-weight: 600;
  font-size: 16px;
  line-height: 26px;
  color: #7cafde;
  padding-top: 15px;
}

/* page title */

.pageTitle {
  width: 100%;
  max-height: 300px;
  height: 230px;
  position: relative;
  background-color: white;
}

.pageTitle::before {
  content: "";
  background-image: url(../images/template-up.svg);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: bottom;
}

/* image-text */
.image-text {
  padding: 50px var(--container-padding);
  background-color: white;
  display: flex;
  gap: 120px;
  justify-content: space-between;
  position: relative;
}

.image-text::before {
	content: '';
	background-image: url('../images/particles/particle-sub.svg');
	width: 100%;
	height: 365px;
	position: absolute;
	right: 0;
	top: 0;
	background-position: right;
	background-size: contain;
	max-width: 365px;
	background-repeat: no-repeat;
}

.image-text.reversed {
  flex-direction: row-reverse;
}

.image-text .splide__pagination {
  bottom: 1.5em !important;
}

.image-text .splide__pagination__page.is-active {
  background-color: #7cafde !important;
  border: 1px solid #fff;
}

.image-text .splide__track {
  border-radius: 15px;
}

.image-text .splide__pagination__page {
  background-color: #fff !important;
  border: 1px solid #c8c8c8;
}

.image-text .images {
  background: transparent;
  border-radius: 10px;
  max-width: 730px;
  width: 100%;
  height: 380px;
  position: relative;
  padding: 0px 20px;
}

.image-text .images::before {
  content: "";
  width: calc(100% - 30px);
  height: 100%;
  position: absolute;
  top: 20px;
  left: 0px;
  background: #daf2ff;
  border-radius: 15px;
}

.image-text .images .image {
  height: 410px;
  max-width: 730px;
  width: 100%;
  top: -10px;
  right: -10px;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

.image-text .texts {
  display: flex;
  flex-direction: column;
  max-width: 550px;
  width: 100%;
}

.image-text .texts .title {
  display: flex;
  flex-direction: column;
  gap: 1px;
  position: relative;
}

.image-text .texts .title::before {
  content: "";
  background-color: #fbc3da;
  height: 2px;
  width: 60%;
  top: 62px;
  left: 0;
  position: absolute;
}

.image-text .texts .title.single::before {
	content: "";
	background-color: #fbc3da;
	height: 2px;
	width: 67%;
	top: 44px;
	left: 0;
	position: absolute;
}

.image-text .texts .title .default {
  font-style: normal;
  font-weight: 800;
  font-size: 21px;
  line-height: 27px;
  color: #6aa4d9;
}

.image-text .texts .title .big {
  font-style: normal;
  font-weight: 800;
  font-size: 36px;
  line-height: 31px;
  color: #6aa4d9;
}

.image-text .texts .mention {
	font-weight: 600;
	font-size: 22px;
	line-height: 30px;
	color: #7cafde;
	margin-top: 20px;
	margin-bottom: 15px;
}

.image-text .texts .mention.inline {
  font-weight: 600;
  font-size: 24px;
  line-height: 27px;
  color: #7cafde;
  margin-top: 30px;
  margin-bottom: 15px;
}

.image-text .texts .list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.image-text .texts .list .item {
  font-weight: 400;
  font-size: 18px;
  line-height: 19px;
  color: #8d8d8d;
  text-align: justify;
}

.image-text .texts .price {
	background: #fbc3da;
	border-radius: 23px;
	padding: 20px;
	color: #fff;
	max-width: 85%;
	margin-top: 35px;
	margin-left: -20px;
}

.image-text .texts .price .headline {
	font-weight: 600;
	font-size: 22px;
	line-height: 22px;
	color: #ffffff;
}

.image-text .texts .price .description {
  font-weight: 600;
  font-size: 20px;
  line-height: 32px;
  color: #ffffff;
}

/* facilities-container */
.facilities-container {
  padding: 50px var(--container-padding);
  background-color: white;
  padding-bottom: 100px;
}

.facilities-container .section-title {
	font-style: normal;
	font-weight: 800;
	font-size: 36px;
	line-height: 48px;
	color: #6aa4d9;
	margin-bottom: 20px;
	position: relative;
}

.facilities-container .section-title .separator {
  height: 2px;
  background-color: #ffcce1;
  position: relative;
  display: block;
}

.facilities-container .subtitle {
	margin-top: 30px;
	font-weight: 700;
	font-size: 23px;
	line-height: 45px;
	color: #fd7fb4;
}

.facilities-container .item-list {
  max-width: 1300px;
  width: 100%;
  display: flex;
  row-gap: 19px;
  column-gap: 13px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.facilities-container .item-list .item {
	max-width: 310px;
	width: 100%;
	height: 90px;
	background: #ffffff;
	box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.15);
	border-radius: 10px;
	text-align: center;
	font-weight: 500;
	font-size: 18px;
	line-height: 19px;
	color: #7e7e7e;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 200ms;
	cursor: pointer;
}

.facilities-container .item-list .item:hover {
  background: #acd7ff;
  color: #fff;
}

.facilities-container .item-list .item.active {
  background: #acd7ff;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
}

/* personel */

.personel-container {
  padding: 50px var(--container-padding);
  display: flex;
  row-gap: 40px;
  flex-wrap: wrap;
  background-color: #fff;
  column-gap: 90px;
}

.personel-container .person {
  flex-basis: calc(33.3333% - 90px);
  min-height: 243px;
  height: auto;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  justify-content: center;
  align-items: flex-start;
  padding: 50px;
  background-color: #daf2ff;
}

.personel-container .person .name {
  font-weight: 600;
  font-size: 28px;
  line-height: 99.7%;
  color: #82bef5;
}

.personel-container .person .separator {
  width: 100%;
  height: 2px;
  background-color: #aeddff;
}

.personel-container .person .description {
  font-weight: 400;
  font-size: 20px;
  line-height: 99.7%;
  color: #7e7e7e;
}

.personel-container .person:nth-child(1) {
  background-color: #e8c4d3;
}

.personel-container .person:nth-child(1) .name {
  color: #fff;
}

.personel-container .person:nth-child(1) .separator {
  background-color: #d8b4b4;
}

.personel-container .person:nth-child(1) .description {
  color: #fff;
}

/* cards lessons */
.cards-container {
  padding: 80px 0;
  display: flex;
  row-gap: 30px;
  column-gap: 90px;
  flex-wrap: wrap;
}

.cards-container .card {
  padding: 35px 50px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;
  justify-content: space-between;
  flex-basis: calc(33.3333% - 90px);
  background: #daf2ff;
  border-radius: 10px;
}

.cards-container .card.hidden {
  display: none;
}

.cards-container .card.hidden.active {
  display: flex;
}

.cards-container .card .icon {
  height: 75px;
  width: 75px;
}

.cards-container .card .icon img {
  width: 100%;
  height: 100%;
}

.cards-container .card .lesson {
  font-style: normal;
  font-weight: 600;
  font-size: 23px;
  line-height: 99.7%;
  color: #82bef5;
}

.cards-container .card .description {
  font-weight: 400;
  font-size: 18px;
  line-height: 99.7%;
  color: #7e7e7e;
}

/* gallery */

/* gallery */
/* Kontener siatki */
.gallery-container {padding: 60px 0px;display: grid;grid-template-columns: repeat(4, 1fr); /* zawsze 4 w rzędzie na desktopie */gap: clamp(8px, 1.2vw, 16px);}
.gallery-container .tile {position: relative;overflow: hidden;border-radius: 6px;background: #f3f4f6;box-shadow: 0 1px 2px rgba(0,0,0,.06);}
.gallery-container .tile::before {content: "";display: block;padding-top: 66.6667%; /* proporcja ~3:2 */}
.gallery-container .tile > a,
.gallery-container .tile > a > img {position: absolute;inset: 0;width: 100%;height: 100%;display: block;}
.gallery-container .tile > a > img {object-fit: cover;transition: transform .35s ease, filter .35s ease;}
.gallery-container .tile:hover > a > img {transform: scale(1.04);filter: saturate(1.02);}

.gallery-pagination{
    display:flex;
    gap:8px;
    justify-content:center;
    align-items:center;
    margin:28px 0;
    flex-wrap:wrap;
    font-family:inherit;
    line-height:1;
}

.gallery-pagination .page{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:36px;
    height:36px;
    padding:0 10px;
    border-radius:8px;
    text-decoration:none;
    color:var(--text-color,#333);
    background:var(--muted-bg,#f6f6f6);
    border:1px solid rgba(0,0,0,0.06);
    transition:background .12s ease, transform .08s ease, color .12s ease;
    box-sizing:border-box;
}

.gallery-pagination .page svg{ display:block; }

.gallery-pagination .page:hover:not(.disabled):not(.current){
    background:var(--muted-hover,#eaeaea);
    transform:translateY(-2px);
}

.gallery-pagination .page.current{
    background:var(--accent,#222);
    color:var(--accent-foreground,#fff);
    border-color:var(--accent,#222);
    font-weight:600;
    cursor:default;
    pointer-events:none;
}

.gallery-pagination .page.disabled{
    opacity:.45;
    pointer-events:none;
    background:transparent;
    transform:none;
}

.gallery-pagination .prev,
.gallery-pagination .next{
    width:42px;
    height:36px;
    padding:0;
    border-radius:8px;
}

/* compact view for many pages: hide some page numbers via CSS variable if frontend decides */
@media (max-width:640px){
    .gallery-pagination { gap:6px; margin:20px 0; }
    .gallery-pagination .page { min-width:32px; height:32px; border-radius:6px; padding:0 8px; font-size:0.95rem; }
    .gallery-pagination .prev, .gallery-pagination .next { width:36px; height:32px; }
}

/* optional utility: visually-hidden for accessibility */
.gallery-pagination .sr-only{
    position:absolute !important;
    width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* pagination */

.pagination {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.pagination .item {
  font-weight: 600;
  font-size: 20px;
  line-height: 99.7%;
  text-align: center;
  color: #ffffff;
  padding: 10px 20px;
  background: #fbc3da;
  border-radius: 70px;
  cursor: pointer;
  transition: all 200ms;
  text-decoration: none;
}

.pagination .item.disabled {
  background: #969394fa;
  cursor: unset;
}

.pagination .item:hover.disabled {
  background: #969394fa;
}

.pagination .item:hover {
  background-color: #f397bd;
}

/* contact */

.contact-tiles-container {
  padding: 50px 0;
  background-color: white;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.contact-tiles-container .tile {
  flex-basis: calc(33.3333% - 20px);
  padding: 20px 25px;
  background: #d3eaff;
  border-radius: 10px;
  display: flex;
  gap: 20px;
  text-decoration: none;
  transition: all 200ms;
  min-width: 390px;
}
.contact-tiles-container .tile:hover {
  background: #aed8ff;
}

.contact-tiles-container .tile:hover .contact .mainLine {
  color: #e7f5fc;
}

.contact-tiles-container .tile:hover .contact .subLine {
  color: #e7f5fc;
}

.contact-tiles-container .tile .icon {
  width: 50px;
  height: 50px;
}

.contact-tiles-container .tile .icon img {
  width: 100%;
  height: 100%;
}
.contact-tiles-container .tile .contact {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
}

.contact-tiles-container .tile .contact .mainLine {
	font-weight: 700;
	font-size: 19px;
	line-height: 87.7%;
	color: #7cafde;
	transition: all 200ms;
}

.contact-tiles-container .tile .contact .subLine {
  font-family: "Baloo 2";
  font-style: normal;
  font-weight: 800;
  font-size: 16px;
  line-height: 87.7%;
  color: #7cafde;
  transition: all 200ms;
}

/* contact forms */
.contact-form-container {
  background-color: white;
  margin-bottom: 30px;
}

.contact-form-container .subTitle {
	font-weight: 800;
	font-size: 24px;
	line-height: 30px;
	color: #fd7fb4;
	padding-bottom: 30px;
}

.contact-form-container form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-width: 1200px;
  width: 100%;
}

.contact-form-container form input,
.contact-form-container form textarea {
  background: #ffffff;
  border-radius: 5px;
  padding: 10px;
  border: 2px solid #ededed;
  font-weight: 400;
  font-size: 16px;
  line-height: 25px;
  color: #6c6c6c;
}

textarea {
  font-family: inherit;
  font-size: inherit;
}

.contact-form-container form textarea {
  width: calc(100% - 35px);
}

.contact-form-container form .topic {
  width: 50%;
}

.contact-form-container form .topic input {
  width: calc(100% - 25px);
}

.contact-form-container form .details {
  display: flex;
  gap: 15px;
}

.contact-form-container form .details input {
  flex-basis: calc(50% - 25px);
}

.contact-form-container form .submit input {
  border-radius: 10px;
  padding: 10px 30px;
  color: #fff;
}

/* maps */

.map-container {
  height: 500px;
  padding: 50px 0;
  width: 100%;
}

.map-container .map {
  width: 100%;
  height: 100%;
}

#map {
  height: 400px;
  max-width: 100%;
  position: relative;
  max-height: 400px;
  overflow: hidden;
  border-radius: 10px;
  z-index: 1;
}

.contact-form-container form .rules{display: flex; gap: 20px;}
.contact-form-container form .rules label{max-width: 700px; width: 100%; display: flex;gap: 10px;}

.contact-form-container form .rules .text{
    font-size: 13px;
    color: #717171;
    line-height: 16px;
}

/* policy */
main.policy h1{
  line-height: 100%;
}
main.policy p{
padding-left: 1rem;
}

main.policy ul{
  padding-left: 3rem;
}


.error { color: red; font-size: 0.9em; }
.success { color: green; font-size: 1em; margin-top: 1em; }

.contact-form .form-container{display: flex; flex-direction: column; align-items: center; gap: 60px;}
    /* Kontener formularza */
#contactForm{width: 100%;max-width: 720px;display: grid;gap: 16px;}

/* Etykiety jako kolumny */
#contactForm > label{display: grid;gap: 8px;font-weight: 600;color: #292b29; /* ciemny grafit */}

/* Pola tekstowe */
#contactForm input[type="text"],
#contactForm input[type="email"],
#contactForm input[type="tel"],
#contactForm textarea{appearance: none;width: 100%;padding: 12px 14px;border: 1px solid #e5e7eb; /* szary border */border-radius: 6px;background: #ffffff;color: #292b29;font: inherit;line-height: 1.5;outline: none;transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;}

/* Placeholder */
#contactForm ::placeholder{ color: #9ca3af; font-weight: 400;}

/* Hover */
#contactForm input:hover,
#contactForm textarea:hover{border-color: #d1d5db;}

/* Focus */
#contactForm input:focus-visible,
#contactForm textarea:focus-visible{border-color: #fd7fb4;             /* niebieski */box-shadow: 0 0 0 4px rgba(206, 206, 206, 0.15);}

/* Textarea rozmiar */
#contactForm textarea{min-height: 140px;resize: vertical;}

/* Błędy */
#contactForm .error{font-weight: 500;font-size: .9rem;line-height: 1.4;color: #b91c1c;            /* czerwony tekst */background: #fee2e2;       /* jasne tło błędu */border: 1px solid #fecaca; /* obwódka błędu */padding: 8px 10px;border-radius: 10px;}
#contactForm .error:empty{ display: none; }

/* Podświetl pole z błędem (dzięki :has) */
#contactForm > label:has(.error:not(:empty)) input,
#contactForm > label:has(.error:not(:empty)) textarea{border-color: #dc2626;box-shadow: 0 0 0 4px rgba(220, 38, 38, .12);}

/* reCAPTCHA centrowanie */
#contactForm .g-recaptcha{display: flex;}
#errorCaptcha{ margin-top: 6px; }

/* Przycisk wyślij */
#contactForm button[type="submit"]{width: fit-content; border: 0; cursor: pointer; background-color: #7cafde; transition: all 250ms; border-radius: 30px;}
#contactForm button[type="submit"]:hover{background-color: #4b89c2;}

/* Komunikat globalny */
#responseMsg{display: none;margin-top: 4px;padding: 12px 14px;border-radius: 10px;font-weight: 600; width: 100%;}
#responseMsg.success{display: block;color: #065f46;background: #dcfce7;border: 1px solid #86efac;}
#responseMsg.error{display: block;color: #7f1d1d;background: #fee2e2;border: 1px solid #fecaca;}

/* Disabled */
#contactForm input:disabled,
#contactForm textarea:disabled{background: #f3f4f6;color: #9ca3af;cursor: not-allowed;}
#contactForm button[disabled]{opacity: .6;cursor: not-allowed;transform: none;box-shadow: none;}

/* --- Zgoda (consent) --- */
#contactForm .consent{display: grid;grid-template-columns: 20px 1fr;align-items: start;gap: 10px;font-weight: 600; /* tytuł etykiety */}

/* Checkbox – większy, z akcentem */
#contactForm .consent input[type="checkbox"]{width: 18px;height: 18px;margin-top: 3px; /* wyrównanie do linii tekstu */accent-color: #7cafde;}

/* Tekst zgody – lżejszy */
#contactForm .consent span{font-weight: 500;color: #374151;line-height: 1.55;  font-size: 14px;}
#contactForm .consent span a{color: #fd7fb4;text-underline-offset: 2px;}
#contactForm .consent span a:hover{text-decoration: underline;}

/* Konsent – błąd pod spodem */
#contactForm .consent .error{grid-column: 1 / -1;}

/* gallery-categories */
.gallery-categories{display: flex; gap: 8px; margin-top: 60px; flex-wrap: wrap;}
.gallery-categories .gallery{ padding: 10px 20px;border: 1px solid;border-radius: 30px;font-size: 14px; background: transparent; color: #717171; text-decoration: none; transition: all 250ms;}
.gallery-categories .gallery:hover{background-color: #3b75aa; color: white;}
.gallery-categories .gallery.active{background-color: #3b75aa; border-color: #3b75aa; color: #fff;}


/* Responsywność */
@media (max-width: 480px){
  #contactForm{ gap: 14px; }
  #contactForm button[type="submit"]{width: 100%;justify-content: center;}
}

/* Preferencje dostępności: mniej ruchu */
@media (prefers-reduced-motion: reduce){
  #contactForm *{ transition: none !important; }
}


/* media query */
@media screen and (max-width: 1810px) {
  /* menu */
  .header .navbar ul{gap: 35px;}

  /* header logo */
  body.scrolled .header .logo{width: 120px;}
}

@media screen and (max-width: 1550px){
  .header .logo{width: 260px;}
  .header .navbar ul li{font-size: 16px;}

  .image-text .images .image{
    height: 370px;
    background-size: cover !important;
  }

  .image-text{gap: 60px;}

}

@media screen and (max-width: 1450px){
  /* footer */
  .footer-container .footer .top .details{gap: 25px;}

  /* pageTitle */
  .pageTitle{height: 160px;}
  .pageTitle::before{background-position: top;}

  /* cards */
  .cards-container{column-gap: 60px;}
  .cards-container .card{flex-basis: calc(33.3333% - 60px);}
}

@media screen and (max-width: 1366px){
  :root{
    --container-padding:clamp(0.938rem, -2.082rem + 13.419vw, 9.375rem); /*clamp(0.625rem, -2.506rem + 13.917vw, 9.375rem); /*150px ->10px*/
  }

  /* header */
  .header{gap: 25px;}

  /* footer */
  .footer-container .footer .top .logo{width: 220px;}
  .footer-container .footer .top .description{font-size: 17px; margin-top: 0;}

  /* image text */
  .image-text .texts .price .description{font-size: 17px;}
}

@media screen and (max-width: 1250px){
  /* header logo */
  .header .logo{width: 185px; height: 90px; margin-top: 10px;}
  .header .navbar ul{gap: 25px;}

  /* footer  */
  .footer-container .footer .bottom{flex-direction: column; gap: 10px;}
  .footer-container .footer .bottom .copyright{padding-top: 0;}
  .footer-container .footer .top .logo{margin-top: 0;}

  /* lesson snippet section */
  .lessons-snippet .lesson{flex-direction: column; margin-top: 30px;}
  .lessons-snippet .lesson.reversed{flex-direction: column-reverse;}
  .lessons-snippet::before{content: none;}
  .lessons-snippet::after{content: none}
  .lessons-snippet .button{justify-content: flex-start;}

  /* image-text */
  .image-text::before {opacity: 0.5; height: 200px;}

  /* cards */
  .cards-container{column-gap: 30px;}
  .cards-container .card{flex-basis: calc(33.3333% - 30px);}

}


@media screen and (max-width: 1100px){
  /* header */
  .header{flex-direction: column; justify-content: center; align-items: center; gap: 5px;}
  .header .logo{width: 185px; height: 60px; margin-top: 10px;}
  .header .navbar ul li.outlined{padding: 4px 9px;}

  /* page title */
  .pageTitle::before{background-size: auto;}
}

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

  .page-content{padding: 60px 30px;}

  .gallery-container {grid-template-columns: repeat(3, 1fr); padding: 60px 0px;}
  


  /* tiles section */
  .tiles{flex-wrap: wrap; position: relative; z-index: 1;}
  .tiles .tile{flex-basis: calc(50% - 12px);}

  
  /* footer   */
  .footer-container .footer .top{flex-direction: column;}
  .footer-container .footer .top .summary{
      display: flex;
      justify-content: center;
      align-content: center;
      flex-direction: column;
  }

  .footer-container .footer{
    padding: 20px 30px;
  }

  /* icon-text  */
  .image-text.reversed,
  .image-text{
    flex-direction: column;
  }
  .image-text .images::before {
    left: -20px;
  }
  .image-text .images{
    padding: 0;
  }

  .facilities-container .item-list .item{flex-basis: calc(33.3333% - 13px);}


  /* cards */
  .cards-container .card{flex-basis: calc(50% - 15px);}
}

@media screen and (max-width: 850px){
  .footer-container .footer .bottom .footer-menu ul li a,
  .footer-container .footer .bottom .copyright
  {
    font-size: 14px;
    line-height: 23px;
  }
  .footer-container .footer .bottom .footer-menu ul{gap: 10px;}

  /* lessons snippet */
  .lessons-snippet .lesson .image{
    height: 260px;
  }
  .lessons-snippet .lesson .image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .lessons-snippet .top{
    margin-bottom: 60px;
  }

  /* faciltities container */
  .facilities-container .item-list .item{flex-basis: calc(50% - 10px); padding: 10px;}
  

  /* text image */
  .image-text .texts .price .description{font-size: 15px; line-height: 20px;}
}

@media screen and (max-width: 767px){
  .contact-form-container{margin-bottom: 0;}

  /* header */
  .header .hamburger{display: flex;}
  .header{flex-direction: row; background-color: white; height: 50px; justify-content: space-between; overflow: hidden;}
  .header .navbar ul li:hover .sub-menu,
  .header .navbar ul li .sub-menu {
    position: relative;
    top: 5px !important;
    border: none;
    box-shadow: none;
    display: flex;
    padding: 0;
    padding-left: 10px !important;
    left: 0 !important;
  }
  .header .navbar {
    display: flex;
    position: fixed;
    width: 310px;
    /* left: 50%; */
    z-index: 2;
    top: 50px;
    /* transform: translateX(-50%); */
    right: -100%;
    transition: all 200ms;
  }
  .header .navbar.active{
    right: 0;
  }
  .header .navbar ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    background-color: white;
    padding: 20px;
    width: 250px;
    /* margin: 0 auto; */
    /* width: calc(100% - 2 * var(--container-padding) + 10px); */
    /* right: 0; */
  }
  .header .logo {width: 85px;height: 35px;margin-top: 0px; z-index: 3;}
  .banner .hero{position: relative; height: 100%; justify-content: center;}
  .banner .image{position: absolute; left: 0; width: 100%; height: 100%; top: 0;}
  .banner .image::before{background-position: bottom; width: 34%; height: 40%; left: var(--container-padding);}
  .header .navbar ul li.outlined{padding: 0;}
  .header .navbar ul{-webkit-box-shadow: -1px 2px 2px 0px rgba(66, 68, 90, 0.14);
    -moz-box-shadow: -1px 2px 2px 0px rgba(66, 68, 90, 0.14);
    box-shadow: -1px 2px 2px 0px rgba(66, 68, 90, 0.14);}
  body.scrolled .header .navbar ul li{font-size: 18px; line-height: 27px;}
  body.scrolled .header .navbar ul li.outlined{background-color: white; padding: 0;}
  body.scrolled .header .navbar ul li.outlined a{color: #7cafde;}


  /* footer */
  .footer-container .footer .bottom .footer-menu ul{flex-wrap: wrap; gap: 10px; row-gap: 0px;}

  
  /* tiles section */
  .tiles .tile{flex-basis: 100%;}

  /* page title */
  .pageTitle{height: 70px;}

  /* facilities container */
  .facilities-container .item-list .item{font-size: 14px; line-height: 15px;}


  /* cards */
  .cards-container .card{padding: 30px 25px;}

  /* gallery */
  .gallery-container .tile{
    height: 300px;
    flex-basis: calc(50% - 6px);
  }

  /* personel */
  .personel-container{column-gap: 30px; width: 100%;}
  
  .personel-container .person{flex-basis: calc(50% - 15px); padding: 20px;}
}

@media screen and (max-width: 650px){
  .gallery-container {grid-template-columns: repeat(2, 1fr);}


  .footer-container .footer .top .details{flex-direction: column;}
  .footer-container .footer .top .details .column{gap: 20px;}
  .footer-container .footer .top .details .column .map{object-fit: scale-down;}

    /* personel */
    .personel-container{column-gap: 30px;}
    .personel-container .person{flex-basis: calc(50% - 15px);}
}

@media screen and (max-width: 550px){
  /* main banner */
  .banner .image::before {
    background-position: center bottom;
    width: 45%;
    height: 35%;
    left: var(--container-padding);
  }

  /* cards */
  .cards-container{column-gap: 15px;}
  .cards-container .card{flex-basis: calc(50% - 10px);}
}

@media screen and (max-width: 500px){
  /* cards */
  .cards-container .card{flex-basis: 100%;}

  /* gallery */
  .gallery-container .tile{height: 200px;}

  /* personel */
  .personel-container{column-gap: 10px; row-gap: 20px;}
  .personel-container .person{flex-basis: 100%; min-height: 180px; padding: 10px 20px;}


  .contact-tiles-container .tile{min-width: 100%; flex-basis: 100%;}
  .contact-form-container form .details{flex-wrap: wrap;}
  .contact-form-container form .details input{flex-basis: 100%;}
  .contact-form-container form .topic input{width: 100%;}
  .contact-form-container form .topic{width: 100%;}
  .contact-form-container form textarea{width: 100%;}
}

@media screen and (max-width: 450px){
    /* main banner */
  .banner .image::before {
    background-position: center bottom;
    width: 100%;
    height: 35%;
    left: var(--container-padding);
    max-width: 200px;
  }

  /* navbar */
  .header .navbar{width: 200px;}
  .header .navbar ul{width: 100%;}

  /* footer */
  .footer-container{padding: 20px 0;}
  .footer-container .footer{padding: 30px;}

  /* image text */
  .image-text .images::before{left: -10px; width: calc(100% + 20px);}
  .image-text .texts .price{margin-left: 0;}
  .image-text .images{height: 220px;}
  .image-text .images .image{height: 220px;}
  .image-text .texts .price{max-width: 100%;}
  .image-text .texts .title::before{width: 100%;}
  .image-text .texts .title.single::before{width: 100%; top: 45px;}
  
}

@media screen and (max-width: 370px){
  main .headline.dubble::before{top: 120px;}
}

@media screen and (max-width: 366px){
  .image-text .texts .title.single::before{
    top: 75px;
  }
}

@media screen and (max-width: 355px){
  .image-text .texts .title.single::before{
    top: 75px;
  }
}

