@font-face {
    font-family: 'Allegretto Script One';
    font-style: normal;
    font-weight: 400;
    src: local('Allegretto Script One'), local('AllegrettoScriptOne-Regular'),
        url('../fonts/allegretto-script-one.woff') format('woff'),
        url('../fonts/allegretto-script-one.ttf') format('truetype');
	/* font-display: swap; */
}

:root
{
    --font_family3: 'Allegretto Script One', 'Arial', sans-serif;
}

header .slogan
{
    font-family: var(--font_family3);
    color: #cfcfcf;
    font-size: 36px;
    line-height: 24px;
}

header .phone
{
	display: none;
}
header .email
{
	display: none;
}

header .recall_btn
{
	color: #3c2a0b;
    font-family: var(--font_family2);
    font-size: 14px;
    font-weight: 600;
    position: relative;
    display: flex;
    /* width: 161px; */
    max-width: 100%;
    height: 45px;
    padding: 0px 30px;
    /* margin: 425px auto 0; */
    transition: background .2s linear;
    text-decoration: none;
    border-radius: 4px;
    background: #f2d07d;
    box-shadow: inset 0 1px 1px #ffe198, 1px 1px 1px #d0ac54;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-transform: uppercase;
}

header .recall_btn:before
{
    position: absolute;
    top: 2px;
    left: 2px;
    display: block;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    content: '';
    border: 1px dotted #bd9638;
    border-radius: inherit;
}

header .recall_btn:hover
{
    background: #edbe59;
}

header .invite_btn
{
	display: none;
}

header .search
{
	display: none;
}

header .location
{
    display: block;
	padding-left: 26px;
    line-height: 16px;
    color: #a6a6a6;
}

header .location .icon
{
    top: 1px;
    bottom: initial;
    width: 15px;
}

header .info
{
    background: rgb(30 31 34 / 50%);
}

header .contacts2
{
    color: #eeebe4;
    font-size: 16px;
    font-weight: 300;

    position: relative;
}

header .contacts2 > div + div
{
    margin-top: 8px;
}


header .contact
{
    color: #eeebe4;
    font-size: 16px;
    font-weight: 300;
    position: relative;
    padding-left: 25px;
}

header .contact .icon
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 18px;
    height: 18px;
    margin: auto;
    fill: #4d4e52;
}


header .contacts2 a
{
    color: currentColor;

    white-space: nowrap;
    text-decoration: none;
	
	font-weight: 500;
    font-size: 15px;
}

header .whatsapp
{
	color: #17C37B;
}

header .whatsapp .icon
{
	bottom: initial;
    fill: #17C37B;
	width: 18px;
	height: 18px;
}

header .email.delivery .icon
{
	width: 18px;
    height: 18px;
	left: 0px;
    top: 0px;
}

header .location label
{
    color: #f2d07d;
}


header .menu .sub_menu > .item2
{
	position: relative;
}

header .menu .sub_menu2
{
    position: absolute;
    z-index: 9;
    /* top: calc(100% + 30px); */
    /* left: 50%; */
	
	left: 100%;
    top: calc(100% + 30px);

    visibility: hidden;

    width: 280px;
    /* margin-left: -140px; */

    transition: .2s linear;
    pointer-events: none;

    opacity: 0;
    background: #303134;
}

header .menu .sub_menu2:before
{
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;

    display: block;

    width: 14px;
    height: 8px;
    margin: auto;

    content: '';

    border-right: 7px solid transparent;
    border-bottom: 8px solid #303134;
    border-left: 7px solid transparent;
}

header .menu .item2:hover > a.touch_link2 + .sub_menu2
{
    /* top: calc(100% + 30px); */
    top: 0px;

    visibility: hidden;

    opacity: 0;
}

header .menu .item2:hover .sub_menu2,
header .menu .item2 > a.touch_link2 + .sub_menu2.show
{
    /* top: calc(100% - 10px); */
    top: 0px;

    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

header .menu .sub_menu2 a
{
    color: #9699a2;
    font-size: 12px;
    line-height: normal;

    position: relative;

    display: block;

    padding: 16px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
}

header .menu .sub_menu2 > * + *
{
    margin-top: -1px;
}

header .menu .sub_menu2 > * + * a
{
    border-top: 1px dashed #3f4043;
}

header .menu .sub_menu2 a:hover,
header .menu .sub_menu2 a.active
{
    color: #eeebe4;

    z-index: 3;

    background: #3f4043;
}



header .menu .item > a
{
	text-transform: uppercase;
}

.mob_header
{
	background: rgb(30 31 34 / 50%);
}


.mob_header .recall_btn
{
	color: #3c2a0b;
    font-family: var(--font_family2);
    font-size: 14px;
    font-weight: 600;
    position: relative;
    display: flex;
    max-width: 100%;
    height: 45px;
	padding: 0px 15px;
    transition: background .2s linear;
    text-decoration: none;
    border-radius: 4px;
    background: #f2d07d;
    box-shadow: inset 0 1px 1px #ffe198, 1px 1px 1px #d0ac54;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-transform: uppercase;
}

.mob_header .recall_btn:before
{
    position: absolute;
    top: 2px;
    left: 2px;
    display: block;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    content: '';
    border: 1px dotted #bd9638;
    border-radius: inherit;
}

.mob_header .recall_btn:hover
{
    background: #edbe59;
}



.mob_header .contacts2
{
    color: #eeebe4;
    font-size: 16px;
    font-weight: 300;

    position: relative;
}

.mob_header .contacts2 > div + div
{
    margin-top: 8px;
}


.mob_header .contact
{
    color: #eeebe4;
    font-size: 16px;
    font-weight: 300;
    position: relative;
    padding-left: 25px;
}

.mob_header .contact .icon
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 18px;
    height: 18px;
    margin: auto;
    fill: #4d4e52;
}


.mob_header .contacts2 a
{
    color: currentColor;

    white-space: nowrap;
    text-decoration: none;
	
	font-weight: 500;
    font-size: 15px;
}

.mob_header .whatsapp
{
	color: #17C37B;
}

.mob_header .whatsapp .icon
{
	bottom: initial;
    fill: #17C37B;
	width: 18px;
	height: 18px;
}


.mob_header .location
{
    font-size: 13px;
    font-weight: 300;
    position: relative;
	
	display: block;
    padding-left: 26px;
    line-height: 16px;
    color: #a6a6a6;
}

.mob_header .location .icon {
    position: absolute;
    top: 1px;
    left: 0;
    display: block;
    width: 15px;
    height: 25px;
    margin: auto;
    fill: #4d4e52;
}



.main > .text_block:last-child
{
	margin-bottom: 50px;
}

.main > .block
{
	margin-bottom: 50px;
}


.form span.error
{
    font-size: 12px;
    margin-left: 4px;
}

.action_block
{
	/* padding-top: 0px; */
}

.about + .action_block
{
	/* padding-top: 130px; */
}

.text_block + .action_block
{
    padding-top: 20px;
}


.main > .text_block {
	margin-bottom: 30px;
}



.main > .text_block .cont > :last-child,
.main > .text_block .cont .cols .col > :last-child,
.main > .text_block .cont blockquote > :last-child,
.main > .text_block .cont q > :last-child,
.main > .text_block .cont figure figcaption > :last-child,
.main > .text_block .cont .bg > :last-child,
.main > .text_block .cont .hide > :last-child
{
	margin-bottom: 0 !important;
}

.main > .text_block .cont > *,
.main > .text_block .cont > .sep,
.main > .text_block .cont figure figcaption > *,
.main > .text_block .cont .cols .col > *,
.main > .text_block .cont .bg > *,
.main > .text_block .cont .hide > *
{
	margin-bottom: 30px;
}



/* .text_block + *
{

}

.text_block * + .cols
{
	margin-top: 20px !important;
}

.text_block .cols .col .cont
{
    padding: 0px;
}

.text_block .cont > :last-child,
.text_block .cont .cols .col > :last-child,
.text_block .cont blockquote > :last-child,
.text_block .cont q > :last-child,
.text_block .cont figure figcaption > :last-child,
.text_block .cont .bg > :last-child,
.text_block .cont .hide > :last-child
{
	margin-bottom: 0 !important;
}

.text_block .cont > *,
.text_block .cont figure figcaption > *,
.text_block .cont .cols .col > *,
.text_block .cont .bg > *,
.text_block .cont .hide > *
{
	margin-bottom: 23px;
}


.page_content > .cont > * + *{
	
} */


.calc .form .result > * {
    margin-bottom: 50px;
}


.page_content
{
	padding-bottom: 50px;
}


.articles.inner
{
	padding-top: 0px;
}

.articles .row
{
    /* margin-bottom: -30px; */
    margin-left: -30px;
}

.articles .row > *
{
    width: calc(100% / 3 - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}



.portfolio
{
    /* margin-bottom: 40px; */
}

.portfolio + .action_block
{
	padding-top: 80px;
}

.portfolio .row + .row
{
	margin-top: 50px;
}

.calc .tariffs
{
	justify-content: center;
}


.cookie
{
	display: none;
	margin: 0;
    border-radius: 0;
    padding-bottom: .75rem;
    padding-top: .75rem;
    color: #464a4e;
    background-color: #e7e8ea;
    border-color: #dddfe2;
    border: 1px solid transparent;
    font-size: .9375rem;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}

.cookie.active
{
	display: block;
}

.cookie .inner
{
	display: flex;
    margin-left: -20px;
    justify-content: center;
    align-items: center;
	flex-wrap: wrap;
}
.cookie .inner > *
{
	margin-left: 20px;
}

.cookie .buttons
{
	
}

.cookie .buttons > * + *
{
	margin-left: 5px;
}

.cookie a
{
    background: white;
    padding: 5px 10px;
    color: #343a40;
    border-color: #dfdfdf;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 700;
	transition: .2s linear;
	text-decoration: none;
}
.cookie button
{
    background: white;
    padding: 5px 10px;
    color: #343a40;
    border-color: #dfdfdf;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 700;
	transition: .2s linear;
}
.cookie a:hover,
.cookie button:hover
{
    background: #f1f1f1;
}

.first_section
{
	padding-bottom: 0px;
}

.first_section .bg
{
	/* top: 120px; */
}

.first_section .info .title
{
	font-size: 30px;
    background: #0c0c08a1;
    display: inline-block;
    padding: 0px 20px;
}

.first_section .info .desc
{
	width: 770px;
}

.first_section .info .link
{
    /* margin-top: 80px; */
}

.prices .item
{
	background: #181818;
}

.promo_banners .banner
{
	z-index: 3;
}



.calc .materials input:checked + label.material .thumb:before
{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 1;
    opacity: 0.5;
}

.action_block .invite .btn
{
	color: #3c2a0b;
    font-family: var(--font_family2);
    font-size: 12px;
    font-weight: 600;
    position: relative;
    display: inline-block;
    /* width: 161px; */
    max-width: 100%;
    height: 45px;
    padding: 0px 15px;
    /* margin: 425px auto 0; */
    transition: background .2s linear;
    text-decoration: none;
    border-radius: 4px;
    background: #f2d07d;
    box-shadow: inset 0 1px 1px #ffe198, 1px 1px 1px #d0ac54;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-transform: uppercase;
    padding-left: 60px;
}

.action_block .invite .btn:before
{
    position: absolute;
    top: 2px;
    left: 2px;
    display: block;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    content: '';
    border: 1px dotted #bd9638;
    border-radius: inherit;
}

.action_block .invite .btn .icon
{
    display: block;
    margin-left: 11px;

    fill: currentColor;
}

.action_block .invite .btn:hover
{
    background: #edbe59;
    color: initial;
}


@media print, (max-width: 1279px)
{

}


@media print, (max-width: 1023px)
{
	header .info
	{
		background: none;
	}
	
	header .recall_btn
	{
		margin-left: 0px;	
	}

	header .slogan
	{
		margin-bottom: 15px;
	}
	
	header .contacts2
	{
		margin-bottom: 15px;
		margin-top: 15px;
	}
	
	.mob_header .logo
	{
	    margin-right: initial;
	}
	
	
	header .menu .item2 > a.touch_link2 + .sub_menu2.show
	{
		top: 0;
		display: block;
		visibility: visible;
		position: initial;
		width: auto;
	}
	
	
	.first_section .info .title
	{
		font-size: 30px;
	}
}


@media print, (max-width: 767px)
{	

	.mob_header .location
	{
		display: none;
	}

	.text_block table
	{
		width: 100%;
	}
	.text_block table td
	{
		padding: 13px 10px;
	}
	
	.text_block table td:nth-child(2)
	{
		min-width: 120px;
	}	

	.articles .row > *
	{
		width: calc(100% / 2 - 30px);
		/* margin-bottom: 30px; */
		/* margin-left: 30px; */
	}
	
	.cookie .inner > *
	{
		width: 100%;
	}
	
	.cookie .buttons
	{
		margin-top: 5px;
		text-align: center;
	}
}

@media (max-width: 479px)
{
	.mob_header .recall_btn
	{
		display: none;
	}
	
	.first_section .info .title
	{
		font-size: 26px;
	}
	
	.articles .row > *
	{
		width: calc(100% - 30px);
		/* margin-bottom: 30px; */
		/* margin-left: 30px; */
	}
}

#mainServices .swiper-container
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#mainServices .swiper-container .swiper-button-prev, #mainServices .swiper-container .swiper-button-next
{
    display: none;
}

#mainServices:hover .swiper-container .swiper-button-prev, #mainServices:hover .swiper-container .swiper-button-next
{
    display: flex;
    margin: 0;
    right: auto;
    left: auto;
    top: auto;
}

#mainServices:hover .swiper-container .swiper-button-prev
{
    left: 0;
    margin-left: 0;
}

#mainServices:hover .swiper-container .swiper-button-next
{
    margin-right: 0;
    right: 0;
}

#mainServicesMobile .swiper-container .swiper-button-prev, #mainServicesMobile .swiper-container .swiper-button-next
{
    display: flex;
    margin: 0;
    right: auto;
    left: auto;
    top: -50px;
}

#mainServicesMobile .swiper-container .swiper-button-prev
{
    left: 0;
    margin-left: 0;
}

#mainServicesMobile .swiper-container .swiper-button-next
{
    margin-right: 0;
    right: 0;
}

#mainServices .swiper-container > .count, #mainServicesMobile .swiper-container > .count
{
    display: none;
}

@media(min-width: 320px) and (max-width: 479px)
{
    #mainServicesMobile .swiper-container .swiper-button-prev, #mainServicesMobile .swiper-container .swiper-button-next
    {
        top: -40px;
    }
}

@media(min-width: 480px) and (max-width: 767px)
{
    #mainServicesMobile .swiper-container .swiper-button-prev, #mainServicesMobile .swiper-container .swiper-button-next
    {
        top: -40px;
    }
}

@media(min-width: 768px) and (max-width: 1023px)
{
    #mainServicesMobile .swiper-container .swiper-button-prev, #mainServicesMobile .swiper-container .swiper-button-next
    {
        top: -50px;
    }
}

