h1, h2, h3, h4, h5, h6,
.select-program,
.select-residence {
    scroll-margin-top: 100px;
}

.select-program, .select-residence {
    margin-top: 15px;
    margin-bottom: 25px;
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
}

p + .select-program,
p + .select-residence {
    margin-top: 40px !important;
}

.school-select-program, .school-select-residence {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    margin-bottom: 16px;
    box-shadow: 10px 10px 30px 0px #D1D9EB;
    border-radius: 27px;
    background: #FAFCFD;
    min-height: auto;
    height: auto;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
}

.school-select-program:hover, .school-select-residence:hover {
    transform: translateY(-2px);
    box-shadow: 10px 15px 35px 0px rgba(209, 217, 235, 0.8);
    background-color: #ffffff;
}

.school-select-program:has(input:checked) .radio-input label,
.school-select-residence:has(input:checked) .radio-input label {
    color: #EF6860;
}

.school-select-program .radio-input, .school-select-residence .radio-input {
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    padding-left: 94px;
    padding-top: 16px;
    padding-bottom: 16px;
    grid-column: 1;
}

.school-select-program .radio-input label, .school-select-residence .radio-input label {
    font-family: Geologica, sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 30px;
    letter-spacing: -1.2px;
    color: #073248;
    max-width: 560px;
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 0;
    vertical-align: middle;
    display: inline-block;
}

.school-select-program svg, .school-select-residence svg {
    transition: transform 0.3s ease-in-out;
}

.school-select-program.opened svg, .school-select-residence.opened svg {
    transform: rotate(90deg);
}

.school-select-program .expand-icon, .school-select-residence .expand-icon {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
    user-select: none;
    margin-right: 24px;
    grid-column: 2;
}

.school-select-program .expand-icon img,
.school-select-residence .expand-icon img {
    display: none !important;
}

.school-select-program .expand-icon span,
.school-select-residence .expand-icon span {
    display: block !important;
}

.school-select-program .expand-icon svg,
.school-select-residence .expand-icon svg {
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    transition: transform 0.25s ease;
}

.school-select-program.opened .expand-icon svg,
.school-select-residence.opened .expand-icon svg {
    transform: rotate(-90deg);
}

.school-select-program .expand-icon::after,
.school-select-residence .expand-icon::after {
    display: none !important;
}

/* Плавное раскрытие описания и цены */
.school-select-program .course-description,
.school-select-residence .course-description {
    display: block !important;
    grid-column: 1 / span 2;
    margin-left: 94px;
    margin-top: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.4s ease, margin-top 0.4s ease;
}

.school-select-program.opened .course-description,
.school-select-residence.opened .course-description {
    margin-top: 20px;
    max-height: 1000px;
    opacity: 1;
}

.school-select-program .price,
.school-select-residence .price {
    display: block !important;
    grid-column: 1 / span 2;
    margin-left: 94px;
    margin-top: 0;
    margin-bottom: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    background: rgba(239, 104, 96, 0.1);
    color: #EF6860;
    border-radius: 10px;
    font-family: Geologica, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: -0.65px;
    padding: 8px 12px;
    width: fit-content;
    transition: max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.4s ease, margin-top 0.4s ease, margin-bottom 0.4s ease;
}

.school-select-program.opened .price,
.school-select-residence.opened .price {
    margin-top: 20px;
    margin-bottom: 20px;
    max-height: 200px;
    opacity: 1;
}

/* Цвет SVG-шеврона при ховере, checked и opened */
.school-select-program .expand-icon svg path,
.school-select-residence .expand-icon svg path {
    stroke: #BAC4D6;
    transition: stroke 0.3s ease;
}

.school-select-program:hover .expand-icon svg path,
.school-select-residence:hover .expand-icon svg path,
.school-select-program.opened .expand-icon svg path,
.school-select-residence.opened .expand-icon svg path,
.school-select-program:has(input:checked) .expand-icon svg path,
.school-select-residence:has(input:checked) .expand-icon svg path {
    stroke: #EF6860;
}

.styled-radio input[type="radio"]:checked + .header {
    color: var(--orange);
}

.styled-radio input[type="radio"]:checked ~ div.price {
    background-color: var(--orange);
}

.styled-radio input {
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.styled-radio .checkmark {
    height: 32px;
    width: 32px;
    background-color: #f8dfdd;
    border-radius: 50%;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 32px;
    transition: background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.styled-radio:hover input ~ .checkmark {
    background-color: #EF6860;
    display: inline-block;
}

.styled-radio input:checked ~ .checkmark {
    background-color: #EF6860;
    color: white;
    display: inline-block;
}

.styled-radio .checkmark:after {
    content: "";
    display: none;
}

.styled-radio input:checked ~ .checkmark:before {
    content: "\2713";
    font-size: 24px;
    text-align: center;
    display: block;
    line-height: 32px;
}

.styled-radio .checkmark:after {
    top: 5px;
    left: 5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}

.styled-radio.small-radio .checkmark {
    top: 2px;
    left: 4px;
    height: 14px;
    width: 14px;
}

.styled-radio.small-radio .checkmark:after {
    top: 3px;
    left: 3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: white;
}

.styled-radio label {
    user-select: none;
    color: #000000;
    font-weight: 700;
    cursor: pointer;
    padding-left: 20px;
}

.aside-basket {
    display: flex;
    flex-direction: column;
    min-width: 424px;
    border: 1px solid rgba(128, 128, 128, 0.21);
    margin-bottom: 20px;
}

.aside-basket .not-selected-notification {
    display: none;
    padding: 30px 24px 36px 24px !important;
    border-radius: 30px !important;
    box-shadow: 10px 10px 30px 0px #D1D9EB !important;
    background: #FFFFFF !important;
    border: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

.aside-basket.program-unselected > *:not(.not-selected-notification), .aside-basket.program-unselected > *:not(.total) {
    display: none !important;
}

.aside-basket.program-unselected > .not-selected-notification {
    display: flex !important;
}

.aside-basket.program-unselected > .total {
    display: block !important;
}

.aside-basket .not-selected-notification span {
    font-family: 'Geologica', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 20px !important;
    letter-spacing: -0.4px !important;
    color: #EF6860 !important;
    margin-bottom: 16px !important;
    display: block !important;
}

.aside-basket .not-selected-notification .select-program-link {
    font-family: 'Geologica', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 27px !important;
    letter-spacing: -0.74px !important;
    text-align: center !important;
    color: #FFFFFF !important;
    background: #EF6860 !important;
    border-radius: 16px !important;
    height: 48px !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.aside-basket .not-selected-notification .select-program-link:hover {
    background-color: #f17b74 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(239, 104, 96, 0.2) !important;
}

.aside-basket .not-selected-notification .select-program-link span {
    font-family: 'Geologica', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 27px !important;
    letter-spacing: -0.74px !important;
    color: #FFFFFF !important;
    margin: 0 !important;
}

.aside-basket .selected-accomodation {
    margin: 15px 0px;
}

.select-program-link {
    display: flex;
    color: white;
    background: var(--orange);
    border-radius: 12px;
    width: 100%;
    height: 46px;
    margin: 20px 0px;
    cursor: hand;
    justify-content: center; /* Horizontally center */
    align-items: center; /* Vertically center */
}

.aside-basket > div {
    display: flex;
    flex-direction: row;
    margin: 0px;
    padding: 20px;
}

.aside-basket > div > span {
    max-width: 300px;
}

.aside-basket > div > div > span {
    display: block;
}

.aside-basket > div div[class$=__radio] {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.aside-basket > div div[class$=__radio] input, .aside-basket > div div[class$=__radio] label {
    cursor: pointer;
}

.aside-basket > div.hidden {
    display: none;
}

.aside-basket .additional-option {
    width: 100%;
}

.aside-basket label {
    user-select: none;
}

.aside-basket span[class$=__title] {
    font-weight: 500;
    font-size: 13px;
}

.select-accommodation-duration {
    padding: 0;
}

.aside-basket span[class$=__price]:not(.spec-diet__price):not(.transfer__price):not(.materials__price):not([class*="comm_"]):not([class*="_price_val"]), .aside-basket span[class$=-price]:not(.spec-diet__price):not(.transfer__price):not(.materials__price):not([class*="comm_"]):not([class*="_price_val"]) {
    color: #245b99;
    font-weight: 800;
    font-size: 22px;
}

.aside-basket .total {
    text-align: right;
    font-size: 12px;
    font-weight: 500;
}

.aside-basket .total span[class$=__title]:after {
    background: #119ef9;
    content: "";
    display: block;
    height: 2px;
    margin-top: 15px;
    width: 34px;
}

.aside-basket .total span[class$=__title], .aside-basket .total span[class$=__price] {
    font-size: 22px;
    font-weight: 800;
}

.aside-basket .currency-warning, .aside-basket .not-selected-notification {
    font-size: 13px;
}

.aside-basket .currency-warning {
    display: flex;
    justify-content: space-between;
}

.aside-basket .currency-warning span {
    font-size: 0.8rem;
    font-weight: bold;
}

.aside-basket .order-submit {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}

.aside-basket .order-submit button {
    padding: 10px 23px;
    background-color: var(--orange);
    color: #ffffff;
    border: none;
    outline: none;
    box-shadow: none;
    font-size: 16px;
    cursor: pointer;
    border-radius: 12px;
}

.aside-basket .order-submit .total {
    display: flex;
    flex-flow: column nowrap;
    width: 50%;
    flex-grow: 0;
}
.aside-basket .order-submit .total p {
    line-height: 13px;
}

.video-wrap {
    width: 734px;
    box-shadow: 10px 10px 30px 0px #14182133;
    border-radius: 19px;
}

.video-wrap > div {
    border-radius: 19px;
}

.best-price-warranty {
    display: flex;
    border-radius: 27px;
    background: #E1ECF5;
    padding: 27px;
    margin-bottom: 80px;
    align-items: center;
}

.best-price-warranty img {
    width: 158px;
    height: 158px;
    margin-right: 38px;
}

.best-price-warranty .major-text {
    font-size: 16px;
    margin-bottom: 20px !important;
}

.best-price-warranty .minor-text {
    font-size: 14px;
}

.gallery {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.gallery #swipebox-next {
    background-color: transparent;
    transform: none;
}

.swipebox, .gallery-item {
    width: 228px;
    height: 138px;
    margin-right: 25px;
    margin-bottom: 25px;
    border-radius: 13px;
    box-shadow: 10px 10px 20px 0px #14182133;
    background-repeat: no-repeat;
    overflow: hidden;
    display: flex; /* Flexbox to center the image */
    align-items: center;
    justify-content: center;
}

.swipebox img {
    width: 100%; /* Make the image fit the container's width */
    height: 100%; /* Make the image fit the container's height */
    object-fit: cover; /* Ensures the image is cropped proportionally */
}

.more-images {
    background: var(--orange);
    color: white;
    cursor: hand;
}

aside {
    margin-bottom: 30px;
}

aside h4 {
    font-weight: 700;
    margin-bottom: 20px;
}

aside.side-brns {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 195px;
    flex: 0 0 195px;
    width: 195px;
}

aside.side-brns img {
    max-width: 100%;
}

aside.side-brns .brn {
    margin-bottom: 15px;
}

aside .item-list.news-list li a {
    font-weight: 400;
}

    justify-content: space-between;
}

.aside-basket > div div[class$=__radio] input, .aside-basket > div div[class$=__radio] label {
    cursor: pointer;
}

.aside-basket > div.hidden {
    display: none;
}

.aside-basket .additional-option {
    width: 100%;
}

.aside-basket label {
    user-select: none;
}

.aside-basket span[class$=__title] {
    font-weight: 500;
    font-size: 13px;
}

.select-accommodation-duration {
    padding: 0;
}

.aside-basket span[class$=__price]:not(.spec-diet__price):not(.transfer__price):not(.materials__price):not([class*="comm_"]):not([class*="_price_val"]), .aside-basket span[class$=-price]:not(.spec-diet__price):not(.transfer__price):not(.materials__price):not([class*="comm_"]):not([class*="_price_val"]) {
    color: #245b99;
    font-weight: 800;
    font-size: 22px;
}

.aside-basket .total {
    text-align: right;
    font-size: 12px;
    font-weight: 500;
}

.aside-basket .total span[class$=__title]:after {
    background: #119ef9;
    content: "";
    display: block;
    height: 2px;
    margin-top: 15px;
    width: 34px;
}

.aside-basket .total span[class$=__title], .aside-basket .total span[class$=__price] {
    font-size: 22px;
    font-weight: 800;
}

.aside-basket .currency-warning, .aside-basket .not-selected-notification {
    font-size: 13px;
}

.aside-basket .currency-warning {
    display: flex;
    justify-content: space-between;
}

.aside-basket .currency-warning span {
    font-size: 0.8rem;
    font-weight: bold;
}

.aside-basket .order-submit {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}

.aside-basket .order-submit button {
    padding: 10px 23px;
    background-color: var(--orange);
    color: #ffffff;
    border: none;
    outline: none;
    box-shadow: none;
    font-size: 16px;
    cursor: pointer;
    border-radius: 12px;
}

.aside-basket .order-submit .total {
    display: flex;
    flex-flow: column nowrap;
    width: 50%;
    flex-grow: 0;
}
.aside-basket .order-submit .total p {
    line-height: 13px;
}

.video-wrap {
    width: 734px;
    box-shadow: 10px 10px 30px 0px #14182133;
    border-radius: 19px;
}

.video-wrap > div {
    border-radius: 19px;
}

.best-price-warranty {
    display: flex;
    border-radius: 27px;
    background: #E1ECF5;
    padding: 27px;
    margin-bottom: 80px;
    align-items: center;
}

.best-price-warranty img {
    width: 158px;
    height: 158px;
    margin-right: 38px;
}

.best-price-warranty .major-text {
    font-size: 16px;
    margin-bottom: 20px !important;
}

.best-price-warranty .minor-text {
    font-size: 14px;
}

.gallery {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.gallery #swipebox-next {
    background-color: transparent;
    transform: none;
}

.swipebox, .gallery-item {
    width: 228px;
    height: 138px;
    margin-right: 25px;
    margin-bottom: 25px;
    border-radius: 13px;
    box-shadow: 10px 10px 20px 0px #14182133;
    background-repeat: no-repeat;
    overflow: hidden;
    display: flex; /* Flexbox to center the image */
    align-items: center;
    justify-content: center;
}

.swipebox img {
    width: 100%; /* Make the image fit the container's width */
    height: 100%; /* Make the image fit the container's height */
    object-fit: cover; /* Ensures the image is cropped proportionally */
}

.more-images {
    background: var(--orange);
    color: white;
    cursor: hand;
}

aside {
    margin-bottom: 30px;
}

aside h4 {
    font-weight: 700;
    margin-bottom: 20px;
}

aside.side-brns {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 195px;
    flex: 0 0 195px;
    width: 195px;
}

aside.side-brns img {
    max-width: 100%;
}

aside.side-brns .brn {
    margin-bottom: 15px;
}

aside .item-list.news-list li a {
    font-weight: 400;
}

.selected-course {
    font-size: 20px;
    font-weight: bold;
}

@media (min-width: 1200px) {
  .org-key-facts,
  .org-about,
  .program-table,
  .video-foto-wrap,
  .select-program,
  .select-residence,
  .gallery-wrap {
    margin-top: 0 !important;
    margin-bottom: 40px !important;
  }
}

/* Custom Sidebar Basket Checkbox and Price styling overrides */
.aside-basket .form-check {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.aside-basket .form-check-input {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 24px !important;
  height: 24px !important;
  border: 1.5px solid #8296A9 !important;
  border-radius: 6px !important;
  background-color: #FFFFFF !important;
  cursor: pointer !important;
  outline: none !important;
  position: relative !important;
  left: auto !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.aside-basket .form-check-input:hover,
.aside-basket .form-check:hover .form-check-input {
  border-color: #0083DA !important;
}

.aside-basket .form-check-input:checked {
  background-color: #0083DA !important;
  border-color: #0083DA !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-size: 18px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.aside-basket .form-check-label {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.aside-basket .spec-diet__price,
.aside-basket .transfer__price,
.aside-basket .materials__price,
.aside-basket span[class*="_price_val"],
.aside-basket span[class*="comm_"] {
  font-family: 'Geologica', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 26px !important;
  letter-spacing: -0.16px !important;
  text-align: right !important;
  color: #0083DA !important;
}
