:root{
	--main-link-color:#395cd8;
	--main-hover-color:#6283fa;
	--muted-color:#666666;
}
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
	opacity: 0.5;
}

::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
	border-radius: 3px;
}

::-webkit-scrollbar-thumb {
	border-radius: 3px;
	-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);

}

:focus {
	outline: -webkit-focus-ring-color auto 0px !important;
}

input:not([type="checkbox"]), select, textarea, button {
	font-family: 'PT Sans', tahoma, arial;
	outline: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

div, section, nav, header, footer, li, ul, article, blockquote {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

body, html {
	scroll-behavior: smooth;
	background: #ffffff;
	padding: 0px;
	margin: 0px;
	font-family: 'PT Sans', tahoma, arial;
	color: #3f3f3f;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	font-size: 1rem;
}
body{
	height: auto;
}
a{
	color:var(--main-link-color);
}
a:hover{
	color:var(--main-hover-color);
}

.btn-gradient{
	font-weight:bold;
	background:var(--main-link-color) url('../../assets/images/prism-button.jpg');
	background-size:cover;
	background-position:center center;
	color:#ffffff;
	transition: all 0.5s ease;
}
.btn-gradient:hover{
	color:#ffffff;
	background:var(--main-link-color);
	box-shadow:0px 5px 8px rgba(0,0,0,0.2);
	transform: translateY(-3px);
}
.btn-gradient svg{
	width:24px;
	height:24px;
	margin-right:5px;
}
.btn-gradient svg path{
	fill:#ffffff;
}

.btn-white-outline{
	border-color:#ffffff;
	color:#ffffff;
	font-weight:bold;
}
.btn-white-outline:hover{
	background:#ffffff;
	color:var(--main-hover-color);
}

.btn-main-outline{
	border-color:var(--main-link-color);
	color:var(--main-link-color);
	font-weight:bold;
}
.btn-main-outline:hover{
	background:var(--main-link-color);
	color:#ffffff;
}

.muted-text{
	color:var(--muted-color);
}

.color-black{
	color:#000000;
}

.bold{
	font-weight: bold;
}

h2.sublined{
	position: relative;
}
h2.sublined:after{
	position: absolute;
	left:0px;
	bottom:-15px;
	width:90px;
	height:7px;
	content:'';
	background:var(--main-link-color);
}
h2.sublined.text-center:after{
	left:50%;
	margin-left:-45px;
}

/* header */
header{
	position:sticky;
	top:0px;
	left:0px;
	height:90px;
	z-index:11;
	background:#ffffff;
}
header .container, header .row{
	height:100%;
}
header .logo{
	width:230px;
}
header .logo img{
	width:100%;
}
header .header-address{
	text-transform: uppercase;
	font-weight: bold;
	position:relative;
	line-height:1.2;
	font-size:0.9rem;
	padding-left:60px;
}
header .header-address svg, header .header-phone svg{
	position:absolute;
	left:10px;
	top:50%;
	transform: translateY(-50%);
	width:40px;
	height:40px;
}
header .header-address svg path, header .header-phone svg path{
	fill:var(--main-link-color);
}
header .header-phone{
	text-transform: uppercase;
	font-weight: bold;
	position:relative;
	line-height:1.4;
	padding-left:60px;
}
header .header-phone a{
	font-weight: bold;
	text-decoration:none;
}
header .header-phone h5{
	margin:0px;
}
header .header-phone span.callback{
	color:var(--muted-color);
	cursor:pointer;
	transition: all 0.3s ease;
	font-size:0.9rem;
}
header .header-phone span.callback:hover{
	color:var(--main-hover-color);
}
header .header-search{
	position: relative;
}
header .header-search input{
	padding-right:40px;
}
header .header-search svg{
	width:26px;
	height:26px;
	position: absolute;
	right:10px;
	top:50%;
	transform:translateY(-50%);
}

header .header-search .search-result{
    position:absolute;
    left:0;
    top:45px;
    max-height:310px;
    background:#ffffff;
    box-shadow:0px 3px 5px rgba(0,0,0,0.2);
    width:100%;
    padding:0 1rem 1rem 1rem;
    overflow:auto;
}
header .header-search .search-result ul{
    margin:0;
    padding:0;
}
header .header-search .search-result li{
    list-style:none;
    padding:5px;
}
header .header-search .search-result li:hover{
    background:#f7f7f7;
}

header .header-menu{
	padding:0 5px;
}
header .header-menu svg{
	width:35px;
	height:35px;
}
header .header-cart svg{
    width:24px;
	height:24px;    
}
header .header-menu svg path, header .header-cart svg path{
	fill:var(--main-link-color);
}

#mobile-menu .logo{
	width:180px;
}
header #mobile-menu .header-phone, header #mobile-menu .header-address{
	margin:20px 0;
}

#mobile-menu .mobile-menu{
	margin:0;
	padding:0;
	margin-bottom:20px;
}
#mobile-menu .mobile-menu li{
	list-style: none;
	padding:8px 12px;
	margin:2px 0;
}
#mobile-menu .mobile-menu li.active{
	background:var(--main-hover-color);
	border-radius:3px;
}
#mobile-menu .mobile-menu li.type-catalog{
	background:var(--main-link-color);
	border-radius:3px;
}
#mobile-menu .mobile-menu li.type-catalog svg{
	width:28px;
	height:28px;
	margin-right:15px;
	display: inline-block;
	vertical-align: middle;
}
#mobile-menu .mobile-menu li.type-catalog svg path{
	fill:#ffffff;
}
#mobile-menu .mobile-menu li.type-catalog div{
	display: inline-block;
	vertical-align: middle;
}
#mobile-menu .mobile-menu li.type-catalog a, #mobile-menu .mobile-menu li.active a{
	color:#ffffff;
	font-weight: bold;
	text-decoration: none;
}

/* /header */

/* main */

main{
	flex-grow:1;
}

#call-to-action{
	position:relative;
	padding:80px 0;
	overflow: hidden;
}
#call-to-action .container{
	position: relative;
	z-index:3;
	color:#ffffff;
}
#call-to-action h2{
	font-weight: bold;
	font-size:1.7rem;
}
#call-to-action p{
	font-size:1.1rem;
}
#call-to-action figure.background{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	margin:0px;
	height:0;
	padding-bottom:56.25%;
	z-index:1;
}
#call-to-action figure.background img{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height: 100%;
	object-fit:cover;
}

.rotate180{
	transform: rotate(180deg);
}

/* /main */

/* nav */

nav{
	overflow:hidden;
	color:#ffffff;
	height:50px;
	position:sticky;
	top:90px;
	left:0px;
	z-index:10;
}
nav figure.background{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	margin:0px;
	height:0;
	padding-bottom:56.25%;
	z-index:1;
}
nav figure.background img{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height: 100%;
	object-fit:cover;
}
nav .container{
	position:relative;
	z-index:2;
}

nav .catalog-menu-button{
	background:rgba(0,0,0,0.25);
	color:#ffffff;
	height:50px;
	display:flex;
	align-items:center;
	font-weight:bold;
	text-transform: uppercase;
	padding:0 2rem;
	cursor:pointer;
	transition: all 0.3s ease;
}
nav .catalog-menu-button svg{
	width:30px;
	height:30px;
	margin-right:0.5rem;
}
nav .catalog-menu-button svg path{
	fill:#ffffff;
}
nav .catalog-menu-button:hover{
	background:#ffffff;
	color:var(--main-hover-color);
}
nav .catalog-menu-button.active{
	background:#f7f7f7;
	color:var(--main-hover-color);
}
nav .catalog-menu-button:hover svg path, nav .catalog-menu-button.active svg path{
	fill:var(--main-hover-color);
}

nav ul.main-menu{
	margin:0px;
	padding:0px;
	display:flex;
	height:50px;
}
nav ul.main-menu li{
	padding:0 2rem;
	display:flex;
	height:50px;
	align-items: center;
	list-style:none;
}
nav ul.main-menu li a{
	color:#ffffff;
	font-weight:bold;
	text-transform: uppercase;
	text-decoration:none;
}
nav ul.main-menu li:hover, nav ul.main-menu li.active{
	background:#ffffff;
}
nav ul.main-menu li:hover a, nav ul.main-menu li.active a{
	color:var(--main-hover-color);
}

nav .nav-cart{
	display:flex;
	cursor:pointer;
}
nav .nav-cart svg{
	width:24px;
	height:24px;
}
nav .nav-cart svg path{
	fill:#ffffff;
}
nav .nav-cart .cart-count{
    font-weight:bold;
    padding:0 1rem;
}
header .header-cart .cart-count{
    font-weight:bold;
    padding-left:0.5rem;
}

#cart-offcanvas{
    color:#000000;
}
#cart-offcanvas h5{
    font-weight:bold;
}
#cart-offcanvas .cart-empty{
    text-align:center;
}
#cart-offcanvas .cart-empty svg{
    width:80px;
    height:80px;
    margin-bottom:2rem;
}
#cart-offcanvas .cart-empty svg path{
    fill: var(--main-hover-color);
}

#cart-offcanvas .cart-list .cart-item{
    border:solid 1px #cccccc;
    border-radius:3px;
    padding:1rem;
    position:relative;
}
#cart-offcanvas .cart-list .cart-item .remove{
    position:absolute;
    right:5px;
    top:5px;
}
#cart-offcanvas .cart-list .cart-item .remove svg{
    width:24px;
    height:24px;
    cursor:pointer;
}
#cart-offcanvas .cart-list .cart-item .remove svg path{
    fill:#999999;
}
#cart-offcanvas .cart-list .cart-item .remove svg:hover path{
    fill:var(--bs-danger);
}

#cart-offcanvas .cart-list .cart-item figure{
    width:50px;
    height:80px;
}
#cart-offcanvas .cart-list .cart-item .title{
    margin-bottom:1rem;
    padding-right:1.5rem;
    font-size:0.8rem;
}
#cart-offcanvas .cart-list .cart-item .price, .cart-total-price{
    width:auto; 
    font-size:1.2rem;
    font-weight: bold;
    padding: 0 1.2rem;
    white-space: nowrap;
}
.cart-total-price{
    color:var(--main-link-color);
    padding: 0;
}
#cart-offcanvas .cart-list .cart-item .price svg, .cart-total-price svg{
    width:16px;
    height:16px;
}
#cart-offcanvas .cart-list .cart-item .price svg path, .cart-total-price svg path{
    fill:#999999;
}


#flying-catalog{
	position:fixed;
	z-index:9;
	background:#ffffff;
	width:100%;
	height: calc(100% - 140px);
	top:-2000px;
	left:0;
	transition:all 0.4s ease;
	overflow:auto;
}
#flying-catalog.show{
	top:140px;
}

#flying-catalog .flying-catalog-close{
	position:absolute;
	right:25px;
	top:25px;
	cursor:pointer;
}
#flying-catalog .flying-catalog-close:hover svg{
	transform: scale(1.3);
}
#flying-catalog .flying-catalog-close svg{
	width:30px;
	height:30px;
	transition:all 0.3s ease;
}
#flying-catalog .flying-catalog-close svg path{
	fill:#999999;
}

#flying-catalog .catalog-menu{
	height:100%; 
	overflow:auto; 
	padding-top:2rem; 
	background:#f7f7f7; 
	box-shadow:-300px 0 0 #f7f7f7
}
#flying-catalog .catalog-menu .catalog-menu-ul{
	padding:0;
	margin:0;
}
#flying-catalog .catalog-menu .catalog-menu-ul li{
	padding:12px 15px;
	line-height:1.1;
	text-transform: uppercase;
	font-weight: bold;
}
#flying-catalog .catalog-menu .catalog-menu-ul li.active{
	background:#ffffff;
}
#flying-catalog .catalog-menu .catalog-menu-ul li:not(.active):hover{
	background:rgba(255,255,255,0.5);
}
#flying-catalog .catalog-menu .catalog-menu-ul li a{
	text-decoration: none;
}

#flying-catalog .catalog-submenu{
	padding:2rem;
	padding-top:3rem;
	display:flex;
	flex-wrap: wrap;
}
#flying-catalog .catalog-submenu .catalog-submenu-box{
	width:33%;
	margin-bottom:15px;
}
#flying-catalog .catalog-submenu .catalog-submenu-box h5{
	text-transform: uppercase;
	font-size:1.1rem;
	font-weight: bold;
	margin:0;
}
#flying-catalog .catalog-submenu .catalog-submenu-box a{
	text-decoration: none;
}
#flying-catalog .catalog-submenu .catalog-submenu-box ul{
	padding:15px 0;
	margin:0;
}
#flying-catalog .catalog-submenu .catalog-submenu-box ul li{
	list-style: none;
	font-size:0.9rem;
	padding:2px 5px;
}
#flying-catalog .catalog-submenu .catalog-submenu-box ul li a{
	color:#666666;
}
#flying-catalog .catalog-submenu .catalog-submenu-box ul li a:hover{
	color:#395cd8;
}

#flying-catalog .catalog-submenu .catalog-submenu-promo{
	height:200px;
	width:100%;
}
#flying-catalog .catalog-submenu .catalog-submenu-promo img{
	width:100%;
	height:100%;
	object-fit: cover;
}

/* /nav */

/* Breadcrumbs */

section.bradcrumbs{
	padding:12px 0;
}
section.bradcrumbs li{
	padding:0;
	font-size:0.9rem;
}
section.bradcrumbs li:before{
	display:none;
}
ol.breadcrumb{
	
}
section.bradcrumbs .breadcrumb-item {
    padding:0 0.3rem;

}

/* /Breadcrumbs */


/* gallery 3D */

.unweb-3d-gallery{
	position: relative;
	height: 500px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
.unweb-3d-gallery .image-gallery-item{
	height: 100%;
	width: 45%;
	position: absolute;
	display: none;
	opacity: 0.7;
	filter: blur(4px);
	cursor: pointer;
	transition: all 0.4s ease;
	z-index: -1;
}
.unweb-3d-gallery .image-gallery-item.active{
	transform: translateX(0px) scale(1);
	display: flex;
	align-items: center;
	position: relative;
	filter: none;
	opacity: 1;
	z-index: 4;
}
.unweb-3d-gallery .image-gallery-item figure{
	margin:auto;
}
.unweb-3d-gallery .image-gallery-item img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.unweb-3d-gallery .image-gallery-item.next{
	transform: translateX(65%) scale(0.7);
	display: flex;
	align-items: center;
	z-index: 2;
}
.unweb-3d-gallery .image-gallery-item.prev{
	transform: translateX(-65%) scale(0.7);
	display: flex;
	align-items: center;
	z-index: 3;
}
.unweb-3d-gallery .image-gallery-item.next:hover{
	transform: translateX(65%) scale(0.75);
	filter: blur(2px);
	opacity: 0.95;
}
.unweb-3d-gallery .image-gallery-item.prev:hover{
	transform: translateX(-65%) scale(0.75);
	filter: blur(2px);
	opacity: 0.95;
}

.unweb-3d-gallery-arrows{
	width:100%;
	padding-top:3rem;
	display: flex;
	justify-content: center;
}
.unweb-3d-gallery-arrows svg {
    width: 40px;
    height: 40px;
    margin: 0px 15px;
    cursor: pointer;
}

/* /gallery 3D */

/* footer */

footer{
	background:#f7f7f7;
	padding:50px 0;
	font-size:0.8rem;
}

footer h5{
	font-size:1.1rem;
}

footer a{
	text-decoration:none;
}

/* /footer */

.modal{
	backdrop-filter: blur(8px) brightness(60%);
}

@-moz-document url-prefix() {
	.modal{
		background:rgba(0,0,0,0.6);
	}
  }

.modal-content{
	box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.7);
	border:0;
	position: relative;
}
.modal-body .btn-close{
	position: absolute;
	right:1.1rem;
	top:1.1rem;
}

.modal-callback{
	padding: 0.8rem;
}
.modal-callback h2{
	font-size:1.8rem;
	font-weight: bold;
	text-transform: uppercase;
	color:var(--main-link-color);
}

.form-input{
	margin:1rem 0;
}

figure.contain img, img.contain{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
figure.cover img, img.cover{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.offcanvas-control{
    padding: 1rem 1.2rem;
}

.form-box{
    position:relative;
}
.form-box.success .form-content{
    opacity:0;
}

.form-box .form-success{
    display:none;
}

.form-box.success .form-success{
    display:block;
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:100%;
}

.form-input.error, .form-input.error input{
	border-color:var(--bs-danger);
	color:var(--bs-danger);
}
.form-input.error .input-error{
	display: block;
}
.form-input .input-error{
    position:absolute;
    display:none;
    left:0px;
    top:55px;
    padding:5px;
    border-radius:5px;
    background: var(--bs-danger);
    color:#ffffff;
    z-index:3;
}
.form-input .input-error:after{
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7px 6px 7px;
    border-color: transparent transparent var(--bs-danger) transparent;
    left:15px;
    top:-6px;
    content:'';
    position:absolute;
}


@media (max-width: 520.98px) {
    header .row.gx-5{
        --bs-gutter-x: 1.5rem;
    }
	header .logo{
		width:180px;
	}
	header{
		overflow:hidden;
	}
	#cart-offcanvas .cart-list .cart-item .price{
	    padding:0.5rem 0;
	}
	#call-to-action{
		text-align: center;
	}
	#call-to-action figure.background{
		height:100%;
		padding-bottom: 0;
	}

	#flying-catalog .catalog-submenu .catalog-submenu-box{
		width:100%;
		margin-bottom:15px;
	}

	.unweb-3d-gallery{
		position: relative;
		height: 500px;
		overflow: hidden;
	}
	.unweb-3d-gallery .image-gallery-item{
		width: 100%;
		height: 500px;
		left: auto;
		right: auto;
		margin: auto;
	}
	.unweb-3d-gallery .image-gallery-item.next, .unweb-3d-gallery .image-gallery-item.prev{
		opacity: 0;
	}
}

@media (max-width: 350.98px) {
    header .logo{
		width:160px;
	}
}

@media (min-width: 521px) and (max-width: 758.98px) {
	.container {
		max-width: 650px;
	}
	header .header-menu{
		padding:0 15px;
	}
	header .logo{
		width:180px;
	}
	#call-to-action{
		text-align: center;
	}
	#call-to-action figure.background{
		height:100%;
		padding-bottom: 0;
	}
	#flying-catalog .catalog-submenu .catalog-submenu-box{
		width:100%;
		margin-bottom:15px;
	}
	#flying-catalog .catalog-menu {
		box-shadow: -50px 0 0 #f7f7f7;
	}

	.unweb-3d-gallery .image-gallery-item{
		width: 70%;
		height: 400px;
		left: auto;
		right: auto;
		margin: auto;
	}


}

@media (min-width: 759px) and (max-width: 999.98px) {
	.container {
		max-width: 900px;
	}
	header .header-menu{
		padding:0 15px;
	}
	header .logo{
		width:200px;
	}
	#call-to-action{
		text-align: center;
	}
	#call-to-action figure.background{
		height:100%;
		padding-bottom: 0;
	}
	#flying-catalog .catalog-submenu .catalog-submenu-box{
		width:100%;
		margin-bottom:15px;
	}

	.unweb-3d-gallery .image-gallery-item{
		width: 70%;
		height: 500px;
		left: auto;
		right: auto;
		margin: auto;
	}
}

@media (min-width: 1000px) and (max-width: 1199.98px) {
	.container {
		max-width: 1000px;
	}
	header .logo{
		width:190px;
	}
	header .header-phone{
		padding-left: 45px;
	}
	header .header-phone svg, header .header-address svg{
		width:30px;
		height:30px;
	}
	header .header-phone h5{
		font-size:1rem;
	}
	header .header-phone .callback{
		font-size:0.8rem;
	}
	header .header-address{
		padding-left: 45px;
		font-size:0.8rem;
	}
	nav ul.main-menu li {
		padding:0 1.5rem;
		font-size:0.9rem;
	}
	#flying-catalog .catalog-submenu .catalog-submenu-box{
		width:50%;
		margin-bottom:15px;
	}
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
	.container {
		max-width: 1280px;
	}
	header .logo{
		width:190px;
	}
	header .header-phone{
		padding-left: 45px;
	}
	header .header-phone svg, header .header-address svg{
		width:30px;
		height:30px;
	}
	header .header-phone h5{
		font-size:1rem;
	}
	header .header-phone .callback{
		font-size:0.8rem;
	}
	header .header-address{
		padding-left: 45px;
		font-size:0.8rem;
	}
}


@media (min-width: 1400px) and (max-width: 1599.98px) {
	.container {
		max-width: 1320px;
	}
}

@media (min-width: 1600px) and (max-width: 1899.98px){
	.container {
		max-width: 1350px;
	}
}

@media (min-width: 1900px) and (max-width: 2199.98px){
	.container {
		max-width: 1650px;
	}
}

@media (min-width: 2200px) {
	.container {
		max-width: 2100px;
	}
}