:root {
    --app-height: 100%;

}

section {
    padding-top: 3rem;
    padding-bottom: 3rem;
    position: relative;
}

@media (min-width: 992px) {
    section {
        padding-top: 7.5rem;
        padding-bottom: 7.5rem;
    }
}

header {
    z-index: 1030 !important;
}

.press-start-2p-font {
    font-family: "Press Start 2P", system-ui;
}

.text-red {
    color: var(--bs-red);
}

img,
svg {
    max-width: 100%;
}

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

.text-pre-wrap {
    white-space: pre-wrap;
}

.rounded-big {
    border-radius: 10rem;
}

.backdrop-blur {
    backdrop-filter: blur(25px);
}

.header-top-panel {
    transition-duration: 0.2s;
}

.header-top-panel:not(.scrolled) {
    border-color: transparent !important;
}


.module-promo-block-item {}

.module-promo-block-item .text-1 {
    font-family: "Press Start 2P", system-ui;
    border-radius: 50%;
    aspect-ratio: 2 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-dark);
    text-align: center;
    position: relative;
    z-index: 0;
    transition-duration: 0.2s;
}

@media (max-width: 768px) {
    .module-promo-block-item .text-1 {
        font-size: 10px;
    }
}

.module-promo-block-item .text-1::before {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid currentColor;
    pointer-events: none;
    border-radius: inherit;
}

.module-promo-block-item .icon {
    position: absolute;
    height: 80%;
    z-index: -1;
    transition-duration: 0.2s;
    transform: scale(0.5);
    transform-origin: center bottom;
}

.module-promo-block-item:hover .icon,
.module-promo-block-item.is-auto-hover .icon {
    transform: scale(1) translateY(-70%);
}

.module-promo-block-item-1 .text-1 {
    background-color: var(--bs-primary);
}

.module-promo-block-item-2 .text-1 {
    background-color: var(--bs-success);
}

.module-promo-block-item-3 .text-1 {
    background-color: var(--bs-danger);
}


.module-promo-block-item-1 .icon {
    left: 20%;
}

.module-promo-block-item-2 .icon {
    left: 30%;

}

.module-promo-block-item-3 .icon {
    right: 10%;
}

.rotate-7 {
    transform: rotate(7deg);
}

.inner-border {
    position: relative;
    --inset: 5px;
}

.inner-border-sm {
    --inset: 2px;
}

.inner-border::before {
    content: "";
    position: absolute;
    inset: var(--inset);
    border: 1px solid currentColor;
    pointer-events: none;
    border-radius: inherit;
}

.rotate-minus-7 {
    transform: rotate(-7deg);
}

.pre-input-px-bg {
    position: relative;
    --bs-body-bg: var(--bs-light);
    --bs-body-color: var(--bs-dark);
    --bs-secondary-color: rgba(var(--bs-dark-rgb), 0.5);
    min-height: 80px;
    display: flex;
    align-items: center;
}

.input-px-bg {
    position: absolute;
    display: flex;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.input-px-bg+* {
    position: relative;
}

.input-px-bg>* {
    height: 100%;
}

.input-px-bg img {}

.input-px-bg div {
    background-color: var(--bs-light);
    flex: 1 0 0%;
}



.input-px-bg>div:nth-child(1),
.input-px-bg>div:nth-child(3) {
    background-repeat: no-repeat;
    flex: 0 0 auto;
    width: auto;

}

.module-carousel .swiper-slide-content {
    transition-duration: 0.2s;
    transition-timing-function: linear !important;
}

.module-carousel .swiper-slide-content:hover {
    box-shadow: 0px 0px 70px 0px var(--bs-success);
}

.short-case-card {
    position: relative;
}

.short-case-card::before {
    content: '';
    position: absolute;
    pointer-events: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(var(--bs-dark-rgb), 0.5), transparent);
}

.short-case-card .post-data-hover {
    left: 0;
    top: 0;
    display: flex;
    align-items: end;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, white 50%, transparent);
    transform: translateY(100%);
    transition-duration: 0.2s;
}

.short-case-card:hover .post-data-hover {
    transform: translateY(0);
}

.short-case-card.is-open .post-data-hover {
    transform: translateY(0);
}


.float-squares {
    position: absolute;
    width: 100%;
    height: 130%;
    overflow: hidden;
    bottom: 0;
    left: 0;
}

.float-squares canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.module-banner-tiles .module-banner-tile {
    transition-duration: 0.2s;
    transform-origin: right bottom;
}

.module-banner-tiles .swiper-slide-prev .module-banner-tile {
    transform: scale(0.7);
}

@media (min-width: 1200px) {
    .container-shadow {
        position: relative;
    }

    .container-shadow::after,
    .container-shadow::before {
        content: '';
        position: absolute;
        top: 0;
        height: 100%;
        width: 10%;
        z-index: 2;
    }

    .container-shadow::after {
        right: 0;
        background: linear-gradient(-90deg, var(--bs-dark), transparent);

    }

    .container-shadow::before {
        left: 0;
        background: linear-gradient(90deg, var(--bs-dark), transparent);
    }
}

.rotate-10 {
    transform: rotate(10deg);
}

.rotate-n10 {
    transform: rotate(-10deg);
}

.transition-animate {
    transition-duration: 0.2s;
}

.transition-translate-top:hover {
    transform: translateY(-20px);
}

.transition-translate-top+.svg-abs-icon {
    z-index: -1;
}

.transition-translate-top:hover+.svg-abs-icon {
    transform: translateY(-60px);

}

.ratio-1x1 {
    aspect-ratio: 1 / 1;
}

.feedback-popup {

    background:
        url("../img/texture-backgound.webp"),
        linear-gradient(0deg, var(--main-color-gradient, --bs-primary), transparent);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.service-page-short-item {
    box-shadow: 0px 0px 20px transparent;
    transition-duration: 0.2s;
}

.service-page-short-item .service-page-title {
    min-height: 80px;
}

.service-page-short-item .service-page-description {
    min-height: 80px;
}

.service-page-short-item .service-page-items {
    min-height: 210px;
}

.service-page-short-item.hover .service-page-price {
    color: var(--bs-primary)
}

.service-page-short-item.hover .service-page-icon {
    transform: rotate(360deg);
    background-color: var(--bs-primary) !important;
}

.service-page-short-item.hover .service-page-icon span:last-child {
    opacity: 1 !important;
}

.service-page-short-item.hover .service-page-icon span:first-child {
    opacity: 0 !important;
}

.service-page-short-item.hover {
    box-shadow: 0px 0px 2rem var(--bs-primary);
}

.html-content table {
    min-width: 100%;
    border-collapse: collapse;
}

.html-content table th,
.html-content table td {}

.html-content table th {
    padding: 1rem 1rem;
}

.html-content table td {
    padding: 1.5rem 1rem;
}

.html-content table tr {
    color: var(--bs-light);
    border-bottom: none !important;
}

.html-content table tbody tr:hover {
    background-color: var(--bs-secondary);
}

.html-content table thead tr {
    background-color: var(--bs-light);
    color: var(--bs-dark);
}

figure.table {
    overflow-x: auto;
}


.accordion-item:not(:last-child) {
    margin-bottom: 0.5rem;
}

.accordion-item {
    border: none !important;
}

.accordion-item .accordion-button {
    border-radius: 0 !important;
    box-shadow: none !important;
    font-weight: 600;
}

.accordion-item .accordion-button,
.accordion-item .accordion-body {
    background-color: var(--bs-light);
    color: var(--bs-dark);
}

.accordion-item .accordion-button.collapsed {
    background-color: var(--bs-secondary);
    color: var(--bs-light);
}

.accordion {
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.08135 1.00019H13.8093V13.7281M12.9254 1.88407L1.41542 13.394' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E%0A");
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.08135 1.00019H13.8093V13.7281M12.9254 1.88407L1.41542 13.394' stroke='white' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E%0A");
    --bs-accordion-btn-icon-transform: rotate(90deg);
}

.mobile-menu-toggle-btn {
    cursor: pointer;
    position: relative;
    z-index: 1030;
}

.mobile-menu-toggle-btn svg {
    display: block;
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.mobile-menu-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    z-index: 1019;
    background-color: rgba(0, 0, 0, 0.95);
    transform: translateY(-100%);
    transition: transform 0.35s ease;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.mobile-menu-panel.is-open {
    transform: translateY(0);
}

.mobile-menu-panel-inner {
    padding: 6rem 1.5rem 3rem;
}

.mobile-menu-nav {
    display: flex;
    flex-direction: column;
    margin-bottom: 2.5rem;
}

.mobile-menu-nav-link {
    font-size: 1.25rem;
    color: var(--bs-light);
    text-decoration: none;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    transition: color 0.2s ease;
}

.mobile-menu-nav-link:hover {
    color: var(--bs-primary);
}

.mobile-menu-nav-link:last-child {
    border-bottom: none;
}

.mobile-menu-contacts {
    margin-bottom: 2rem;
    padding: 1.5rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-menu-contact-item {
    color: var(--bs-light);
    padding: 0.5rem 0;
    font-size: 1rem;
}

.mobile-menu-contact-item+.mobile-menu-contact-item {
    margin-top: 0.75rem;
}

.mobile-menu-contact-link {
    color: var(--bs-light);
    text-decoration: none;
    transition: color 0.2s ease;
}

.mobile-menu-contact-link:hover {
    color: var(--bs-primary);
}

.mobile-menu-contact-sub {
    font-size: 0.75rem;
    color: var(--bs-white-50, rgba(255, 255, 255, 0.5));
    margin-top: 0.15rem;
}

.mobile-menu-socials {
    display: flex;
    gap: 1rem;
}

.mobile-menu-social-icon {
    width: 28px;
    height: 28px;
    transition: opacity 0.2s ease;
}

.mobile-menu-social-link:hover .mobile-menu-social-icon {
    opacity: 0.7;
}

.text-indent {
    text-indent: 3rem;
}

.padding-text-indent {
    padding-left: 3rem;
}

@media (min-width: 992px) {
    .text-indent {
        text-indent: 7.5rem;
    }

    .padding-text-indent {
        padding-left: 7.5rem;
    }
}


.tarif-line-exclude {
    opacity: 0.5;
}

.tarif-line-exclude svg {
    transform: rotate(90deg);
}

.blog-section-content .sticky-top {
    top: 100px
}

.avatar {
    width: 100px;
    height: 100px;
}

.avatar-sm {
    width: 50px;
    height: 50px;
}

.text-hover-custom {
    color: inherit;
}

.text-hover-custom:hover,
.text-hover-custom:hover * {
    color: var(--hover-custom-color);
}

.press-start-2p-font-badge {
	font-size: 10px;
}

@media (min-width: 992px) {
    .press-start-2p-font-badge {
        font-size: 18px;
    }
}