@import url(null.css);

/* all=====================================================================================================*/

:root {
   --brand-navy: #2A3545;
   --brand-yellow: #EDA90C;
   --brand-yellow-bright: #FFBB1F;
   --brand-yellow-soft: #FFD472;
   --brand-muted: #525A6B;
   --brand-line: #C1C8CE;
   --blue: var(--brand-navy);
   --black: var(--brand-navy);
   --red: var(--brand-yellow);
   scrollbar-gutter: stable;
}

::-webkit-scrollbar {
   width: 5px;
}

::-webkit-scrollbar-thumb {
   border-radius: 10px;
   background-color: var(--blue);
}

html {
   scroll-behavior: smooth;
   scroll-padding-top: 4rem;
   font-size: clamp(0.75rem, calc(0.75rem + (1 - 0.75) * ((100vw - 37.5rem) / (75 - 37.5))), 1rem);
}

body {
   color: var(--black);
   line-height: 1.55;
   font-family: Manrope, system-ui;
   font-style: normal;
   font-weight: 400;
   font-optical-sizing: auto;
}

body.is-menu-open {
   overflow: hidden;
}

.has-js:not(.is-preloader-seen):not(.is-page-ready) body {
   overflow: hidden;
}

.preloader {
   position: fixed;
   z-index: 10000;
   inset: 0;
   display: none;
   place-items: center;
   padding: 1.5rem;
   background: #fff;
   opacity: 1;
   visibility: visible;
   transition: opacity 0.45s ease, visibility 0s linear 0.45s;
}

.has-js:not(.is-preloader-seen) .preloader {
   display: grid;
}

.is-page-ready .preloader {
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
}

.preloader__content {
   display: grid;
   justify-items: center;
   gap: 1.5rem;
   transition: opacity 0.35s ease, transform 0.45s ease;
}

.is-page-ready .preloader__content {
   opacity: 0;
   transform: scale(0.985);
}

.preloader__logo {
   display: block;
   width: min(16.25rem, 70vw);
   height: auto;
}

.preloader__track {
   width: min(13.5rem, 58vw);
   height: 0.125rem;
   overflow: hidden;
   border-radius: 999px;
   background: rgb(193 200 206 / 45%);
}

.preloader__line {
   display: block;
   width: 100%;
   height: 100%;
   border-radius: inherit;
   background: linear-gradient(90deg, var(--brand-yellow), var(--brand-yellow-bright));
   transform: translateX(-100%);
   animation: preloader-line 0.85s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

@keyframes preloader-line {
   0% {
      transform: translateX(-100%);
   }

   55%,
   100% {
      transform: translateX(100%);
   }
}

.motion-ready .motion-reveal {
   opacity: 0;
   transform: translate3d(0, 1.25rem, 0);
   transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
   transition-delay: var(--motion-delay, 0ms);
}

.motion-ready .motion-reveal--left {
   transform: translate3d(-1.25rem, 0, 0);
}

.motion-ready .motion-reveal--right {
   transform: translate3d(1.25rem, 0, 0);
}

.motion-ready .motion-reveal--scale {
   transform: translate3d(0, 0.5rem, 0) scale(0.985);
}

.motion-ready .motion-reveal.is-visible {
   opacity: 1;
   transform: none;
}

.motion-ready.motion-fallback .motion-reveal {
   opacity: 1;
   transform: none;
   transition: none;
}

.fancybox-slide--html .product-modal,
.fancybox-slide--html .event-modal {
   animation: modal-reveal 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes modal-reveal {
   from {
      opacity: 0;
      transform: scale(0.98);
   }

   to {
      opacity: 1;
      transform: scale(1);
   }
}

@media (prefers-reduced-motion: reduce) {
   html {
      scroll-behavior: auto;
   }

   .preloader__line {
      animation: none;
      transform: none;
   }

   .motion-ready .motion-reveal,
   .motion-ready .motion-reveal--left,
   .motion-ready .motion-reveal--right,
   .motion-ready .motion-reveal--scale {
      opacity: 1;
      transform: none;
      transition: none;
   }

   .fancybox-slide--html .product-modal,
   .fancybox-slide--html .event-modal {
      animation: none;
   }
}

section {
   margin-bottom: 7.5rem;
}

a {
   transition: all 0.3s;
   color: inherit;
}

p {
   color: inherit;
}

p:last-child {
   padding-bottom: 0;
}

.text p {
   padding-bottom: 1em;
}

.text ul {
   padding-bottom: 2em;
}

.text ul li {
   margin-bottom: 0.5em;
   list-style: disc;
   margin-left: 1.5em;
}

.text ul li::marker {
   color: var(--black);
}

.text li:last-child {
   margin-bottom: 0;
}

table {
   width: 100% !important;
}

col {
   width: 100% !important;
}

.text tr {
   border-radius: 10px;
   background: #F5F1ED;
   padding: 1em 2.5em;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 1.5em;
}

.text td {
   min-width: 5em;
}

.text td:last-child {
   font-weight: 700;
}

.text tr:nth-child(even) {
   background-color: grey;
}

a:hover {
   color: var(--red);
}

.btn {
   font-size: 1em;
   display: inline-block;
   font-weight: 400;
   color: #fff;
   background-color: var(--blue);
   padding: 1em 1.5em;
   transition: all 0.3s;
   cursor: pointer;
   transition: all 0.3s;
   font-family: Manrope, system-ui;
}

.btn:hover {
   color: #fff;
}


.wrap {
   width: 100%;
   min-height: 100%;
   overflow-x: hidden;
   overflow-x: clip;
   display: flex;
   flex-direction: column;
}

main {
   flex: 1 1 100%;
   position: relative;
}

.container {
   max-width: 77rem;
   margin: 0 auto;
   width: 100%;
   padding: 0 1rem;
}

.title {
   color: var(--blue);
   font-family: 'Manrope', sans-serif;
   font-size: 2rem;
   font-weight: 400;
   line-height: 1.3;
}

.subtitle {
   color: var(--blue);
   font-family: 'Manrope', sans-serif;
   font-size: 1.5rem;
   line-height: 1.3;
   margin-bottom: 2rem;
}

.section-title {
   color: var(--brand-yellow);
   font-size: 2rem;
   font-weight: 800;
   line-height: 1.3;
   text-transform: uppercase;
}


/* burger */
.burger {
   width: 50px;
   height: 50px;
   display: none;

}

.burger svg {
   width: 50px;
   height: 50px;
}

.burger__icon {
   cursor: pointer;
   -webkit-tap-highlight-color: transparent;
   transition: transform 400ms;
   user-select: none;
}

.burger__line {
   fill: none;
   transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
   stroke: var(--blue);
   stroke-width: 5.5;
   stroke-linecap: round;
}

.main-page .burger__line {
   stroke: #fff;

}

.burger--active .burger__icon {
   transform: rotate(45deg);
}

.burger__line--top {
   stroke-dasharray: 40 139;
}

.burger__line--bottom {
   stroke-dasharray: 40 180;
}

.burger--active .burger__line--top {
   stroke-dashoffset: -98px;
}

.burger--active .burger__line--bottom {
   stroke-dashoffset: -138px;
}

/* end bruger */


/* breadcrubms */
.breadcrumbs-wrapper {
   padding: 1rem 0;
   padding-bottom: 1.5rem;
   color: var(--red);
   font-size: 0.8rem;
   font-style: normal;
   font-weight: 500;
   line-height: 1.3;
}

.breadcrumbs-wrapper li {
   display: inline-block;
}

.breadcrumbs-wrapper a {
   color: var(--red);
   position: relative;
   padding-right: 1rem;
   display: inline-block;
}

.breadcrumbs-wrapper a:hover {
   text-decoration: none;
}

.breadcrumbs-wrapper a:after {
   content: "|";
   color: var(--red);
   position: absolute;
   top: 0;
   right: 3px;
}

/* end breadcrubms */

/*end all>====================================================================================================*/


/* header====================================================================================================*/

.header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 9999;
   background-color: #fff;
   transition: box-shadow 0.3s;
}

.header--fixed {
   box-shadow: 0 0.25rem 1.5rem rgba(42, 53, 69, 0.08);
}

.top-menu {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 2rem;
   padding-bottom: 0.5rem;
}

.top-menu__logo {
   display: block;
   flex: 0 0 auto;
   width: 16.25rem;
   padding-top: 0.6875rem;
}

.top-menu__logo img {
   display: block;
   width: 100%;
   height: auto;
}

.top-menu__body {
   padding-top: 2.6875rem;
}

.top-menu__list {
   display: flex;
   align-items: center;
   gap: 2.875rem;
}

.top-menu__item {
   display: block;
   color: var(--brand-navy);
   font-size: 0.9375rem;
   font-weight: 700;
   line-height: 1.35;
   white-space: nowrap;
}

.top-menu__item:hover,
.top-menu__item:focus-visible,
.top-menu__item--active {
   color: var(--brand-yellow);
}

.margin-top {
   margin-top: 7rem;
}

/* home hero=================================================================================================*/

.home-hero {
   padding-top: 6.1875rem;
}

.home-hero__heading-row {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 22.6875rem;
   align-items: start;
   gap: 2.8125rem;
}

.home-hero__title {
   max-width: 49.5rem;
   margin-top: 1.0625rem;
   color: var(--brand-navy);
   font-size: 2.8125rem;
   font-weight: 400;
   line-height: 1.1;
   letter-spacing: -0.084375rem;
}

.home-hero__title strong,
.home-hero__title span {
   display: block;
   font-weight: 700;
}

.home-hero__lead {
   padding: 1.0625rem 2rem;
   border: 0.0625rem solid var(--brand-yellow-bright);
   border-radius: 0.625rem;
   background: linear-gradient(180deg, var(--brand-yellow-bright) 0%, var(--brand-yellow-soft) 115%);
   color: var(--brand-navy);
   font-size: 1.125rem;
   font-weight: 500;
   line-height: 1.3;
   letter-spacing: -0.03375rem;
}

.home-hero__picture {
   display: block;
   margin-top: 2.1875rem;
}

.home-hero__image {
   display: block;
   width: 100%;
   height: auto;
   aspect-ratio: 1200 / 534;
   border-radius: 0.625rem;
   object-fit: cover;
   object-position: center;
}

/* end home hero>============================================================================================*/

/* home about================================================================================================*/

.home-about__layout {
   display: grid;
   grid-template-columns: minmax(0, 30.375rem) minmax(0, 36.75rem);
   align-items: start;
   justify-content: space-between;
   gap: 3rem;
}

.home-about .section-title {
   margin-bottom: 1.875rem;
}

.home-about__title {
   max-width: 31.875rem;
   margin-bottom: 2.5rem;
   color: var(--brand-navy);
   font-size: 2.1875rem;
   font-weight: 500;
   line-height: 1.1;
   letter-spacing: -0.065625rem;
}

.home-about__text {
   color: var(--brand-navy);
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.5;
}

.home-about__text p {
   padding-bottom: 1.25rem;
}

.home-about__text ul {
   padding-bottom: 1.125rem;
}

.home-about__text ul li {
   margin-bottom: 0.625rem;
}

.home-about__text ul li::marker {
   color: var(--brand-yellow);
}

.home-about__stats {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   align-items: start;
   gap: 1.25rem 1.5rem;
}

.home-about__stat {
   display: grid;
   aspect-ratio: 282 / 250;
   overflow: hidden;
   border-radius: 0.625rem;
   background: var(--brand-navy);
}

.home-about__stat:nth-child(1),
.home-about__stat:nth-child(4) {
   aspect-ratio: 282 / 285;
}

.home-about__stat:nth-child(2) {
   margin-top: 3.4375rem;
}

.home-about__stat>* {
   grid-area: 1 / 1;
}

.home-about__stat-image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.home-about__stat-content {
   position: relative;
   z-index: 1;
   display: flex;
   min-width: 0;
   flex-direction: column;
   align-self: stretch;
   justify-content: flex-end;
   padding: 1.25rem 1.4375rem;
   background: linear-gradient(180deg, rgb(42 53 69 / 10%) 25%, rgb(42 53 69 / 80%) 100%);
   color: #fff;
}

.home-about__stat-value {
   font-size: 3.125rem;
   font-weight: 500;
   line-height: 1.2;
   letter-spacing: -0.09375rem;
}

.home-about__stat-text {
   font-size: 1.125rem;
   font-weight: 500;
   line-height: 1.05;
   letter-spacing: -0.03375rem;
}

.home-about__stat:nth-child(2) .home-about__stat-value {
   font-size: 1.125rem;
   font-weight: 600;
   line-height: 1.2;
   letter-spacing: -0.03375rem;
}

.home-about__stat:nth-child(2) .home-about__stat-text {
   line-height: 1.2;
}

.home-about__stat--accent {
   align-self: end;
   border: 0.0625rem solid var(--brand-yellow-bright);
   background: linear-gradient(180deg, var(--brand-yellow-bright) 0%, var(--brand-yellow-soft) 115%);
}

.home-about__stat--accent .home-about__stat-content {
   background: transparent;
   color: var(--brand-navy);
}

.home-about__stat-decor {
   align-self: start;
   justify-self: end;
   color: var(--brand-yellow);
   font-size: 15.625rem;
   font-weight: 500;
   line-height: 0.9;
   letter-spacing: -1.5625rem;
   opacity: 0.5;
   transform: translate(1.25rem, -0.625rem);
}

/* end home about>==========================================================================================*/

/* home products=============================================================================================*/

.home-products__title {
   margin-bottom: 2.5rem;
   text-align: center;
}

.home-products__grid {
   display: flex;
   gap: 3.4375rem 1.5rem;
   flex-wrap: wrap;
   justify-content: center;
}

.product-card {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   grid-template-rows: minmax(0, 1fr);
   width: 100%;
   min-width: 0;
   aspect-ratio: 384 / 219;
   overflow: hidden;
   border-radius: 0.625rem;
   background: var(--brand-navy);
   color: #fff;
   font: inherit;
   text-align: left;
   flex: 0 1 32%;
}

.product-card>* {
   grid-area: 1 / 1;
   min-width: 0;
   min-height: 0;
}

.product-card__image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.4s;
}

.product-card__content {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   align-items: end;
   gap: 1rem;
   padding: 1.25rem;
   background: linear-gradient(180deg, rgb(255 255 255 / 0%) 42%, rgb(19 23 30 / 73%) 73%);
}

.product-card__title {
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.2;
   text-transform: uppercase;
}

.product-card__arrow {
   display: block;
   width: 2.4375rem;
   height: 2.4375rem;
   background: var(--brand-yellow);
   -webkit-mask: url('../decor/arrow-up-right.svg') center / contain no-repeat;
   mask: url('../decor/arrow-up-right.svg') center / contain no-repeat;
   opacity: 0;
   transition: opacity 0.3s, transform 0.3s;
}

.product-card:hover,
.product-card:focus-visible {
   color: #fff;
}

.product-card:hover .product-card__image,
.product-card:focus-visible .product-card__image {
   transform: scale(1.03);
}

.product-card:hover .product-card__arrow,
.product-card:focus-visible .product-card__arrow {
   opacity: 1;
   transform: translate(0.125rem, -0.125rem);
}

/* product modal=============================================================================================*/

.company-link {
   color: inherit;
   text-decoration-line: underline;
   text-decoration-style: dotted;
   text-decoration-color: var(--brand-yellow);
   text-underline-offset: 0.2em;
   transition: color 0.25s;
}

.company-link:hover,
.company-link:focus-visible {
   color: var(--brand-yellow);
   text-decoration-style: solid;
}

.company-modal__media {
   display: grid;
   min-width: 0;
   padding: 1.5rem;
   border: 0.0625rem solid var(--brand-line);
   border-radius: 0.625rem;
   background: #fff;
   place-items: center;
}

.company-modal__logo {
   display: block;
   width: auto;
   max-width: 100%;
   height: auto;
}

.product-modal__layout.company-modal__layout--text-only {
   grid-template-columns: minmax(0, 1fr);
}

.product-modal {
   display: none;
   color: var(--brand-navy);
   padding: 3rem;
   border-radius: 2rem;
}

.fancybox-slide--html .product-modal {
   display: inline-block;
   width: min(71rem, calc(100% - 2rem));
   max-width: none;
   padding: 4rem 4.375rem 5.625rem;
   overflow: visible;
   border-radius: 1.875rem;
}

.product-modal .fancybox-close-small {
   top: 1rem;
   right: 0.875rem;
   width: 3rem;
   height: 3rem;
   background: url('../decor/modal-close.svg') center / 1.4375rem no-repeat;
}

.product-modal .fancybox-close-small::after {
   display: none;
}

.product-modal__heading {
   margin-bottom: 2.5rem;
}

.product-modal__eyebrow {
   margin-bottom: 0.625rem;
   color: var(--brand-yellow);
   font-size: 1rem;
   font-weight: 800;
   line-height: 1.3;
   text-transform: uppercase;
}

.product-modal__title {
   max-width: 39.8125rem;
   font-size: 2.1875rem;
   font-weight: 500;
   line-height: 1.1;
   letter-spacing: -0.065625rem;
}

.product-modal__layout {
   display: grid;
   grid-template-columns: minmax(0, 32.75rem) minmax(20rem, 24rem);
   align-items: start;
   justify-content: space-between;
   gap: 3rem;
}

.product-modal__body {
   display: flex;
   min-width: 0;
   flex-direction: column;
}

.product-modal__intro {
   padding: 1rem 1.125rem;
   border-left: 0.25rem solid var(--brand-yellow-bright);
   border-radius: 0 0.75rem 0.75rem 0;
   background: #f5f6f8;
   font-size: 0.9375rem;
   font-weight: 600;
   line-height: 1.55;
   text-wrap: pretty;
}

.product-modal__text {
   margin-top: 1.75rem;
   color: #4e5968;
   font-size: 0.9375rem;
   font-weight: 400;
   line-height: 1.6;
   text-wrap: pretty;
}

.product-modal__text.company-modal__text {
   margin-top: 0;
}

.product-modal__text p {
   margin-bottom: 1rem;
   padding-bottom: 0;
}

.product-modal__text p:last-child {
   margin-bottom: 0;
}

.product-modal__text h3 {
   position: relative;
   margin: 1.5rem 0 0.875rem;
   padding-left: 0.875rem;
   color: var(--brand-navy);
   font-size: 1.125rem;
   font-weight: 700;
   line-height: 1.3;
}

.product-modal__text h3::before {
   position: absolute;
   top: 0.1em;
   bottom: 0.1em;
   left: 0;
   width: 0.1875rem;
   border-radius: 999rem;
   background: var(--brand-yellow-bright);
   content: '';
}

.product-modal__text strong {
   color: var(--brand-navy);
   font-weight: 700;
}

.product-modal__text ol {
   display: grid;
   gap: 0.75rem;
   margin: 1rem 0 1.25rem;
   padding: 0;
   counter-reset: product-modal-list;
}

.product-modal__text ol li {
   position: relative;
   min-height: 3.25rem;
   margin: 0;
   padding: 0.75rem 1rem 0.75rem 3.5rem;
   border-radius: 0.75rem;
   background: #f5f6f8;
   list-style: none;
}

.product-modal__text ol li::before {
   position: absolute;
   top: 0.75rem;
   left: 1rem;
   display: grid;
   width: 1.75rem;
   aspect-ratio: 1;
   place-items: center;
   border-radius: 50%;
   background: var(--brand-yellow-bright);
   color: var(--brand-navy);
   content: counter(product-modal-list);
   counter-increment: product-modal-list;
   font-size: 0.75rem;
   font-weight: 800;
   line-height: 1;
}

.product-modal__text ul {
   display: grid;
   gap: 0.625rem;
   margin: 1rem 0 1.25rem;
   padding: 0;
}

.product-modal__text ul li {
   position: relative;
   margin: 0;
   padding-left: 1.25rem;
   list-style: none;
}

.product-modal__text ul li::before {
   position: absolute;
   top: 0.65em;
   left: 0;
   width: 0.375rem;
   aspect-ratio: 1;
   border-radius: 50%;
   background: var(--brand-yellow-bright);
   content: '';
}

.product-modal__catalog {
   display: flex;
   width: 100%;
   max-width: 24rem;
   min-height: 3.3125rem;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   margin-top: 1.75rem;
   padding: 0.4375rem 0.4375rem 0.4375rem 1.5625rem;
   border: 0.0625rem solid var(--brand-yellow-bright);
   border-radius: 0.625rem;
   background: linear-gradient(180deg, var(--brand-yellow-bright) 0%, var(--brand-yellow-soft) 115%);
   color: var(--brand-navy);
   font-size: 0.875rem;
   font-weight: 700;
   line-height: 1.5;
   text-transform: uppercase;
}

.product-modal__catalog img {
   flex: 0 0 auto;
   width: 2.4375rem;
   height: 2.4375rem;
}

.product-modal__catalog:hover,
.product-modal__catalog:focus-visible {
   color: var(--brand-navy);
   box-shadow: 0 0.5rem 1.5rem rgb(42 53 69 / 12%);
}

.product-modal__gallery {
   min-width: 0;
}

.product-modal__main-media {
   display: grid;
   overflow: hidden;
   border-radius: 0.625rem;
   background: #f2f3f5;
}

.product-modal__main-image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.product-modal__thumbs {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1.125rem;
   margin-top: 1.375rem;
}

.product-modal__thumb {
   display: block;
   width: 100%;
   aspect-ratio: 117 / 95;
   overflow: hidden;
   border: 0.0625rem solid transparent;
   border-radius: 0.625rem;
   background: #f2f3f5;
}

.product-modal__thumb--active {
   border-color: var(--brand-yellow-bright);
}

.product-modal__thumb img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

/* end product modal>=======================================================================================*/

/* end home products>=======================================================================================*/

/* home service=============================================================================================*/

.home-service__layout {
   display: grid;
   grid-template-columns: minmax(0, 32.5625rem) minmax(0, 36.75rem);
   align-items: start;
   justify-content: space-between;
   gap: 4rem;
}

.home-service__title {
   margin-bottom: 2.5rem;
}

.home-service__text {
   max-width: 30.375rem;
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.5;
}

.home-service__list-title {
   margin-top: 1.5rem;
   margin-bottom: 1.25rem;
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.4;
   text-transform: uppercase;
}

.home-service__list {
   display: grid;
   gap: 1.25rem;
}

.home-service__item {
   display: grid;
   grid-template-columns: 1.4375rem minmax(0, 1fr);
   align-items: start;
   gap: 1rem;
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.4;
}

.home-service__item-icon {
   display: block;
   width: 1.4375rem;
   height: 1.4375rem;
}

.home-service__media {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   align-items: end;
   gap: 1.5rem;
   padding-top: 3.9375rem;
}

.home-service__picture {
   display: block;
   overflow: hidden;
   border-radius: 0.625rem;
   background: #f2f3f5;
}

.home-service__picture--secondary {
   aspect-ratio: 282 / 204;
}

.home-service__picture--main {
   aspect-ratio: 282 / 371;
}

.home-service__image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.home-selection {
   display: grid;
   grid-template-columns: minmax(0, 26.4375rem) minmax(0, 1fr);
   align-items: center;
   gap: 8.6875rem;
   margin-top: 8.0625rem;
   padding: 0 2.8125rem 0 3.125rem;
   border-radius: 1.25rem;
   background: #f2f3f5;
}

.home-selection__picture {
   display: block;
   width: 100%;
   aspect-ratio: 423 / 418;
   align-self: end;
   margin-top: -1.9375rem;
   overflow: hidden;
   border-radius: 1.25rem;
}

.home-selection__image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.home-selection__content {
   min-width: 0;
   padding: 3rem 0;
}

.home-selection__title {
   max-width: 30.375rem;
   font-size: 2.1875rem;
   font-weight: 500;
   line-height: 1.1;
   letter-spacing: -0.065625rem;
}

.home-selection__text {
   max-width: 33.9375rem;
   margin-top: 1.5rem;
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.5;
}

/* end home service>========================================================================================*/

/* home events==============================================================================================*/

.home-events__title {
   margin-bottom: 2.5rem;
}

.home-events__grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1.875rem 1.5rem;
}

.home-events__grid.is-expanding {
   overflow: hidden;
   will-change: height;
   transition: height 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.event-entry {
   min-width: 0;
}

.event-card {
   display: flex;
   width: 100%;
   min-width: 0;
   height: 100%;
   flex-direction: column;
   padding: 1rem 1rem 2rem;
   border: 0.0625rem solid var(--brand-line);
   border-radius: 0.625rem;
   background: #fff;
   color: var(--brand-navy);
   font: inherit;
   text-align: left;
   transition: border-color 0.3s, box-shadow 0.3s;
}

.event-card__media {
   position: relative;
   display: block;
   width: 100%;
   aspect-ratio: 351 / 215;
   overflow: hidden;
   border-radius: 0.625rem;
   border: 0.0625rem solid var(--brand-line);
   background: #fff;
}

.event-card__image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.4s;
}

.event-card__arrow {
   position: absolute;
   top: 0.5rem;
   right: 0.5rem;
   display: block;
   width: 2.4375rem;
   height: 2.4375rem;
   border-radius: 50%;
   background-color: var(--brand-yellow);
   -webkit-mask: url('../decor/arrow-up-right.svg') center / contain no-repeat;
   mask: url('../decor/arrow-up-right.svg') center / contain no-repeat;
   opacity: 0;
   transition: opacity 0.3s, transform 0.3s;
}

.event-card__content {
   display: flex;
   flex: 1 1 auto;
   flex-direction: column;
   padding: 1.125rem 0.4375rem 0;
}

.event-card__date {
   font-size: 1.125rem;
   font-weight: 600;
   line-height: 1.2;
   letter-spacing: -0.03375rem;
}

.event-card__text {
   display: -webkit-box;
   overflow: hidden;
   margin-top: 0.5rem;
   color: var(--brand-muted);
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.4;
   letter-spacing: -0.03rem;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 5;
}

.event-card:hover,
.event-card:focus-visible {
   border-color: var(--brand-yellow-bright);
   color: var(--brand-navy);
   box-shadow: 0 0.5rem 1.5rem rgb(42 53 69 / 8%);
}

.event-card:hover .event-card__image,
.event-card:focus-visible .event-card__image {
   transform: scale(1.025);
}

.event-card:hover .event-card__arrow,
.event-card:focus-visible .event-card__arrow {
   opacity: 1;
   transform: translate(0.125rem, -0.125rem);
}

.home-events__more {
   appearance: none;
   display: block;
   margin: 2rem auto 0;
   padding: 0;
   border: 0;
   background: transparent;
   color: var(--brand-yellow);
   font-size: 1rem;
   font-weight: 600;
   line-height: 1.3;
   text-decoration: underline;
   text-decoration-thickness: 0.0625rem;
   text-underline-offset: 0.125rem;
   transition: color 0.3s, opacity 0.3s;
   margin-top: 2rem !important;
}

.home-events__more:hover,
.home-events__more:focus-visible {
   color: var(--brand-navy);
}

.home-events__paging.loading .home-events__more {
   pointer-events: none;
   opacity: 0.5;
}

/* event modal===============================================================================================*/

.event-modal {
   display: none;
   color: var(--brand-navy);
   padding: 3rem;
   border-radius: 2rem;
}

.fancybox-slide--html .event-modal {
   display: inline-block;
   width: min(71rem, calc(100% - 2rem));
   max-width: none;
   padding: 4rem 4.375rem 5.625rem;
   overflow: visible;
   border-radius: 1.875rem;
}

.event-modal .fancybox-close-small {
   top: 1rem;
   right: 0.875rem;
   width: 3rem;
   height: 3rem;
   background: url('../decor/modal-close.svg') center / 1.4375rem no-repeat;
}

.event-modal .fancybox-close-small::after {
   display: none;
}

.event-modal__heading {
   margin-bottom: 2.5rem;
}

.event-modal__layout {
   display: grid;
   grid-template-columns: minmax(0, 32.75rem) minmax(20rem, 24rem);
   align-items: stretch;
   justify-content: space-between;
   gap: 3rem;
}

.event-modal__body {
   display: flex;
   min-width: 0;
   flex-direction: column;
}

.event-modal__eyebrow {
   margin-bottom: 0.625rem;
   color: var(--brand-yellow);
   font-size: 1rem;
   font-weight: 800;
   line-height: 1.3;
   text-transform: uppercase;
}

.event-modal__title {
   max-width: 39.8125rem;
   font-size: 2.1875rem;
   font-weight: 500;
   line-height: 1.1;
   letter-spacing: -0.065625rem;
}

.event-modal__text {
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.5;
}

.event-modal__text p {
   padding-bottom: 1.25rem;
}

.event-modal__gallery {
   min-width: 0;
}

.event-modal__main-media {
   display: grid;
   overflow: hidden;
   border-radius: 0.625rem;
   background: #f2f3f5;
}

.event-modal__main-image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.event-modal__thumbs {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1.125rem;
   margin-top: 1.375rem;
}

.event-modal__thumb {
   display: block;
   width: 100%;
   aspect-ratio: 117 / 95;
   overflow: hidden;
   border: 0.0625rem solid transparent;
   border-radius: 0.625rem;
   background: #f2f3f5;
}

.event-modal__thumb--active {
   border-color: var(--brand-yellow-bright);
}

.event-modal__thumb img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

/* end event modal>=========================================================================================*/

/* end home events>=========================================================================================*/

/* home contacts============================================================================================*/
.home-contacts {
   padding-top: 1.2rem;
}

.home-contacts__panel {
   position: relative;
   display: flow-root;
   margin-top: 2.75rem;
   padding: 0 3.25rem 3.25rem;
   border-radius: 0 1.25rem 1.25rem 1.25rem;
   background: #f2f3f5;
}

.home-contacts__panel::before {
   content: '';
   position: absolute;
   right: auto;
   bottom: 100%;
   left: 0;
   width: 22.9375rem;
   height: 2.75rem;
   border-radius: 1.25rem 1.25rem 0 0;
   background: #f2f3f5;
}

.home-contacts__title {
   position: relative;
   margin-top: -0.25rem;
}

.home-contacts__grid {
   position: relative;
   display: grid;
   grid-template-columns: minmax(18rem, 20.75rem) minmax(0, 1fr);
   gap: 8rem;
   margin-top: 0.875rem;
}

.home-contacts__details {
   display: flex;
   min-width: 0;
   flex-direction: column;
   align-items: flex-start;
   gap: 1.8rem;
}

.home-contacts__item {
   display: flex;
   min-width: 0;
   flex-direction: column;
   align-items: flex-start;
}

.home-contacts__label {
   color: var(--brand-yellow);
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.4;
   letter-spacing: -0.03rem;
}

.home-contacts__address,
.home-contacts__email {
   font-size: 1.25rem;
   font-weight: 400;
   line-height: 1.4;
   letter-spacing: -0.0375rem;
}

.home-contacts__phone {
   margin-top: 0.125rem;
   font-size: 1.875rem;
   font-weight: 400;
   line-height: 1.4;
   letter-spacing: -0.05625rem;
}

.home-contacts__email {
   display: inline-flex;
   align-items: center;
   gap: 0.75rem;
   margin-top: 0.125rem;
}

.home-contacts__email img,
.home-contacts__address img {
   display: block;
   flex: 0 0 auto;
}

.home-contacts__info {
   min-width: 0;
   padding-top: 1.625rem;
}

.home-contacts__addresses {
   display: flex;
   flex-direction: column;
   gap: 1.45rem;
}

.home-contacts__address {
   display: flex;
   min-width: 0;
   align-items: flex-start;
   gap: 0.625rem;
}

.home-contacts__address img {
   margin-top: 0.25rem;
}

.home-contacts__document {
   display: flex;
   width: 100%;
   max-width: 20.0625rem;
   min-height: 3.3125rem;
   align-items: center;
   gap: 1rem;
   margin-top: 2.875rem;
   padding: 0.625rem 0.75rem 0.625rem 1.25rem;
   border: 0.0625rem solid var(--brand-yellow-bright);
   border-radius: 0.625rem;
   background: linear-gradient(180deg, var(--brand-yellow-bright) 0%, var(--brand-yellow-soft) 115%);
   color: var(--brand-navy);
   font-size: 0.875rem;
   font-weight: 700;
   line-height: 1.5;
   text-transform: uppercase;
}

.home-contacts__document>img:first-child {
   display: block;
   flex: 0 0 auto;
}

.home-contacts__document-arrow {
   display: block;
   width: 2.4375rem;
   height: 2.4375rem;
   flex: 0 0 auto;
   margin-left: auto;
   transition: transform 0.3s;
}

.home-contacts__document:hover,
.home-contacts__document:focus-visible {
   border-color: var(--brand-yellow);
   color: var(--brand-navy);
}

.home-contacts__document:hover .home-contacts__document-arrow,
.home-contacts__document:focus-visible .home-contacts__document-arrow {
   transform: translate(0.125rem, -0.125rem);
}

/* end home contacts>=======================================================================================*/

.maintenance {
   width: 100%;
   min-height: 100%;
   overflow-x: hidden;
   overflow-x: clip;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;

   & .SocialNetworks {
      justify-content: center;
   }

   & img {
      margin-bottom: 1.25rem;
   }

   & .maintenance__info {
      max-width: 500px;
      padding: 1rem;
      text-wrap: balance;
   }
}

.maintenance__contacts {
   display: flex;
   flex-direction: column;
   gap: 0.3rem;
   line-height: 1.2;
   font-size: 1.25rem;
   margin: 1.25rem 0;
}

.maintenance__contact-item_address {
   font-size: 1rem;
   margin-top: 0.75rem;
}

/*end header>====================================================================================================*/



/* footer====================================================================================================*/

.footer {
   background: #fff;
   color: var(--brand-navy);
}

.footer__top {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 3rem;
   padding-bottom: 2.625rem;
   border-bottom: 0.0625rem solid var(--brand-line);
}

.footer__logo {
   display: block;
   width: 16.25rem;
   flex: 0 0 auto;
}

.footer__logo img {
   display: block;
   width: 100%;
   height: auto;
}

.footer__menu-list {
   display: flex;
   align-items: center;
   gap: 2.875rem;
}

.footer__menu-list a {
   display: block;
   font-size: 1rem;
   font-weight: 700;
   line-height: 1.4;
   white-space: nowrap;
}

.footer__menu-list a:hover,
.footer__menu-list a:focus-visible {
   color: var(--brand-yellow);
}

.footer__bottom {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 2rem;
   padding: 1.8rem 0;
   color: var(--brand-muted);
   font-size: 0.75rem;
   line-height: 1.5;
}

.footer__policy {
   text-align: right;
}

/*end footer>====================================================================================================*/


/* cookies====================================================================================================*/

#cookie_note {
   display: none;
   justify-content: space-between;
   position: fixed;
   z-index: 99;
   bottom: 1rem;
   gap: 0.625rem;
   left: 50%;
   width: 37rem;
   max-width: 90%;
   transform: translateX(-50%);
   padding: 1.25rem;
   background-color: #fff;
   border-radius: 4px;
   box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.4);
   text-wrap: pretty;
}

#cookie_note.show {
   display: flex;
}

#cookie_note p {
   margin: 0;
   font-size: 1rem;
   text-align: left;
   color: black;
   align-self: center;
   flex: 0 1 76%;
}

div#cookie_note a {
   font-size: inherit;
}

.button.cookie_accept {
   padding: 0.75rem 1rem;
   background-color: var(--blue);
   color: #fff;
}

/*end cookies>====================================================================================================*/
