@font-face {
    font-family: 'Montserrat';
    src: url('/static/fonts/Montserrat/Montserrat-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900; /* Диапазон весов */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/static/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900; /* Диапазон весов */
    font-style: italic;
    font-display: swap;
}


:root {
    /* Шрифты */
    --font-main: "Montserrat", sans-serif;


    --base-font-size: 16px;

    /* Размеры текста */
    --text-12: 0.75rem;   /* 12px / 16 = 0.75rem */
    --text-14: 0.875rem;  /* 14px / 16 = 0.875rem */
    --text-16: 1rem;      /* 16px / 16 = 1rem */
    --text-18: 1.125rem;  /* 18px / 16 = 1.125rem */
    --text-20: 1.25rem;   /* 20px / 16 = 1.25rem */
    --text-22: 1.375rem;  /* 22px / 16 = 1.375rem */
    --text-24: 1.5rem;    /* 24px / 16 = 1.5rem */
    --text-28: 1.75rem;   /* 28px / 16 = 1.75rem */
    --text-32: 2rem;      /* 32px / 16 = 2rem */
    --text-40: 2.5rem;    /* 40px / 16 = 2.5rem */
    --text-52: 3.25rem;   /* 52px / 16 = 3.25rem */
    --text-96: 6rem;      /* 96px / 16 = 6rem */
    --text-142: 8.75rem;   /* 142px / 16 = 8.75rem */

    --background-color: #fff;
    --black-color: #000;
    --text-base-color: #000;
    --alternative-text-color: #343434;
    --alternative-title-color: #fff;
    --text-hover-color: #da223f;
    --leading-normal: 1.15;
}

html {
    font-size: var(--base-font-size);
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*, *::before, *::after {
    box-sizing: inherit;
    margin: 0;
    padding: 0;
}

html, body {
  height: 100%; /* Важно для работы flex-контейнера */
  margin: 0;
  padding: 0;
}

body {
    min-height: 100vh;
    height: 100%;
    min-height: -webkit-fill-available; /* Для Safari */

    font-family: var(--font-main);
    font-size: var(--text-16);
    line-height: var(--leading-normal);
    color: var(--text-base-color);
    background-color: var(--background-color);
    font-weight: 400;
    display: flex;
    flex-direction: column;

}


.main-content {
  flex: 1 0 auto;
}



img, picture, video, canvas, svg {
    max-width: 100%;
    height: auto;
    display: block;
}

input, button, textarea, select {
    font: inherit;
}


select:focus-visible,
input:focus-visible {
    outline: 0px;
}

input[type="submit"],
.button{
    display: inline-block;
    padding: 1rem 2.5rem;
    border: 1px solid var(--text-hover-color);
    border-radius: 3.5rem;
    background: var(--text-hover-color);
    color: var(--alternative-title-color);
    cursor: pointer;
    transition: all 0.2s;
    text-transform: uppercase;
    box-shadow: 0 0 27px 6px rgba(218, 34, 63, 0.63);
    text-align: center;
}
input[type="submit"]:hover,
.button:hover {
    background: var(--text-hover-color);
}

textarea,
select,
input[type="text"],
input[type="number"],
input[type="email"]{
    padding: 1rem 1.5rem ;
    border-radius: 0.5rem;
    max-width: 100%;
    width: 100%;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;  /* для Safari */
    -moz-appearance: none;     /* для Firefox */
    appearance: none;
    background-color: var(--alternative-title-color);
}


.select2-container{
    max-width: 100%;
}
.select2-container--default .select2-selection--single{
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
    max-width: 100%;
    width: 100%;
    outline: none;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--alternative-title-color);
    height: auto;
    border: 2px solid var(--alternative-title-color);
    box-shadow: 0 0 10px rgba(250, 250, 250, 0.8), 0 0 20px rgba(250, 250, 250, 0.5);
}
.select2-container .select2-selection--single .select2-selection__rendered{
    font-size: var(--text-16);
    line-height: var(--leading-normal);
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 14px;
    right: 11px;
}
.select2-dropdown {

    border: 0;
    box-shadow: 0px 3px 10px rgb(217 217 217 / 80%), 0 0 20px rgba(250, 250, 250, 0.5);
}
.select2-results__option{
    margin: 0;
    padding: 0.5rem 1.5rem;
}


input:hover,
input:active,
input:focus-visible,
input:focus-within {
    outline: none;
    box-shadow: none;
}


input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px transparent inset;
    -webkit-text-fill-color: inherit;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px transparent inset;
    transition: background-color 5000s ease-in-out 0s;
}






select{
    max-width: 100%;
}

.field-error {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 5px;
}

input.error, select.error, textarea.error {
    /*border-color: #dc3545 !important;*/
    background-color: #fff8f8;
}

.field-errors-list {
    margin: 10px 0;
    padding-left: 20px;
    color: #dc3545;
}


h1 {
    font-size: var(--text-28);
    text-align: left;
    font-weight: 600;
}
h2 {
    font-size: var(--text-22);
    margin-bottom: 33px;
}
h3 {
    font-size: var(--text-24);
    color: #e50a39;
    margin-bottom: 33px;
}
/*h4 {*/
/*    font-size: var(--text-22);*/
/*}*/

p {
    margin-bottom: 1em;
}

img.original-size-center-image{
    max-width: 100%;
    margin: 0 auto;
}

ul{
    margin-bottom: 1em;
    padding-left: 20px;
}
ul li{
    margin-bottom: 20px;
    list-style: square;
}

a {
    color: var(--text-hover-color);
    text-decoration: none;
    transition: color 0.2s;
}

a:hover {
    color: var(--text-base-color);
}




.container{
    width: 100%;
    max-width: 1523px;
    margin: 0 auto;
    padding: 0 45px 0 45px;
}
.page_container{
    width: 100%;
    max-width: 1064px;
    margin: 0 auto;
}
img.full-width{
    width: 100%;
}


.flex {
    display: flex;
    gap: 1rem;
}

.grid {
    display: grid;
    gap: 1rem;
}

iframe{
    width: 100%;
    border: 0;
    box-shadow: none;

}

a.btn_message{
    display: inline-block;
    margin: 0 auto;
    background: var(--text-hover-color);
    border-radius: 40px;
    box-shadow: 0 0 27px 6px rgba(218, 34, 63, 0.63);
    color: var(--alternative-title-color);
    font-size: var(--text-16);
    padding: 1rem 2.5rem;
    text-transform: uppercase;
    font-weight: 600;
    min-width: 270px;
}
a.alt.btn_message{
    background: var(--alternative-title-color);
    color: var(--text-hover-color);
    box-shadow: 0 0 27px 0px rgba(218, 34, 63, 0.63);
    border: 2px solid var(--text-hover-color);
    font-weight: 600;
}




.glightbox-clean .gslide-description{
    background: #ffffff00;
    color: #fff;
}

.splide {
    padding: 0 3em;
}

.splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto
}

.splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg)
}
.splide__slide img{
    margin: 0 auto;
}

.splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 2.5em;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.5em;
    z-index: 1
}

.splide__arrow svg {
    fill: #444746;
    height: 2.5em;
    transition: fill .2s linear;
    width: 2.5em
}

.splide__arrow:hover:not(:disabled) svg {
    fill: #444746
}

.splide__arrow:disabled {
    opacity: .3
}

.splide__arrow:focus-visible {
    outline: 3px solid #444746;
    outline-offset: 3px
}

.splide__arrow--prev {
    left: 1em
}

.splide__arrow--prev svg {
    transform: scaleX(-1)
}

.splide__arrow--next {
    right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #444746;
    outline-offset: 3px
}


.photo_gallery_block{
    max-width: 1350px;
    margin: 0 auto;
    margin-bottom: 35px;
}
.photo_gallery_block h2{
    text-align: center;
    font-size: var(--text-40);
    margin-top: 3rem;
    margin-bottom: 0.5rem;
}

.photo_gallery_block.type_slider{
    max-width: 1146px;
}


.photo_gallery_block .gallery_grid{
    display: grid;
    gap: 20px;
    margin: 20px 0;
}
.photo_gallery_block .gallery_grid a img{
    margin: 0 auto;
}

.photo_gallery_block .gallery_grid.grid_2 {
    grid-template-columns: repeat(2, 1fr);
}
.photo_gallery_block .gallery_grid.grid_3 {
    grid-template-columns: repeat(3, 1fr);
}
.photo_gallery_block .gallery_grid.grid_4 {
    grid-template-columns: repeat(4, 1fr);
}




/*.button-primary {*/
/*  background: #0066cc;*/
/*  color: white;*/
/*  border-color: #0055aa;*/
/*}*/

/*.button-primary:hover {*/
/*  background: #0055aa;*/
/*}*/

/*input, textarea, select {*/
/*  width: 100%;*/
/*  padding: 0.5rem;*/
/*  border: 1px solid #ddd;*/
/*  border-radius: 4px;*/
/*  margin-bottom: 1rem;*/
/*}*/

@media (max-width: 1920px) {
    .container{
        max-width: calc(100% - 80px - 80px);
    }
}
@media (max-width: 1512px) {
    .container{
        max-width: calc(100% - 40px - 40px);
    }
}
@media (max-width: 1000px) {
    .container{
        padding: 0 32px 0 32px;
        max-width: calc(100% - 32px - 32px);
    }


    .photo_gallery_block .gallery_grid.grid_3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .photo_gallery_block .gallery_grid.grid_4 {
        grid-template-columns: repeat(3, 1fr);
    }
    .photo_gallery_block h2 {
        font-size: var(--text-32);
    }


}
@media (max-width: 880px) {
    .container{
        padding: 0 24px 0 24px;
        max-width: calc(100% - 24px - 24px);
    }

    .photo_gallery_block .gallery_grid.grid_4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .photo_gallery_block h2 {
        font-size: var(--text-24);
    }

}
@media (max-width: 650px) {
    .photo_gallery_block .gallery_grid.grid_2 {
        grid-template-columns: repeat(1, 1fr);
    }
    .photo_gallery_block .gallery_grid.grid_3 {
        grid-template-columns: repeat(1, 1fr);
    }
    .photo_gallery_block .gallery_grid.grid_4 {
        grid-template-columns: repeat(1, 1fr);
    }
}


@media (max-width: 480px) {



    body{
        font-size: var(--text-14);
    }

    .select2-container .select2-selection--single .select2-selection__rendered {
        font-size: var(--text-14);
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        top: 4px;
        right: 11px;
    }

    textarea, select, input[type="text"], input[type="number"], input[type="email"]{
        padding: 0.5rem 0.7rem;
    }
    .select2-container--default .select2-selection--single {
        padding: 0.5rem 0.7rem;
    }

    .container{
        padding: 0 12px 0 12px;
        max-width: calc(100% - 12px - 12px);
    }
    .splide {
        padding: 0em;
    }
    .splide__arrow{
        background: rgba(255, 255, 255, 0.5);
        padding: 5px;
        border-radius: 50%;
    }
}




/*@media (max-width: 840px) {*/
/*    html {*/
/*        transform: scale(0.8);*/
/*        transform-origin: top left;*/
/*        width: 125%; !* 100% / 0.8 = 125% *!*/
/*        height: 125%;*/
/*    }*/

/*    body {*/
/*        overflow-x: auto;*/
/*        overflow-y: auto;*/
/*    }*/
/*}*/

/*@media (max-width: 800px) {*/
/*    h1{*/
/*        font-size: var(--text-32);*/
/*    }*/
/*}*/

/*@media (max-width: 768px) {*/
/*    .container{*/
/*        max-width: calc(100% - 16px - 16px);*/
/*    }*/
/*}*/
