/* -------------------------------- 

Modal Window

-------------------------------- */
#stage{
	overflow:hidden;
}
.template-arch-calc.template-design-calc .menu-open,
.menu {
    z-index: 13;
}
.morph-modal {
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	visibility: hidden;
}
.morph-modal.open-modal {
	opacity: 1;
	visibility: visible;
	z-index: 12;
}
.modal-content,
.close-modal {
	opacity: 0;
	transition: opacity .2s;
	z-index: 2;
}
.modal-visible .modal-content,
.modal-visible .close-modal {
	opacity: 1;
}
.modal-content {
	position: relative;
	height: 100%;
	overflow: auto;
	padding: 40px 20%;
}
.close-modal {
	position: absolute;
	top: calc(6.8vw/2 - 56px/2);
	right: calc(10vw/2 - 56px/2);
	cursor: pointer;
	/* replace text with image */
	height: 56px;
	width: 56px;
	background: rgba(0, 0, 0, 0.4);
	border-radius: 50%;
	border: none;
	text-indent: 100%;
	overflow: hidden;
	color: transparent;
	white-space: nowrap;
	transition: background .2s;
}
.close-modal:before,
.close-modal:after {
	/* this is the 'X' arrow */
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	height: 2px;
	width: 24px;
	background: #FFF;
}
.close-modal::before {
	transform: translate(-50%) rotate(45deg);
}
.close-modal::after {
	transform: translate(-50%) rotate(-45deg);
}
.close-modal:hover {
	background: rgba(0, 0, 0, 0.6);
}
	
/* -------------------------------- 

Modal Trigger and morphing background

-------------------------------- */
.morph-btn,
.morph-background {
	display: flex;
    background-color: #1b1b1b;
    color: #ffffff;
    height: 8rem;
    line-height: 1.4rem;
    width: calc((100vw - (10vw*2 + 64px*2 + 1rem*4 + 6px))/5);
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}
.morph-btn.btn-thin {
	background-color: #4e4e4e;
	border:1px solid #4e4e4e;
	color: #ffffff;
}
.morph-btn.btn-light {
	background-color: #3c3c3c;
	border:1px solid #3c3c3c;
	color: #ffffff;
}
.morph-btn.btn-normal {
	background-color: #2a2a2a;
	border:1px solid #2a2a2a;
	color: #ffffff;
}
.morph-btn.btn-strong {
	background-color: #1b1b1b;
	border:1px solid #1b1b1b;
	color: #ffffff;
}
.morph-btn.btn-dark {
	background-color: #080808;
	border:1px solid #080808;
	color: #ffffff;
}
.morph-btn:hover {
	background-color: #cda173;
	border:1px solid #cda173;
}
.morph-btn h4,
.morph-btn h3{
	margin:0 2rem;
	padding:0;
}
.morph-btn {
	color: #FFF;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
	opacity: 1;
	text-align: center;
}
.morph-background {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	transition: transform .3s;
}
.modal-content {
    color: #FFF;
}
.modal-content .section__header-title{
	font-weight:800;
	margin-top:48px;
}
.modal-content .section__header-subtitle{
	margin-top:0;
}
.frame_text{
	opacity: 0.7;
	color:#e5e5e5;
	margin-bottom:64px;
	margin-top:48px;
}
.frame_blc{
  overflow:hidden;
  position:relative;
  padding-bottom:56.25%;
  padding-top:30px;
  margin-bottom:32px;
  height:0;
}
.frame_blc iframe {
  position:absolute;
  width:100%;
  height:100%;
  left:0;
  top:0;
}
ul.d-flex {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    gap: 1rem;
}
ul.d-flex li {
   
}



ul.steps{
	display:flex;
	flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
	margin: 0 -0.15rem;
	z-index: 3;
}
li.stage{
	padding:0.3rem;
	width: 100%;
}
@media (min-width:768px){
	li.stage.w1{width: calc(8.33333333333% * 1);}
	li.stage.w2{width: calc(8.33333333333% * 2);}
	li.stage.w3{width: calc(8.33333333333% * 3);}
	li.stage.w4{width: calc(8.33333333333% * 4);}
	li.stage.w5{width: calc(8.33333333333% * 5);}
	li.stage.w6{width: calc(8.33333333333% * 6);}
}
@media (max-width:767px){
	li.stage:empty{
		display:none;
	}
}
.stage a{
	color: #080808;
	background-color: #D9D9D9;
	position:relative;
	display: flex;
	flex-wrap: nowrap;
    font-size: 1rem;
	line-height: 1.3rem;
    margin: 0;
	height: 100%;
	width: 100%;
    text-transform: uppercase;
    font-weight: 500;
	padding: 1.2rem 1.1rem;
    height: 5rem;
	white-space: pre-line;
	-webkit-transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
    transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
}
.stage a:after {
    content: '';
    display: inline-block;
    position: relative;
	width: 100%;
	background-color: transparent;
}
@media (min-width:1200px) and (max-width:1399px){
	.stage a{
		font-size: .79rem;
		padding: 1.1rem 0.72rem;
		height: 4.6rem;
	}
}
@media (min-width:768px) and (max-width:1199px){
	.stage a{
		font-size: .72rem;
		padding: 0.72rem;
		height: 3.9rem;
	}
}
.stage_check .stage_col a.button:hover,
.stage_check .stage_col a.button{
	font-weight:700;
	color: #000000;
	-webkit-transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
    transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
}
.stage_check .stage_col a.button--gold:hover,
.stage_check .stage_col a.button--gold{
	font-weight:700;
	color: #080808;
	background-color:#cda173;
	-webkit-transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
    transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
}
.stage a:hover{
	color: #b97731;
    background-color: #f5f5f5;
    -webkit-transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
    transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
}
.stage a:active,
.stage a.button--gold{
	color: #080808;
	background-color: #CCA072;
}
.stage a:before{
	content:'';
	position: absolute;
    left: 0;
    top: 0;
	width:100%;
	height:100%;
	border: 2px solid #CCA072;
	opacity:0;
	-webkit-transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
    transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
}
.stage a:hover:before{
	opacity:1;
	-webkit-transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
    transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
}
.stage a svg {
    fill: #212121;
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-top: 4px;
	-webkit-transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
    transition: 0.1s cubic-bezier(0.5, 0, 0, 1);
}
.stage a.button--gold svg,
.stage a.button--gold:hover svg,
.stage a:active:hover svg,
.stage a:active svg {
	fill: #212121;
}
.stage a:hover svg {
	fill: #b97731;
}
.header_stage:before{
	
}
.resp-video{
	position: relative;
	padding-bottom: 56.25%; /* задаёт высоту контейнера для 16:9 (если 4:3 — поставьте 75%) */
	height: 0;
	overflow: hidden;
	margin-bottom:2rem;
	z-index: 1;
}
.resp-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-width: 0;
	outline-width: 0;
}

.header_stage .h1{
	color:#cda173;
	font-weight: 700;
	padding-bottom: 0;
}
.header_stage .h1 span{
	background-color: #f5f5f5;
	position:relative;
	z-index:1;
    padding-right: 64px;
}
.header_stage .h1:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 9px;
    height: 1px;
    width: 200%;
    background-color: #e5e5e5;
}
.header_stage .h1:after {
	content: '';
    position: absolute;
    right: 100%;
    margin-right: 64px;
    bottom: 9px;
    height: 1px;
    width: 100%;
    background-color: #e5e5e5;
}
.stage_cont h2, .stage_cont h2.title,
.stage_cont h3, .stage_cont h3.title,
.stage_cont h4, .stage_cont h4.title,
.stage_cont h5, .stage_cont h5.title{
	margin-bottom: 1.6rem!important;
    margin-top: 1.6rem;
}
.subtitle{
	display: flex;
	justify-content: space-between;
}
.srok,
.title{
	margin-top:0 !important;
	margin-bottom:1.8rem !important;
	font-size: 1.2rem;
    line-height: 1.4;
}
.srok{
	text-align:right;
	letter-spacing: 0.015rem;
}
.srok span{
	font-size: 0.8rem;
	font-weight:300;
	text-transform: none;
	display:block;
	letter-spacing: 0;
}
.stage_cont p + h2,
.stage_cont p + h3,
.stage_cont p + h4,
.stage_cont p + h5 {
    margin-top: 0.8rem;
}

.stage_cont .section__body .section__body-col{
	padding-bottom: 0;
    padding-top: 0;
}

.stage_list {
    width: 100%;
}
.stage_check{
	width: 100%;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	position: relative;
}
.stage_col{
	position:relative;
}
.stage_check:before{
	content: '';
	position: absolute;
	top:0;
	left: 50%;
	border: 1px solid #e5e5e5;
	background-color: #f5f5f5;
    border-radius: 50%;
    height: 1.8rem;
    width: 1.8rem;
    line-height: 1;
	font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
	-webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.stage_check:nth-of-type(1):before{content: '1';}
.stage_check:nth-of-type(2):before{content: '2';}
.stage_check:nth-of-type(3):before{content: '3';}
.stage_check:nth-of-type(4):before{content: '4';}
.stage_check:nth-of-type(5):before{content: '5';}
.stage_check:nth-of-type(6):before{content: '6';}
.stage_check:nth-of-type(7):before{content: '7';}
.stage_check:nth-of-type(8):before{content: '8';}
.stage_check:nth-of-type(9):before{content: '9';}
.stage_check:nth-of-type(10):before{content: '10';}
.stage_check:nth-of-type(11):before{content: '11';}
.stage_check:nth-of-type(12):before{content: '12';}
.stage_check:nth-of-type(13):before{content: '13';}
.stage_check:nth-of-type(14):before{content: '14';}
.stage_check:nth-of-type(15):before{content: '15';}
.stage_check:nth-of-type(16):before{content: '16';}
.stage_check:nth-of-type(17):before{content: '17';}
.stage_check:nth-of-type(18):before{content: '18';}
.stage_check:nth-of-type(19):before{content: '19';}
.stage_check:nth-of-type(20):before{content: '20';}

.stage_check .stage_col:first-child:not(:empty){
	background-color: #f5f5f5;
}
.stage_check .stage_col:first-child:not(:empty) video,
.stage_check .stage_col:first-child:not(:empty) img{
	border: 1px solid #e5e5e5b3;
	mix-blend-mode: multiply;
}
/*.stage_check .stage_col:first-child:not(:empty):before{
	content: '';
	position: absolute;
	top:0;
	right: 0;
	height: 1px;
	width:64px;
	background-color: #e5e5e5;
}*/
.stage_check .stage_col:last-child:not(:empty):before{
	content: '';
	position: absolute;
	top:0;
	left: 0;
	margin-top:0.8rem;
	height: 1px;
	width: calc(64px - 0.8rem);
	background-color: #e5e5e5;
}
.stage_check .stage_col:last-child{
	margin-top:-0.8rem;
	margin-bottom: 2.6rem;
}

.stage_cont .section__body-col ul{
	/*list-style-type: circle;
	padding-left: 1rem;*/
	margin-bottom: 1rem;
	text-align: left;
}
.stage_cont .section__body-col ul > li{
	padding-left: 1rem;
	position: relative;
}
.stage_cont .section__body-col ul > li:before {
    content: "–";
    position: absolute;
    left: 0px;
    top: 0px;
    width: 1rem;
    height: 100%;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    color: rgb(205, 161, 115);
    font-weight: 600;
}
.stage_check .stage_col video,
.stage_check .stage_col img{
	margin-bottom:1.8rem;
	z-index: 0;
}

.stage_cont ol,
.stage_check .stage_col ol {
    list-style: auto;
    padding-left: 2rem;
    margin-bottom: 1rem;
	text-align: left;
}

.stage_cont a:not([class]),
.stage_check .stage_col a{
	color: #cda173;
	font-weight: 400;
}
.stage_cont a:not([class]):hover,
.stage_check .stage_col a:hover{
	color: #b38a5f;
}
.stage_col object,
.stage_col iframe{
	border: 1px solid #e5e5e5;
    margin-bottom: 2rem;
}
.stage_col h2,
.stage_col h3,
.stage_col h4,
.stage_col h5,
.stage_col h6{
	margin-top:0;
	margin-bottom: 1rem;
}
.relative{
	position:relative;
}
.absolute{
	position:absolute;
}
@media (min-width:992px){
	.relative-lg{
		position:relative;
	}
	.absolute-lg{
		position:absolute;
	}
}
@media (max-width:991px){
	.absolute-lg{
		object-fit: cover;
		object-position: 50% 15%;
		max-height: 110vw;
		width: 100%;
	}
}
@media (min-width:768px) and (max-width:991px){
	.stage_check:before {
		left: 0;
		z-index: 10!important;
	}
	.stage_check .stage_col:first-child:not(:empty):before {
		right: auto;
		left: 0;
	}
}
@media (min-width:768px) and (max-width:1199px){
	.stage_check .stage_col:last-child:not(:empty):before {
		width: calc(32px - 0.4rem);
	}
	.stage_check .stage_col:first-child:not(:empty):before {
		width: 32px;
	}
	.stage a svg {
		width: 14px;
		height: 14px;
		min-width: 14px;
		margin-top: 4px;
	}
}
@media (min-width:1200px){
	.stage_col object,
	.stage_col iframe{
		width: calc(100% + 64px + 1px);
	}
	.stage_check .stage_col video,
	.stage_check .stage_col img {
		width: calc(100% + 64px  + 1px);
		max-width: calc(100% + 64px  + 1px);
	}
}
@media (min-width:992px) and (max-width:1199px){
	.stage_col object,
	.stage_col iframe{
		width: calc(100% + 32px  + 1px);
	}
	.stage_check .stage_col video,
	.stage_check .stage_col img {
		width: calc(100% + 32px + 1px);
		max-width: calc(100% + 32px + 1px);
	}
}

.section_flex-gap {gap: 1rem;flex-wrap: wrap;display: flex;}
.item_flex-gap {flex: 1 1 10rem;max-width: 100vw;align-items: center;display: flex;justify-content: center;}
.hide {display: none;}
.show {display: block;}
.tabtitle {display: none;}
.mobile{display:none!important;}
@media (max-width: 767px){.mobile{display:block!important;}.desktop{display:none!important;}}
@media (max-width: 767px){
	.section__content ul li {text-align: center;}
	.section__content ul li:before {width: auto;justify-content: center;}
	.section__content ol.list_number li:before {position: absolute;}
	.stage a {justify-content: center;align-items: center;}
	.stage a:after{display:none!important;}
	.subtitle {justify-content: space-between;flex-direction: column;align-items: center;}
	.header_stage .h1 span {padding-right: 0!important;}
	.header_stage .h1:before,.header_stage .h1:after{display:none!important;}
	.stage_check:before {position: relative!important;margin-top: 1rem;margin-bottom: 1rem;z-index:3!important;}
	.stage_check .stage_col:last-child:before{display:none!important;}
	.stage_check .stage_col:first-child:before{content: '';height: 1px;width:64px;background-color: #e5e5e5;position: relative!important;top: calc(-3rem + 2px)!important;left: -25%!important; margin-top: 0!important;width: 150%!important;}
	.stage_list{overflow: hidden;}
	.stage_check .stage_col:last-child {margin-top: -0.4rem!important;}
	.header_stage .h1 {padding-top: 1.8rem;}
	.over-resp-video {margin-left: -32px; margin-right: -32px;}
	#step{display:none;}
}