/*-------------------*/
/*  Block section    */
/*-------------------*/
.block-section {--circle-size: max(13.75rem, 22vw);--circle-x: -3rem;--circle-y: var(--sp-lg);--circle-blur: 300px;position: relative;outline-offset: -0.0625rem;outline: 0.0625rem solid rgba(255, 255, 255, 0.2);background: rgba(36, 36, 36, 0.2);}
.block-section::before {content: "";position: absolute;z-index: 0;top: 0;left: 0;width: 6.25rem;aspect-ratio: 1;border-top: 0.125rem solid var(--clr-primary);border-left: 0.125rem solid var(--clr-primary);}
.block-section:has(.right-content)::before {left: auto;right: 0;border-left: none;border-right: 0.125rem solid var(--clr-primary);}
.block-section::after {content: "";position: absolute;z-index: -1;top: var(--circle-x);left: var(--circle-y);width: var(--circle-size);aspect-ratio: 1;border-radius: 100%;background-color: var(--clr-secondary);filter: blur(var(--circle-blur));}
.block-section:has(.right-content)::after {left: auto;right: var(--circle-y);}
.section:has(.about-grid) + .section .block-section {--circle-size: max(18rem, 52vw);--circle-x: calc(var(--circle-size) / -2);--circle-y: calc(var(--circle-size) / -2);}
.section:has(.block-section) + .section .block-section {--circle-size: max(22rem, 24vw);--circle-x: 40%;--circle-y: -5%;}
.section:has(.adv-grid) .block-section {--circle-size: 13.75rem;--circle-x: 40%;--circle-y: 10%;--circle-blur: 220px;}
.section:not(:has(.right-content)) + .section:has(.adv-grid) .block-section::after {left: auto;right: var(--circle-y);}
.section:not(:has(.right-content)) + .section:has(.adv-grid) + .section .block-section:has(.right-content)::after {left: var(--circle-y);right: auto;}
.section:has(.adv-grid) + .section .block-section:has(.right-content) {--circle-x: 40%;--circle-y: -5%;}
.section:has(.outside-img) .block-section {--circle-size: 13.75rem;--circle-x: 40%;--circle-y: 10%;--circle-blur: 120px;}
.section:has(.outside-img) .block-section:not(:has(.right-content))::after {left: auto;right: var(--circle-y);}
.section:has(.outside-img) + .section .block-section {--circle-size: max(18rem, 46vw);--circle-x: 0;--circle-y: var(--circle-size);}
@media (max-width: 767px) {
.block-section {--circle-y: 0;--circle-blur: 150px;}
}
/*-------------------*/
/*  L&R blocks       */
/*-------------------*/
.lr-content {padding-block: 2rem;padding-inline: 10.5%;}
.lr-content > * + * {margin-top: 1.5rem;}
.lr-content > * + *:is(.btn) {margin-top: 2rem;}
.lr-content .title {text-wrap: balance;}
.lr-content li:has(b + span) b {display: block;font-weight: 700;margin-bottom: 0.5rem;}
.lr-content li:has(b + span) span {display: block;margin-top: 0.5rem;margin-left: calc(-1 * var(--text-li-padding));}
.lr-img {position: relative;padding-top: 79.57666%;display: block;width: 100%;height: 100%;}
.lr-img img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;-o-object-fit: cover;object-fit: cover;content-visibility: auto;}
.lr-img.outside-img img {position: absolute;top: auto;bottom: 0;left: 0;width: 100%;height: auto;-o-object-fit: unset;object-fit: unset;}
.tags-list .lr-content ul {gap: 0.625rem;display: flex;flex-wrap: wrap;}
.tags-list .lr-content li:before {content: none;}
.tags-list .lr-content li {padding: 0.625em 1.25em;margin: 0 !important;font-weight: 500;color: var(--clr-title);outline-offset: -0.0625rem;outline: 0.0625rem solid rgba(255, 255, 255, 0.2);}
.ordered-list .text {counter-reset: number;}
.ordered-list .text p {gap: 1.25rem;display: flex;align-items: center;}
.ordered-list .text p:before {counter-increment: number;content: counter(number, decimal-leading-zero) ".";display: inline-block;font-size: var(--h2);font-weight: 300;line-height: 1em;color: var(--clr-primary);}
@media (max-width: 991px) {
.lr-img.outside-img {padding: 0;}
.lr-img.outside-img img {position: relative;}
}
@media (max-width: 767px) {
.lr-content {padding-inline: 1.25rem;}
.ordered-list .text p {gap: 0.5rem;}
.ordered-list .text p:before {font-size: var(--h5);align-self: baseline;line-height: 1.25em;}
}
/*-------------------*/
/*  SOCIAL           */
/*-------------------*/
.phone-number {gap: 0.5rem;display: flex;align-items: center;font-weight: 500;color: var(--clr-title);}
.social-networks {gap: 1.25rem;display: flex;align-items: center;flex-wrap: wrap;}
@media (min-width: 1200px) {
.phone-number:hover {color: var(--clr-primary);}
.social-networks a:hover {opacity: 0.5;}
}
/*-------------------*/
/*  ABOUT SECTION    */
/*-------------------*/
.about-grid {gap: 2rem;display: grid;grid-template-columns: repeat(3, 1fr);align-items: center;justify-items: center;}
.about-title {width: 100%;}
.about-title > * + * {margin-top: 1rem;}
.about-item {--decor-x: 2.75rem;--decor-y: 2.75rem;position: relative;width: 100%;height: 100%;padding-block: 1.5rem;padding-inline: 2.5rem;gap: 0.75rem;display: flex;align-items: flex-end;justify-content: space-between;outline-offset: -0.0625rem;outline: 0.0625rem solid rgba(255, 255, 255, 0.2);background: rgba(36, 36, 36, 0.2);}
.about-item:before {content: "";position: absolute;top: 0;left: 0;border-top: 0.125rem solid var(--clr-primary);border-left: 0.125rem solid var(--clr-primary);width: var(--decor-x);height: var(--decor-y);}
.about-item:after {content: "";position: absolute;top: 0;right: 0;border-top: 0.125rem solid var(--clr-primary);border-right: 0.125rem solid var(--clr-primary);width: var(--decor-x);height: var(--decor-y);}
.about-item i {position: absolute;z-index: 0;inset: 0;-webkit-user-select: none;-moz-user-select: none;user-select: none;}
.about-item i:before {content: "";position: absolute;bottom: 0;left: 0;border-left: 0.125rem solid var(--clr-primary);border-bottom: 0.125rem solid var(--clr-primary);width: var(--decor-x);height: var(--decor-y);}
.about-item i:after {content: "";position: absolute;bottom: 0;right: 0;border-bottom: 0.125rem solid var(--clr-primary);border-right: 0.125rem solid var(--clr-primary);width: var(--decor-x);height: var(--decor-y);}
.about-item img,
.about-item svg {flex-shrink: 0;align-self: center;height: 9.625rem;}
@media (max-width: 1199px) {
.about-grid {gap: 1rem;grid-template-columns: repeat(3, 1fr);}
.about-item {--decor-x: 2rem;--decor-y: 2rem;padding-inline: 1rem;}
.about-item img,
.about-item svg {height: clamp(4.375rem, -4.9583rem + 19.4444vw, 9.625rem);}
}
@media (max-width: 991px) {
.about-grid {grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 767px) {
.about-grid {gap: 0.625rem;grid-template-columns: 1fr;}
.about-title {margin-bottom: 1rem;}
.about-item {align-items: center;}
}
/*-------------------*/
/*  ADVANTAGES       */
/*-------------------*/
.adv-grid {padding-block: var(--sp-lg);padding-inline: var(--sp-md);gap: 2rem;display: grid;grid-template-columns: repeat(3, 1fr);align-items: center;justify-items: center;}
.adv-title {width: 100%;}
.adv-title > * + * {margin-top: 1rem;}
.adv-item {--decor-x: 2.75rem;--decor-y: 2.75rem;position: relative;width: 100%;height: 100%;padding: 2.5rem;gap: 0.75rem;display: flex;align-items: center;justify-content: space-between;outline-offset: -0.0625rem;outline: 0.0625rem solid rgba(255, 255, 255, 0.2);}
.adv-item:after {content: "";position: absolute;bottom: 0;right: 0;border-bottom: 0.125rem solid var(--clr-primary);border-right: 0.125rem solid var(--clr-primary);width: var(--decor-x);height: var(--decor-y);}
.adv-item .title {text-wrap: balance;}
.adv-item img,
.adv-item svg {flex-shrink: 0;align-self: center;height: 5.625rem;}
@media (max-width: 1199px) {
.adv-grid {gap: 1rem;grid-template-columns: repeat(3, 1fr);}
.adv-item {--decor-x: 2rem;--decor-y: 2rem;padding: 1rem;}
.adv-item img,
.adv-item svg {height: 3.25rem;}
}
@media (max-width: 991px) {
.adv-grid {grid-template-columns: repeat(2, 1fr);}
.adv-grid > *:is(.btn) {margin-top: 1rem;grid-column: span 2;}
}
@media (max-width: 767px) {
.block-section:has(.adv-grid) {outline: none;}
.block-section:has(.adv-grid)::before {content: none;}
.adv-grid {padding: 0;}
}
@media (max-width: 575px) {
.adv-grid {gap: 0.625rem;grid-template-columns: 1fr;}
.adv-title {margin-bottom: 1rem;}
.adv-grid > *:is(.btn) {justify-self: baseline;grid-column: span 1;}
}
/*-----------------*/
/*  FAQ SECTION    */
/*-----------------*/
.faq-section {--circle-size: max(18rem, 52vw);--circle-x: 8rem;--circle-y: -6rem;}
.faq-section::before {content: "";position: absolute;z-index: -1;top: var(--circle-x);left: var(--circle-y);width: var(--circle-size);aspect-ratio: 1;border-radius: 100%;background-color: var(--clr-secondary);filter: blur(300px);}
.faq-title-wrap {max-width: 22.25rem;}
.faq-title-wrap > * + * {margin-top: 1.5rem;}
@media (min-width: 992px) {
.faq-title-wrap {position: sticky;top: calc(var(--h-height) + 1rem);}
}
@media (max-width: 991px) {
.faq-section {--circle-x: 4rem;}
.faq-section .row {--bs-gutter-y: 1.5rem;}
.faq-section::before {left: 50%;transform: translateX(-50%);}
.faq-title-wrap {max-width: 100%;text-align: center;}
.faq-title-wrap > * + * {margin-top: 0.5rem;}
}
/*--------------------*/
/*  Accordion         */
/*--------------------*/
.accordion {position: relative;z-index: 1;}
.accordion-item {position: relative;border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.20);--padding-acc: 2rem;}
.accordion-title {position: relative;cursor: pointer;font-size: var(--h6);line-height: 1.36em;font-weight: 700;color: var(--clr-title);padding-block: var(--padding-acc);padding-right: var(--padding-acc);transition: var(--transition-1);}
.accordion-title i {display: inline-block;position: absolute;right: 0;top: var(--padding-acc);width: var(--padding-acc);height: 1.36em;transition: var(--transition-1);color: currentColor;}
.accordion-title i::before {content: "";position: absolute;top: 45%;left: 50%;transform: translate(-50%, -50%) rotate(45deg);width: 0.5rem;height: 0.5rem;border-right: 0.125rem solid currentColor;border-bottom: 0.125rem solid currentColor;}
.accordion-title.is-active i {transform: rotateX(-180deg);}
.accordion-inner {display: none;padding-bottom: var(--padding-acc);padding-right: var(--padding-acc);}
@media (min-width: 1200px) {
.accordion-title:hover {color: var(--clr-primary);}
}
@media (max-width: 991px) {
.accordion-item {--padding-acc: 1.25rem;}
}
/*--------------------*/
/*  VACANCIES         */
/*--------------------*/
.vc-block .accordion-inner .row {--bs-gutter-y: var(--sp-md);}
.vc-block .accordion-inner .text {  font-size: var(--h5);}
@media (min-width: 992px) {
.vc-block.accordion > * + * {margin-top: var(--sp-lg);}
.vc-block .accordion-item {--padding-acc: var(--sp-md);background: rgba(36, 36, 36, 0.2);border: 0.0625rem solid rgba(255, 255, 255, 0.2);padding-left: var(--padding-acc);}
.vc-block .accordion-item::after {pointer-events: none;content: "";position: absolute;z-index: 0;bottom: 0;right: 0;width: 6.25rem;aspect-ratio: 1;border-bottom: 0.125rem solid var(--clr-primary);border-right: 0.125rem solid var(--clr-primary);}
.vc-block .accordion-title {pointer-events: none;font-size: var(--h2);}
.vc-block .accordion-title i {display: none;}
.vc-block .accordion-inner {display: block;}
.vc-block .accordion-item:nth-child(3n+1):before {content: "";position: absolute;z-index: -1;top: 0;right: 0;transform: translateX(30%);width: max(22rem, 24vw);aspect-ratio: 1;border-radius: 100%;background-color: var(--clr-secondary);filter: blur(200px);}
.vc-block .accordion-item:nth-child(3n+2):before {content: "";position: absolute;z-index: -1;top: 0;left: 0;transform: translateX(-50%);width: max(15rem, 18vw);aspect-ratio: 1;border-radius: 100%;background-color: var(--clr-secondary);filter: blur(120px);}
}
@media (max-width: 991px) {
.vc-section {margin-top: var(--sp-md);}
.vc-section::before {content: "";position: absolute;z-index: -1;top: 40%;left: 50%;transform: translate(-50%, -50%);width: max(22rem, 52vw);aspect-ratio: 1;border-radius: 100%;background-color: var(--clr-secondary);filter: blur(200px);}
.vc-block .accordion-title {font-size: var(--h2);}
.vc-block .accordion-title.is-active {color: var(--clr-primary);}
}
/*-----------------*/
/*  FORM ELEMENTS  */
/*-----------------*/
.page-form {position: relative;padding-block: var(--sp-md);padding-inline: max(1.25rem, 10%);outline-offset: -0.0625rem;outline: 0.0625rem solid rgba(255, 255, 255, 0.2);background: rgba(36, 36, 36, 0.12);-webkit-backdrop-filter: blur(25px);backdrop-filter: blur(25px);}
.page-form::before {content: "";position: absolute;z-index: -1;bottom: 0;left: 0;transform: translate(-40%, 50%);width: max(13.75rem, 52vw);aspect-ratio: 1;border-radius: 100%;background-color: var(--clr-secondary);filter: blur(300px);}
.page-form::after {content: "";position: absolute;z-index: -1;top: 0;right: 0;transform: translate(60%, -50%);width: max(12.75rem, 22vw);aspect-ratio: 1;border-radius: 100%;background-color: var(--clr-secondary);filter: blur(140px);}
.first-decor,.second-decor {position: absolute;z-index: 1;inset: 0;pointer-events: none;}
.first-decor::before {content: "";position: absolute;top: 0;left: 0;width: 5rem;aspect-ratio: 1;border-top: 0.125rem solid var(--clr-primary);border-left: 0.125rem solid var(--clr-primary);}
.first-decor::after {content: "";position: absolute;top: 0;right: 0;width: 5rem;aspect-ratio: 1;border-top: 0.125rem solid var(--clr-primary);border-right: 0.125rem solid var(--clr-primary);}
.second-decor::before {content: "";position: absolute;bottom: 0;left: 0;width: 5rem;aspect-ratio: 1;border-bottom: 0.125rem solid var(--clr-primary);border-left: 0.125rem solid var(--clr-primary);}
.second-decor::after {content: "";position: absolute;bottom: 0;right: 0;width: 5rem;aspect-ratio: 1;border-bottom: 0.125rem solid var(--clr-primary);border-right: 0.125rem solid var(--clr-primary);}
.wpcf7-form {margin-top: var(--sp-md);}
.wpcf7-form .row {margin-inline: -0.625rem;}
.wpcf7-form [class*=col-] {padding-inline: 0.625rem;}
.wpcf7-form .row + .row, .wpcf7-form [data-id] + .row, .wpcf7-form .row + [data-id] {margin-top: 1.25rem;}
.wpcf7-checkbox .wpcf7-list-item, .wpcf7-radio .wpcf7-list-item {margin-left: 0;margin-right: 1em;}
.wpcf7-checkbox .wpcf7-list-item > label, .wpcf7-radio .wpcf7-list-item > label {display: flex;align-items: center;}
.wpcf7-checkbox .wpcf7-list-item > label > input, .wpcf7-radio .wpcf7-list-item > label > input {margin-right: 0.325rem;width: auto;}
.wpcf7-spinner {position: absolute;right: -2.5rem;top: 50%;margin: -0.75rem 0 0 0;}
.wpcf7-checkbox input {opacity: 0;position: absolute;}
.wpcf7-checkbox .wpcf7-list-item-label {padding-left: 2rem;}
.wpcf7-checkbox .wpcf7-list-item-label::before,
.wpcf7-checkbox .wpcf7-list-item-label::after {content: "";display: block;position: absolute;left: 0;top: 0;transition: var(--transition-1);}
.wpcf7-checkbox .wpcf7-list-item-label::before {border: 0.0625rem solid rgba(255, 255, 255, 0.2);width: 1.25rem;height: 1.25rem;}
.wpcf7-checkbox .wpcf7-list-item-label::after {opacity: 0;width: 0.438rem;height: 0.625rem;border-bottom: 0.125rem solid var(--clr-white);border-right: 0.125rem solid var(--clr-white);left: 0.375rem;top: 0.25rem;transform: rotate(45deg);}
.wpcf7-checkbox input:checked + .wpcf7-list-item-label::before {border-color: var(--clr-primary);background-color: var(--clr-primary);}
.wpcf7-checkbox input:checked + .wpcf7-list-item-label::after {opacity: 1;}
.input {padding: 1em;height: 3.5rem;border: 0.0625rem solid rgba(255, 255, 255, 0.2);font-size: 1rem;color: var(--clr-white);}
select.input option {color: var(--clr-black);}
.input.focus:not(.wpcf7-not-valid) {border-color: var(--clr-green);}
.input.wpcf7-not-valid {border-color: var(--clr-red);}
.wpcf7-form textarea {height: 12.5rem;}
.upload-wrapper {position: relative;background: #EEE;cursor: pointer;}
.upload-wrapper input {display: none;}
.upload-wrapper .file-name {padding: 0.625rem 2.5rem 0.625rem 0.625rem;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.upload-wrapper .remove-file {position: absolute;right: 0;top: 0;padding: 0.625rem;display: none;}
.upload-wrapper.active .remove-file {display: block;}
.upload-wrapper .remove-file:before {content: "✕";}
@media (max-width: 991px) {
.wpcf7-form .row > [class*=col] + [class*=col] {margin-top: 2rem;}
}
@media (max-width: 575px) {
.page-form {padding-inline: 1.25rem;}
}
/*----------*/
/*  FOOTER  */
/*----------*/
footer {position: relative;padding-block: 2.5rem;background-color: var(--bg-1);}
.footer-inner {gap: 2.5rem 1rem;display: grid;grid-template-columns: 1fr 1fr 1fr;}
.footer-hero {gap: 2.5rem;display: flex;grid-row: span 2;}
.footer-logo {width: 8.5rem;}
.footer-logo img {display: block;width: 100%;flex-shrink: 0;}
.footer-contacts {align-self: center;font-size: var(--h6);font-weight: 400;line-height: 1.78;}
.footer-contacts a {color: var(--clr-white);font-weight: 500;text-decoration: underline;}
.footer-contacts b,
.footer-contacts span,
.footer-contacts strong {color: var(--clr-white);}
.footer-contacts > * + * {margin-top: 1.5rem;}
.footer-contacts.footer-phone { justify-self: center;align-self: start;}
.footer-contacts.footer-phone > * + * {margin-top: .75rem;}
.footer-inner .btn {align-self: baseline;justify-self: end;}
.social {align-self: end;justify-self: center;gap: 1.25rem;display: flex;flex-wrap: wrap;align-items: center;}
.social a {width: 2.75rem;height: 2.75rem;color: rgba(255, 255, 255, 0.5019607843);}
.social svg {width: 100%;height: 100%;color: currentColor;}
.social svg [stroke] {stroke: currentColor !important;}
.social svg [fill] {fill: currentColor !important;}
.copyright {justify-self: end;align-self: end;font-size: 14px;line-height: 1em;font-weight: 300;color: rgba(255, 255, 255, 0.75);}
.copyright a {gap: 0.625rem;display: flex;align-items: center;}
.copyright img {width: 5rem;}
@media (min-width: 768px) {
.social,.footer-inner .btn,.copyright {grid-column: 2;}
}
@media (min-width: 1200px) {
.social a:hover,.copyright a:hover, .footer-contacts a:hover {color: var(--clr-primary);}
.footer-inner .btn,.copyright {grid-column: 3;}
}
@media (min-width: 768px) and (max-width: 1199px) {
.social,.footer-inner .btn {grid-row: 1;}
}
@media (max-width: 1199px){
.footer-inner {grid-template-columns: 1fr 1fr;}
.footer-hero {grid-row: auto; gap: 1.25rem;}
.footer-inner .btn {justify-self: center;}
.copyright {justify-self: center;}
.footer-phone {grid-column: 1;}
}
@media (max-width: 767px){
.footer-inner {grid-template-columns: 1fr;}
.footer-contacts.footer-phone {justify-self: start;}
.footer-logo {width: 5.625rem;}
.footer-contacts > * + * {margin-top: .625rem;}
.social {gap: 1rem;}
.social a {width: 2.5rem;height: 2.5rem;}
}