@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/*  Loader    */

#loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999; /* чтобы перекрывать весь контент */
}

.spinner {
    border: 8px solid #f3f3f3; /* светлая окружность */
    border-top: 8px solid #ff7000; /* цвет «направленного» сегмента */
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 0.7s linear infinite;
}

/* Анимация вращения */
@keyframes spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Скрытый по умолчанию контейнер (когда страница полностью загружена) */
#loader-overlay.hidden {
    display: none;
}

.hidden {
    display: none;
}

/* Main */

html {
    font-size: 18px;
    scroll-behavior: smooth;
}

.orange-background {
    background-color: #FF7000;
}

.orange-color {
    color: #FF7000;
}

.white {
    background-color: #fff;
}


* {
    font-family: 'Gilroy', 'Arial', sans-serif;
    margin: 0;
    padding: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    width: 100%;
    background-color: #fff;
    font-size: 1rem;
    overflow: auto;
}

h1 {
/*    font-size: 3.56rem; 64px*/
    font-size: clamp(2.67rem, 2.254rem + 1.71vw, 3.56rem);
}

h2 {
/*    font-size: 2.67rem; 48px*/
    font-size: clamp(1.78rem, 1.364rem + 1.71vw, 2.67rem);
}

h3 {
/*    font-size: 1.78rem; 32px*/
    font-size: clamp(1.33rem, 1.12rem + 0.86vw, 1.78rem);
}

h4 {
/*    font-size: 1.33rem; 24px*/
    font-size: clamp(1rem, 0.846rem + 0.63vw, 1.33rem);
}

h5 {
/*    font-size: 0.89rem; 16px - 14px*/
    font-size: clamp(0.67rem, 0.562rem + 0.42vw, 0.89rem);
}

button {
    cursor: pointer;
    border: none;
    background-color: transparent;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
}

li {
    list-style: none;
}


.container {
    height: 100%;
    width: 100%;
    max-width: 1278px;
    padding: 0 27px;
    margin: 0 auto;
}

/* Section */

.paddings {
    padding-top: 90px;
    padding-bottom: 90px;
}

.section-title {
    display: flex;
    justify-content: center;
    text-align: center;
}

.section-title-heading {
    font-weight: 800;
}

.section-title-hyphen {
    color: #FF7000;
    font-weight: 900;
    font-family: Montserrat;
}

/* Background */
.background-black {
    background-image: url('/static/core/img/ui/background-effect.webp');
    background-color: #292929;
    color: #fff;
}

.background-white {
    color: #292929;
}

/* Scrollbar */

::-webkit-scrollbar {
    width: 7.5px;
}

::-webkit-scrollbar-thumb {
    background-color: #FF7000;
    border-radius: 100px;

}

::-webkit-scrollbar-button {
    display: block;
}


/* Selection */

::selection {
    background: #ff700080;
}

/* Scroll to top */

#scrollToTop {
    z-index: 9;
    position: fixed;
    bottom: 45px;
    right: 35px;
    display: none; /* Скрываем кнопку по умолчанию */
    width: 50px;
    height: 50px;
    background-color: #ff7000cc;
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 1.33rem;
    cursor: pointer;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

#scrollToTop:hover {
    background-color: #292929;
}

/* Появление кнопки */
#scrollToTop.show {
    display: block;
    opacity: 1;
}

#scrollToTop.hide {
    opacity: 0;
    transform: translateY(10px);
}

/* Header */


.header {
    display: flex;
    align-items: center;
    background-color: #fff;
    border-radius: 0 0 40px 40px;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    height: auto;

    padding-top: 15px;
    padding-bottom: 15px;

    box-shadow: 0px 4px 10px #2929291c;
}

.logo{
    font-weight: 700;
    color: #292929;
    display: flex;
    align-items: center;
}

/* Nav */

.nav {
    flex: 1;
}

.nav-list {
    gap: 85px;
    list-style: none;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    max-width: 100%;
    font-size: 1rem;
    font-weight: 500;

}

.nav-link {
    color: #292929;
    transition: all 0.25s ease;
    border-bottom: 3px solid transparent;
}

.nav-link:hover {
    color: #FF7000;
    border-color: #FF7000;
}

.nav-link:active {
    color: #292929;
    border-color: #292929;
}

.nav-button {
    display: none;
    width: 50px;
    height: 44px;
}

.nav-button-image {
    font-size: 40px;
    color: #292929;
}

.nav-close-button {
    display: none;
}

/* Button */

.btn-small {
    width: 208px;
    height: 53px;
    font-size: 1rem;
}

.btn-medium {
    width: 287px;
    height: 73px;
    font-size: 1.33rem;
}

.btn-big {
    width: 336px;
    height: 80px;
    font-size: 1.33rem;
}

.btn-large {
    width: 392px;
    height: 100px;
    font-size: 1.78rem;
}

.btn-func.btn-orange {
    background-color: #fff;
    color: #FF7000;
    box-shadow: inset 0 0 0 3.5px  #fff
}

.btn-func {
    transition: all 0.2s ease;

    border: none;
    border-radius: 61px;
    background-color: #FF7000;
    color: #fff;
    font-weight: 600;

    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;

    gap: 4.25%;

    cursor: pointer;
    box-shadow: inset 0 0 0 3.5px  #FF7000
}

.btn-func.btn-white:hover  {
    background-color: #fff;
    color: #FF7000;
}

.btn-func.btn-black:hover {
    background-color: #292929;
    color: #FF7000;
}

.btn-func.btn-orange:hover {
    background-color: #FF7000;
    color: #fff;
}

.btn-func:active {
    transform: scale(0.95);
}

.btn-func i {
    transition: transform 0.5s ease;
    transform: rotate(90deg);
}

.btn-func:hover i {
    transform: rotate(270deg);
}

