body {
	font-family: 'GOST Type BU';
	margin: 0;
	padding: 0;
	font-size: 1.3rem;
	color: #2e2480;
}
html { width:100%; height: 100%; }
.menu {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	z-index: 1000;
	background: #fff;
}
a {
	color: #2e2480;
	text-decoration: none;
}
h2 {
	color: #2e2480;
	padding: 5px 0px 5px 0px;
	margin: 5px 0px 5px 0px;
	font-size: 1.4rem;
}
nav.menu {
	height: 80px;
	padding: 10px 0px 0px 0px;
}
.menu div {
	position: relative;
	padding: 0px;
	font-size: 38px;
	font-weight: bold;
	border-bottom: 3px solid #2e2480;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background-color: #fff;
}
.menu div.active {
	border-bottom: none;
	margin: 0px 0px -24px 0px;
}
.menu div.unactive {
	margin: 0px 0px -47px 0px;
}
.menu div.first, .menu div.last {
	flex: 1 1 auto;
	margin: 0px 0px -34px 0px;
}
.menu div a {
	font-size: 1.7rem;
	padding: 0px 20px 0px 20px;
}

.menu div a.top_logo {
	padding: 0px 20px 0px 0px;
}
#calcerror {
	color: red;
}

.menu div.active a {
	border: 3px solid #2e2480;
	border-radius: 8px 10px 0 0;
	border-bottom: 0px;
	padding: 14px 20px 8px 20px;
}
.logo {
	height: 80px;
	max-width: 100%;
	margin: 0px 0px -8px 0px;
}
.withicon {
	background: url(./images/bgicon.png) no-repeat left bottom;
	padding: 55px 15px 5px 46px;
	color: #2e2480;
	border-bottom: 4px solid #2e2480;
	border-radius: 0px 0px 0px 7px;
	display: block;
	margin: 20px auto;
	max-width: 85%;
}
.content {
	min-width: 510px;
	max-width: 1200px;
	width: 80%;
	margin: 140px auto 60px auto;
}
.width-input {
	width: 68px;
}
.clear-both {
	clear: both;
}

nav.mobile {
	width: 100%;
	background-color: #fff;
	display: none;
}

.menu-toggle {
	display: none;
	flex-direction: column;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	-webkit-focus-ring-color: transparent;
	outline: none;
}

.menu-toggle span {
	height: 3px;
	width: 25px;
	background: #2e2480;
	margin: 4px 0;
	border-radius: 2px;
	transition: 0.3s;
}

.menu-toggle .toggle-menu {
	display: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-focus-ring-color: transparent;
	outline: none;
}
.content.contacts .contacts-content-desktop {
	margin: auto;
	width: 100%;
}
.content.contacts .contacts-map {
	float: left;
	width: 50%;
}
.content.contacts .contacts-lines {
	float: left;
	margin: 0px 0px 0px 20px;
}
.content.contacts .contacts-lines div {
	font-size: 1.3rem;
}

.contacts-content-mobile {
	display: none;
}

div.detail-material {
	display: flex;
	margin: 0px 0px 15px 0px;
}

div.detail-material table {
	border: solid 1px #000;
	width: 100%;
	border-collapse: collapse;
}
div.detail-material table td, div.detail-material table th {
	border: solid 1px #000;
	padding: 2px;
	color: #000;
}
.material-list h2 {
	font-size: 1.3rem;
	color: #2e2480;
	text-align: left;
	width: 100%;
	margin: auto;
	padding: 0px 0px 5px 0px;
}


.calc_type_fill, .calc_type_material {
	border: solid 1px #2e2480;
	padding: 4px;
	border-radius: 6px;
	margin: 0px 10px  0px 0px;
	float: left;
	cursor: pointer;
}

.submit-button {
	border: solid 1px #2e2480;
	padding: 6px;
	color: #fff;
	background-color: #2e2480;
	border-radius: 6px;
	font-size: 1.2rem;
}
.upload-button {
	display: block;
	width: 7.4rem;
	cursor: pointer;
}

.cursor-pointer {
	cursor: pointer;
}

#form_calculated {
	width: 100%;
	margin: 20px auto;
}

#form_calculated .withicon {
	width: 100%;
}

#form_calculated .withicon {
	margin: 5px 0px 10px 0px;
	padding: 30px 15px 5px 30px;
}

.calc_type_fill.active, .calc_type_material.active {
	background-color: #2e2480;
	color: #fff;
}

.sendcalcerror, .calcerror {
	font-size: 1.1rem;
	color: red;
}

.sendcalcok, .calcok {
	font-size: 1.1rem;
	color: green;
	display: none;
}

.grecaptcha-badge {
	visibility: hidden;
}

.delivery-text, .delivery-sdek {
	float: left;
	width: 50%;
}

.list-send-last-calc {
	width: 100%;
	border: 1px solid #2e2480;
	border-radius: 10px 10px;
	padding: 4px;
	background-color: aliceblue;
}

.select-last-calc {
	background-color: aliceblue;
	padding:2px;
	margin: 2px;
	border: 1px solid transparent;
	border-radius: 10px 10px;
	font-size: 1.2rem;
	cursor: pointer;
}

.select-last-calc.active {
	background-color: #2e2480;
	color: #FFF;
}

#stlModelShow {
	width: 650px;
	height: 515px;
	float: left;
}

.formCalc {
	padding: 0px 0px 10px 0px;
	margin: 0px 0px 0px 10px;
	float: left;
	width: 45%;
}

.canvasContainer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

#loaderModel {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.calcDescribe {
	width: 90%;
	font-size: 1.3rem;
}

.textMain {
	width: 1130px;
	margin: 0px auto 30px auto;
	font-size: 1.1rem;
}

.sendmycalc, .sendrecalc {
	width: 46%;
	float: left;
}

div.openPopup.sendmycalc, div.openPopup.sendrecalc {
	cursor: pointer;
}

form.send-my-calc input, form.send-my-calc textarea {
	border: 1px solid #2e2480 !important;
	border-radius: 10px 10px;
	width: 400px;
	font-size: 1.2rem;
	line-height: 1.2rem;
}

.formCalc input {
	border: 1px solid #2e2480 !important;
	border-radius: 10px 10px;
	font-size: 1.2rem;
	line-height: 1.2rem;
	width: 120px;
}

form.send-my-calc textarea {
	height: 100px;
}

#send-my-calc-bufiles textarea, #send-my-calc-bufiles input {
	width: 100%;
}

#popup div.content {
	margin: 10px auto 20px auto;
}

.line.address {
	background: url(/local/templates/3dprint/images/locationicon.jpeg) no-repeat left center;
}

.line.work-time {
	background: url(/local/templates/3dprint/images/worktime.jpeg) no-repeat;
}

.line.phone {
	background: url(/local/templates/3dprint/images/phoneicon.jpeg) no-repeat;
}

.line.email {
	background: url(/local/templates/3dprint/images/emailicon.jpeg) no-repeat;
}

.line.address, .line.work-time, .line.phone, .line.email {
	padding: 0px 0px 0px 40px;
	margin: 0px 0px 5px 0px;
	line-height: 1.9rem;
}

#as_calc_comment {
	color: red;
	font-size: 1.1rem;
}

.upload-button {
	width: fit-content;
}

.underCalcmodel {
	display: none;
}

.loader {
	border: 12px solid #f3f3f3; /* светлый круг */
	border-top: 12px solid #3498db; /* цвет вращающейся полосы */
	border-radius: 50%;
	width: 20px;
	height: 20px;
	animation: spin 1s linear infinite; /* анимация */
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.cookie-banner {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 999999;

	width: 420px;           /* шире */
	padding: 14px 20px;     /* ниже и площе */
	background: #0A84FF;
	color: #fff;

	border-radius: 10px;    /* меньше скругление = более плоский */
	box-shadow: 0 6px 16px rgba(0,0,0,0.15);

	font-size: 15px;
	line-height: 1.35;
}

.cookie-banner h2 {
	margin: 0 0 6px 0;
	font-size: 17px;
}

.cookie-banner button {
	margin-top: 10px;
	padding: 8px 16px;
	background: #fff;
	color: #0A84FF;
	border: none;
	border-radius: 20px;
	font-weight: bold;
	cursor: pointer;
}

.footer {
	flex-shrink: 0;
	padding: 20px;
	text-align: center;
}

.itemgallerymain {
    text-align: center;
}

.itemgallerymain img {
    margin: 0 auto;
    display: block;
}


@media (max-width: 1200px) {
	.gallery-item {
		width: 100%;
		height: auto;
	}
	.cookie-banner {
		width: 90%;
		padding: 14px;
		bottom: 10px;
		font-size: 14px;
		border-radius: 12px;
	}

	.cookie-banner h2 {
		font-size: 16px;
		margin-bottom: 8px;
	}

	.cookie-banner p {
		font-size: 13px;
		line-height: 1.3;
	}

	.cookie-banner button {
		padding: 8px 14px;
		font-size: 14px;
		border-radius: 20px;
	}

	.list-send-last-calc {
		width: auto;
	}
	.textMain {
		width: 85%;
		margin: 0px auto 10px auto;
		font-size: 1.1rem;
	}

	#as_calc_comment {
		display: none;
	}

	form.send-my-calc input, form.send-my-calc textarea {
		width: 98%;
	}

	.underCalcmodel {
		display: block;
	}

	.calcDescribe {
		font-size: 1.1rem;
		margin: auto;
	}

	.formCalc {
		width: 90%;
		margin: 10px auto 0px auto;
		float: none;
	}
	.content {
		width: 90%;
		margin: 65px auto 20px auto;
		padding: 00px;
	}
	.sendmycalc, .sendrecalc {
		width: 100%;
		float: none;
	}
	#stlModelShow {
		width: 100%;
		height: 250px;
	}
	#bx-panel {
		display: none !important;
	}

	.delivery-text, .delivery-sdek {
		float: none;
		width: 90%;
		display: block;
		margin: 0px auto 15px auto;
		text-align: justify;
	}

	.contacts-content-desktop {
		display: none;
	}
	.material-list h2 {
		width: 95%;
		font-size: 1.1rem;
	}

	div.detail-material table tr td {
		font-size: 1.3rem;
	}

	div.detail-material {
		width: 95%;
		margin: 0px 8px 10px 8px;
	}

	div.detail-material table {
		width: 100%;
	}

	.contacts-content-mobile {
		display: block;
		width: 100%;
	}

	.content.contacts .contacts-content-mobile .contacts-map {
		float: none;
		width: 100%;
	}

	.content.contacts .contacts-content-mobile .contacts-lines {
		width: 95%;
		margin: 0px auto 20px auto;
		float: none;
	}

	.content.contacts .contacts-content-mobile .contacts-lines .line {
		padding: 4px 0px 4px 40px;
	}

	.menu-toggle.active .toggle-menu {
		display: block;
	}

	.toggle-menu {
		border: 3px solid #2e2480 !important;
		border-radius: 10px 10px;
	}

	.menu {
		flex-direction: column;
		align-items: center;
	}

	.menu div {
		font-size: 20px;
		padding: 8px 0;
		border-bottom: none;
	}

	.menu div.active a {
		border-radius: 6px;
		padding: 8px 15px;
	}

	.withicon {
		padding: 40px 10px 5px 40px;
		font-size: 1.7rem;
	}

	nav.menu.desktop {
		display: none;
	}

	nav.menu.mobile {
		display: block;
		height: 50px;
	}

	nav.menu.mobile .menu-toggle {
		background: url(/local/templates/3dprint/images/toplogo.png);
		background-size: 149px 49px;
		background-position: right 10px top;
		background-repeat: no-repeat;
	}

	#form_calculated {
		width: 100%;
		margin: 20px auto;
	}

	.menu-toggle .toggle-menu {
		margin: -31px 10px;
		padding: 0px;
	}

	.menu.mobile div {
	}

	.menu.mobile div.bgin {
		background-color: #FFF;
		margin: 40px 0px;
		display: none;
	}

	.menu.mobile .menu-toggle .toggle-menu a {
		display: block;
		border: solid 0px;
	}

	.content {
		min-width: 100%;
	}
}