/*
	Theme Name: elsv24
	Author: Atuin
	Description: Учебный центр по охране труда
	Requires at least: 5.9
	Tested up to: 5.9
	Requires PHP: 5.6
	Version: 1
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	Text Domain: elsv24
	Tags: 
	elsv24 WordPress Theme, (C) 2021 WordPress.org
	elsv24 is distributed under the terms of the GNU GPL.
*/
/*
	html {
    scroll-behavior: smooth;
	} 
*/	

/* -------------------------------------------------------------------- Главные стили */
::selection {
    background: #0E8CC0;
	color: #fff;
}
::-moz-selection {
    background: #0E8CC0;
	color: #fff;
}
::-webkit-input-placeholder {font-size: 16px;}
::-moz-placeholder {font-size: 16px;}         
:-moz-placeholder {font-size: 16px;}
:-ms-input-placeholder {font-size: 16px;}
:focus::-webkit-input-placeholder {opacity: 0;}	
:focus::-moz-placeholder {opacity: 0;}	
:focus:-moz-placeholder {opacity: 0;}	
:focus:-ms-input-placeholder {opacity: 0;}	

* {
	outline: none;
}
body {
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	color: #000;
	font-weight: 300;
}
body p {
	line-height: 1.4;
}
body p:last-child {
	margin-bottom: 0;
}
body p b {
	font-weight: 500;
}
@media screen and (max-width:991px) {
	body {
		font-size: 16px;
	}	
}
@media screen and (max-width:767px) {
	body {
		font-size: 15px;
	}	
}
@media screen and (max-width: 575px) {
	body {
		font-size: 14px;
	}	
}
img {
	max-width: 100%;
	height: auto;
}	
a {
	color: #000;	
	transition: all .3s; 
}
a:hover {
	color: #000;	
	text-decoration: none;
}
p {
	color: #000;	
}
b, strong {
	font-weight: 500;
}
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	line-height: 1.1;
	color: #000;
	text-transform: uppercase;	
}
h2 strong,h3 strong,h4 strong,h5 strong,h6 strong {
	font-weight: 500;
}
h1 span, h2 span, h3 span {
	color: #FCC700;
}
h1, .h1 {
	font-size: 56px;
	margin-top: 20px;
}
h2, .h2, .htitle, .nohtitle {
	font-size: 26px;
	margin: 20px 0 16px;
	font-weight: 500;
	border-bottom: 3px solid #0E8CC0;
	display: inline-block;
	padding: 6px 0;
	text-transform: uppercase;
	position: relative;
}
h2::after, .h2::after, .htitle::after, .nohtitle::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 60px;
    height: 3px;
    background: #F97316;
}

h2:first-child, .h2:first-child {
	margin: 0 0 16px;
}
h3, .h3  {
	font-size: 24px;
	margin: 20px 0 10px;
	font-weight: 500;
}
h4, h5, .h4, .h5, .htitle, .nohtitle {
	font-size: 22px;
	margin: 20px 0 10px;
}
.htitle, .nohtitle {
	font-size: 24px;
	margin: -8px 40px 20px 0;
}
@media screen and (max-width:767px) {
	h2, h3, .h4 {
		/*	text-align: center;*/
		display: block;
		/*	border: none;*/
	}	
	/*
		h2::after, .h2::after, .htitle::after, .nohtitle::after {
		left: 50%;
		transform: translateX(-50%);
		height: 2px;
		}	
	*/
}
	h1, .h1 {
		margin-top: 10px;		
	}
@media screen and (max-width: 1199px) {
	h1, .h1 {
		font-size: 32px;
	}
	h2, .h2, .htitle, .nohtitle {
		font-size: 24px;
	}	
	
	h3, h4, h5, .h3, .h4, .h5 {
		font-size: 22px;
	}
}
@media screen and (max-width:767px) {
	h1, .h1 {
		font-size: 22px;
	}
	h2, .h2 {
		font-size: 20px;
	}	
	
	h3, h4, h5, .h3, .h4, .h5, .htitle, .nohtitle {
		font-size: 18px;
	}
}
.bblack {
	color: #000!important;
}
.w100 {
	width: 100%!important;
}
svg:not(:root) {
    overflow: visible;
}
hr {
	margin: 30px 0;
	height: 4px;
	background: rgba(81, 81, 81, 0.3);
	position: relative;
	overflow: hidden;
	border: none!important;
	width: 100%!important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
}	
@media screen and (max-width: 991px) {
	hr {
		margin: 40px 0;
	}		
}
hr:after {
	content: "";
	height: 4px;
	background: #0E8CC0;
	position: absolute;
	width: 20%;
	top: 0;
	left: 0;
}
.wp-block-group__inner-container {
	display: flex;
}

.wp-block-file {
	display: flex;
	margin: 0;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #ddd;
	padding: 4px;
}
.wp-block-file > a {
	font-size: 18px;
	border: none!important;
	font-weight: 500;
	line-height: 1.3;
}
.wp-block-file .wp-block-file__button {
	flex: 0 0 120px;
	text-align: center;
	justify-content: center;
}
@media screen and (max-width:767px) {
	.wp-block-group__inner-container {
		flex-wrap: wrap;
	}
	.wp-block-file > a {
		font-size: 15px;
		padding: 6px;
	}	
	.wp-block-file .wp-block-file__button {
		display: none!important;
	}
}
.hidden {
	display: none;
}
.c1 {
	color: #04458c!important;
}
.c2 {
	color: #0e8cc0!important;
}
.c3 {
	color: #F97316!important;
}
.b300 {
	font-weight: 300!important;
}
.b400 {
	font-weight: 400!important;
}
.b500 {
	font-weight: 500!important;
}
.b600 {
	font-weight: 600!important;
}
.b700 {
	font-weight: 700!important;
}
.b800 {
	font-weight: 800!important;
}
.b900 {
	font-weight: 900!important;
}
.bold {
	font-weight: bold;
}
.l11 {
	line-height: 1.1;
}
.l12 {
	line-height: 1.2;
}
.l113 {
	line-height: 1.3;
}
.text-center {
	text-align: center!important;
}
@media (max-width:577px) {
	.m-center {
		text-align: center!important;
		justify-content: center!important;
	}
}
.text-left {
	text-align: left!important;
}
.f11 {
	font-size: 11px!important;
}
.f13 {
	font-size: 13px!important;
}
.f14 {
	font-size: 14px!important;
}
.f15 {
	font-size: 15px!important;
}
.f16 {
	font-size: 16px!important;
}
.f18 {
	font-size: 18px!important;
}
.f20 {
	font-size: 20px!important;
}
.f22 {
	font-size: 22px!important;
}
.f24 {
	font-size: 24px!important;
}
.f26 {
	font-size: 26px!important;
}
@media screen and (max-width:767px) {
	.f14 {
		font-size: 13px!important;
	}
	.f15 {
		font-size: 13px!important;
	}
	.f16 {
		font-size: 14px!important;
	}
	.f18 {
		font-size: 15px!important;
	}
	.f20 {
		font-size: 16px!important;
	}
	.f22 {
		font-size: 18px!important;
	}
	.f24 {
		font-size: 20px!important;
	}
	.f26 {
		font-size: 22px!important;
	}
}
.red {
	color: #4a4a4a;
}
.bgred {
	background: #4a4a4a;
} 
.white, 
.white a  {
	color: #FFF!important;	
}
.tolink {
	cursor: pointer;
}
.bgwhite {
	background: #FFF;
}
ul.llist {
	padding:0;
	list-style: none;
}
.llist ul,
.entry-content ul{
	padding: 0 0 10px 22px;
	list-style: none;
	margin-bottom: 0;
}
ol.wp-block-list {
	padding: 0 0 10px 22px;
	margin-bottom: 0;
}
.llist li,
.entry-content li {
	padding: 2px 2px 6px 10px;
	position: relative;
	line-height: 1.4;
}
ul.llist li:before,
.entry-content ul li:before {
	position: absolute;
	left: -10px;
	font-weight: 500;
	color: #0E8CC0;
	content: "\2714";
	transition-duration: 0.5s;
}
.llist ul li:before {
	padding-right:10px;
	font-weight: 500;
	color: #000;
	content: "\2013";
	transition-duration: 0.5s;
}
ul.llist li:hover:before,
.entry-content ul li:hover:before{
	color: #000;
}
ul.llist li strong {
	font-weight: 500;
}
.atuin_breadcrumbs-wrap {
	overflow: hidden;
	padding: 0 0 20px 0;
	position: relative;
	z-index: 1;
	/*border-top: 2px solid #0E8CC0;*/
}
/*
.atuin_breadcrumbs-wrap-top {
	padding: 0 0 14px 0;
	opacity: 0.65;
}
.atuin_breadcrumbs-wrap-top ul.atuin_breadcrumbs li {
	height: 20px;
	font-size: 11px;
	background: transparent;
	padding: 2px 12px 0 0;
	margin-right: 14px;
}
.atuin_breadcrumbs-wrap-top ul.atuin_breadcrumbs li a,
.atuin_breadcrumbs-wrap-top ul.atuin_breadcrumbs li a:hover,
.atuin_breadcrumbs-wrap-top ul.atuin_breadcrumbs li span {
	color: #cfe8f5;
}
*/
ul.atuin_breadcrumbs {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
ul.atuin_breadcrumbs li {
	color: #fff;
	display: block;
	background: #0E8CC0;
	text-decoration: none;
	position: relative;
	height: 26px;
	padding: 2px 16px 0 0;
	margin-right: 23px;
    font-size: 12px;
	transition: all 0.3s;
	font-weight: 400;
	line-height: 1.05;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;	
}
ul.atuin_breadcrumbs li a,
ul.atuin_breadcrumbs li a:hover,
ul.atuin_breadcrumbs li span {
	color: #fff;
	max-width: 300px;
	text-overflow: ellipsis; /* ставим троеточие */
	white-space: nowrap;
	overflow: hidden;	
}
ul.atuin_breadcrumbs li:nth-child(even)  {
	background-color: #0E8CC0;
}
ul.atuin_breadcrumbs li:nth-child(even):before {
	border-color: #0E8CC0;
	border-left-color: transparent;
}
ul.atuin_breadcrumbs li:nth-child(even):after {
	border-left-color: #0E8CC0;
}
ul.atuin_breadcrumbs li:first-child  {
	padding-left: 19px;
	border-radius: 4px 0 0 4px;
}
ul.atuin_breadcrumbs li:first-child:before {
	border: none;
}
ul.atuin_breadcrumbs li:last-child,
ul.atuin_breadcrumbs li:nth-child(3) {
	padding-right: 19px;
	border-radius: 0 4px 4px 0;
}
ul.atuin_breadcrumbs li:last-child:after,
ul.atuin_breadcrumbs li:nth-child(3):after{
	border: none;
}
ul.atuin_breadcrumbs li:before, 
ul.atuin_breadcrumbs li:after {
	content: "";
	position: absolute;
	top: 0;
	border: 0 solid #0E8CC0;
	border-width: 13px 10px;
	width: 0;
	height: 0;
	transition: all 0.3s;	
}
ul.atuin_breadcrumbs li:before {
	left: -20px;
	border-left-color: transparent;
}
ul.atuin_breadcrumbs li:after {
	left: 100%;
	border-color: transparent;
	border-left-color: #0E8CC0;
}
ul.atuin_breadcrumbs li:hover {
	background-color: #F97316;
	color: #fff;
}
ul.atuin_breadcrumbs li:hover:before {
	border-color: #F97316;
	border-left-color: transparent;
}
ul.atuin_breadcrumbs li:hover:after {
	border-left-color: #F97316;
}
ul.atuin_breadcrumbs li:nth-child(1) {
	animation-delay: 0.2s;
}
ul.atuin_breadcrumbs li:nth-child(2) {
	animation-delay: 0.3s;
}
ul.atuin_breadcrumbs li:nth-child(3) {
	animation-delay: 0.4s;
}
ul.atuin_breadcrumbs li:nth-child(4) {
	display: none;
}
@media screen and (max-width:991px) {
	.atuin_breadcrumbs-wrap {
		padding: 10px 0;
		display: none;
	}	
	ul.atuin_breadcrumbs {
		margin: 20px 0 0 0;
		
	}	
	ul.atuin_breadcrumbs li {
		background-color: #fff!important;
		color: #000!important;
		padding: 0 8px!important;
		margin: 0 2px;
	}
	ul.atuin_breadcrumbs li a {
		color: #000!important;
	}
	ul.atuin_breadcrumbs li:before, 
	ul.atuin_breadcrumbs li:after {
		display: none;
	}	
}
@media screen and (max-width:575px) {
	.atuin_breadcrumbs-wrap {
		padding: 0;
	}
}
/* -------------------------------------------------------------------- Форма */
.form-at {
	width: 100%;
	box-sizing: border-box; 
	font-size: 0;  
	letter-spacing: 0;	
}
.form-at * {
	box-sizing: border-box;	
}
.validate-input-at,
.no-validate-input-at{
	width: 100%;
	position: relative;
	background-color: #fff;
	border: 2px solid rgba(0,0,0,0.2);
	margin-bottom: 20px;
	border-radius: 6px;
}
.validate-input-at.w-50,
.no-validate-input-at.w-50 {
	width: calc(50% - 10px);
	display: inline-block;
}
.validate-input-at.w-50:first-child,
.no-validate-input-at.w-50:first-child {
	margin-right: 20px;
}
.input-at {
	display: block;
	width: 100%;
	background: transparent;
	color: #000;
}
input.input-at,
select.input-at,
.finput {
	height: 40px;
	padding: 0 12px 0 12px;
	font-size: 16px;
	outline: none;
	border: none;  
	width: 100%;
	border-radius: 6px;
}
textarea.input-at {
	min-height: 60px;
	padding: 12px;
	font-size: 16px;
	line-height: 22px;
	outline: none;
	border: none;
	resize: none;
}
textarea.input-at:focus, 
input.input-at:focus,
select.input-at:focus {
	border-color: transparent;
}
.focus-input-at{
	position: absolute;
	display: block;
	width: calc(100% + 4px);
	height: calc(100% + 4px);
	top: -2px;
	left: -2px;
	z-index: 100;
	pointer-events: none;
	border: 2px solid #0E8CC0;
	border-radius: 6px;
	visibility: hidden;
	opacity: 0;
	transition: all 0.4s;
	transform: scaleX(1.2) scaleY(1.3);
}
.input-at:focus + .focus-input-at {
	visibility: visible;
	opacity: 1;
	transform: scale(1);
}
.form-at-btn[disabled]{
    opacity: .6;
    cursor: not-allowed;
}
.alert-validate::before {
	content: attr(data-validate);
	position: absolute;
	max-width: 70%;
	background-color: #fff;
	border: 1px solid #c80000;
	border-radius: 6px;
	padding: 4px 25px 4px 10px;
	top: 50%;
	transform: translateY(-50%);
	right: 12px;
	pointer-events: none;
	color: #c80000;
	font-size: 13px;
	line-height: 1.4;
	text-align: left;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.4s;
}
.alert-validate::after {
	content: "i";
	display: block;
	position: absolute;
	color: #c80000;
	font-size: 18px;
	font-weight: bold;	
	top: 50%;
	transform: translateY(-50%);
	right: 22px;
}
.alert-validate:hover:before {
	visibility: visible;
	opacity: 1;
}
.error-at {
	color: red;
	padding: 10px 0;
}
.success-at {
	color: green;
	font-size: 22px;
	padding: 20px 0;
	font-weight: 500;
}
.top-slider-in .success-at {
	color: #e8f6df;
}
.top-slider-in .error-at {
	color: #faefef;
}
.form-at input[type=checkbox] {
    display:none;
}
.form-at input[type=checkbox] + label {
    display: block;
    position: relative;
    margin: 0 0 10px 34px;
    font-size: 13px;
    line-height: 14px;
    color: #000;
	text-align: left;
}
.form-at input[type=checkbox] + label a {
    color: #04458c;
	border-bottom: 1px solid #ddd;
	transition: 0.5s;
}
.form-at input[type=checkbox] + label a:hover {
	border-bottom: 1px solid #04458c;
}
.fileform input[type=checkbox] + label {
    margin: 0 0 0 34px;
}
.form-at input[type=checkbox] + label:before {
	box-sizing: border-box;
    position: absolute;
    content: '';
    width: 26px;
    height: 26px;
    line-height: 22px;
    left: -34px;
	border: 2px solid #0E8CC0;
	border-radius: 2px;
}
.form-at input[type=checkbox] + label.white:before {
	border: 2px solid #fff;
}
.form-at input[type=checkbox]:checked + label:before{
	content: '\2714';
    color:#0E8CC0;
    font-size: 14px;
    text-align: center;
    font-weight: bold;
	border: 2px solid #0E8CC0;
}
.form-at input[type=checkbox]:checked + label.white:before{
    color:#fff;
	border: 2px solid #fff;
}
@media (max-width: 768px) {
	.validate-input-at.w-50 {
		width: 100%;
	}
	.validate-input-at.w-50:first-child {
		margin-right: 0;
	}
	.alert-validate::before {
		visibility: visible;
		opacity: 1;
	}
}
.atuin-btn,
.btn-cta,
.btn-cta:active,
.wp-block-file .wp-block-file__button,
.wp-block-file .wp-block-file__button:active,
.atuin-btn:active,
.gwolle-gb-write-button .button,
.gwolle_gb_submit.button.btn.btn-primary,
.gwolle-gb-write-button .button:active,
.gwolle_gb_submit.button.btn.btn-primary:active {
	display: inline-flex;
	align-items: center;
	margin: 6px;
	text-decoration: none;
	position: relative;
	font-size: 18px;
	line-height: 20px;
	padding: 11px 22px;
	color: #fff!important;
	font-weight: 500;
	text-transform: uppercase; 
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 1px;
	background: #0E8CC0;
	cursor: pointer; 
	overflow: hidden;
	z-index: 1;
	border-radius: 6px;
	box-shadow: unset!important;
	opacity: 1!important;
	outline: none!important;
	border: none!important;
}
.wp-block-file .wp-block-file__button {
	font-size: 13px;
	padding: 4px 16px;
}
.atuin-btn:hover,
.atuin-btn:focus,
.btn-cta:hover,
.abtn-cta:focus,
.wp-block-file .wp-block-file__button:hover,
.wp-block-file .wp-block-file__button:focus,
.gwolle-gb-write-button .button:hover,
.gwolle_gb_submit.button.btn.btn-primary:hover,
.gwolle-gb-write-button .button:focus,
.gwolle_gb_submit.button.btn.btn-primary:focus{
	color: #FFF!important;
}
.atuin-btn:before,
.atuin-btn:active:before,
.atuin-btn:focus:before,
.btn-cta:before,
.btn-cta:active:before,
.btn-cta:focus:before,
.wp-block-file .wp-block-file__button:before,
.wp-block-file .wp-block-file__button:active:before,
.wp-block-file .wp-block-file__button:focus:before,
.gwolle-gb-write-button .button:before,
.gwolle_gb_submit.button.btn.btn-primary:before,
.gwolle-gb-write-button .button:active:before,
.gwolle_gb_submit.button.btn.btn-primary:active:before,
.gwolle-gb-write-button .button:focus:before,
.gwolle_gb_submit.button.btn.btn-primary:focus:before{
	content: '';
	position: absolute;
	top: 0;
	right: -90px;
	bottom: 0;
	left: 0;
	border-right: 90px solid transparent;
	border-top: 90px solid #04458c;
	transition: transform 0.5s;
	transform: translateX(-100%);
	z-index: -1;
}
.atuin-btn:hover:before,
.btn-cta:hover:before,
.wp-block-file .wp-block-file__button:hover:before {
	transform: translateX(0);
}

#search,
#offerForm {
	width: 100%;
}

.search-form {
	position: relative;
}
.search-form .no-validate-input-at {
	width: calc(100% - 80px);
}
.search-form .atuin-btn {
	position: absolute;
	top: -6px;
	right: -6px;
	border: none;
}
.search-form .atuin-btn svg {
	fill: #FFF;
	width: 22px;
	height: 22px;
}
.forma-btns .abtn {
	padding: 2px 5px 2px 10px;
	font-size: 15px;	
	margin: 2px;
	height: auto;
	cursor: pointer;
	border-radius: 6px;
	transition: 0.4s;
	pointer-events: none;
	display: inline-flex;
	align-items: center;	
	color: #000;
	background: #0E8CC0;
}
.forma-btns .abtn span {
	padding: 2px 5px 0 0;
}
.forma-btns .abtn svg {
	fill: #fff;
	width: 18px;
	height: 18px;
	margin-right: 6px;
}
.forma-btns .abtn.abtn--2 svg {
	fill: #fff;
}
.forma-btns .abtn.abtn--2:hover svg {
	fill: #fff;
}
.forma-btns .abtn.abtn--2 {
	pointer-events: auto;
	background: #04458c;
	color: #fff!important;
}
.forma p {
	margin-bottom: 10px;
}
.forma-btns {
	margin: 0 -2px 16px;
}
@media screen and (max-width: 767px) {
	.forma-btns {
		margin: 0 -2px 10px;
		text-align: center;
	}
}

/* -------------------------------------------------------------------- Увеличение фото */
.hover-image {
	font-size: 0;
}
.hover-image a {
	position: relative;
	z-index: 1;
	display: inline-block;
	overflow: hidden;
	height: auto;
	text-align: center;
	background: #0E8CC0;
	border-radius: 10px;
	text-decoration: none;
}
.hover-image a:hover {
	text-decoration: none;
}	
.hover-image a img {
	opacity: 1;
	transition: opacity 0.5s;
	position: relative;
	max-width: 100%;
	height: auto;
	display: block;
}
.hover-image a:hover img {
	opacity: 0.7;
}
.hover-image a span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.hover-image a span::before,
.hover-image a span::after {
	position: absolute;
	top: 20px;
	right: 20px;
	bottom: 20px;
	left: 20px;
	content: "";
	opacity: 0;
	transition: opacity 0.5s, transform 0.5s;
	pointer-events: none;
}
.hover-image a span::before {
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: scale(0, 1);
}
.hover-image a span::after {
	border-right: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: scale(1, 0);
}
.hover-image a:hover span::before,
.hover-image a:hover span::after {
	opacity: 1;
	transform: scale(1);
}
.hover-image span svg,
.hover-image span i {
	display: block;
	position: absolute;
	bottom: 30px;
	right: 30px;
	margin-bottom: -30px;
	margin-right: -30px;
	width: 60px;
	height: 60px;
	transition: 0.5s ease 0s;
	transform: scale(0.8);
	font-size: 48px;
	color: #0E8CC0;
	filter: drop-shadow(2px 4px 4px rgba(0,0,0,0.4));
}
.hover-image a:hover span svg,
.hover-image a:hover span i {
	transform: scale(1);
	opacity: 1;
	bottom: 50%;
	right: 50%;	
}
.hover-image.st a {
	overflow: hidden;	
	height: 240px;
	display: block;
	margin-bottom: 12px;
}
.hover-image.st a img{
	object-fit: cover;
	height: 240px;
	width: 100%;
}

/* Joomla Gallery Grid */
.joomla-gallery {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.joomla-gallery__item {
	position: relative;
	overflow: hidden;
}

.joomla-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Адаптивность */
@media (max-width: 992px) {
	.joomla-gallery {
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
	}
}

@media (max-width: 768px) {
	.joomla-gallery {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}

@media (max-width: 480px) {
	.joomla-gallery {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
}

.wp-block-gallery,
.joomla-gallery {
	margin: 10px 0 20px;
}
.wp-block-gallery figure,
.joomla-gallery figure {
	border-radius: 6px;
	overflow: hidden;
	margin: 0;
	font-size: 0;
	line-height: 0;	
}
.wp-block-gallery figure a{
	position: relative;
	z-index: 1;
	display: inline-block;
	overflow: hidden;
	height: auto;
	text-align: center;
}
.joomla-gallery figure a{
	position: relative;
	z-index: 1;
	display: inline-block;
	overflow: hidden;
	height: auto;
	text-align: center;
	aspect-ratio: 1/1;	
}
.wp-block-gallery figure a:hover,
.joomla-gallery figure a:hover {
	background: #0E8CC0;
}
.wp-block-gallery figure a svg,
.joomla-gallery figure a svg {
	opacity: 1;
	transition: opacity 0.5s;
	position: relative;
	max-width: 100%;
	height: auto;
	display: block;
}
.main-content .wp-block-image img,
.joomla .wp-block-image img{
	margin-bottom: 0;
}

/* Gallery - both WordPress & Joomla */
.wp-block-gallery figure img,
.joomla-gallery figure img {
	transition: opacity 0.3s;
	margin-bottom: 0;
	width: 100%;
	height: 100%;
}
.wp-block-gallery figure a,
.joomla-gallery figure a {
	border: none!important;
}
.wp-block-gallery figure a:hover img,
.joomla-gallery figure a:hover img {
	opacity: 0.5;
	border: none!important;
}

.wp-block-gallery figure a span,
.joomla-gallery figure a span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.wp-block-gallery figure a span::before,
.wp-block-gallery figure a span::after,
.joomla-gallery figure a span::before,
.joomla-gallery figure a span::after {
	position: absolute;
	top: 20px;
	right: 20px;
	bottom: 20px;
	left: 20px;
	content: "";
	opacity: 0;
	transition: opacity 0.5s, transform 0.5s;
	pointer-events: none;
}

.wp-block-gallery figure a span::before,
.joomla-gallery figure a span::before {
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: scale(0, 1);
}

.wp-block-gallery figure a span::after,
.joomla-gallery figure a span::after {
	border-right: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: scale(1, 0);
}

.wp-block-gallery figure a:hover span::before,
.wp-block-gallery figure a:hover span::after,
.joomla-gallery figure a:hover span::before,
.joomla-gallery figure a:hover span::after {
	opacity: 1;
	transform: scale(1);
}

.wp-block-gallery figure span svg,
.wp-block-gallery figure span i,
.joomla-gallery figure span svg,
.joomla-gallery figure span i {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -24px;
	margin-left: -24px;
	width: 48px;
	fill: #0E8CC0;
	height: 48px;
	transition: transform 0.5s ease 0s;
	transform: scale(0);
	font-size: 48px;
	color: #0E8CC0;
}

.wp-block-gallery figure a:hover span svg,
.wp-block-gallery figure a:hover span i,
.joomla-gallery figure a:hover span svg,
.joomla-gallery figure a:hover span i {
	transform: scale(1);
	opacity: 1;
}
.wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 100%;
}
.wp-block-gallery.has-nested-images figure.wp-block-image {
    flex-grow: 0!important;
}
.wp-block-gallery {
    --wp--style--unstable-gallery-gap: unset !important;
}
.document-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    margin: 0;
    width: 100%;
    height: 100%;	
}
.swiper-pagination {
	position: static;
	padding-top: 10px;
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #04458c;
}
.swiper-slide {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
	height: auto;
}


table {
	width:100%;
	border: 2px solid #0E8CC0!important;
	margin: 4px 0 20px 0;
	table-layout: auto!important;
}
table td, table th {
	line-height: 24px;
	padding:6px 12px;
	font-size: 16px;
	border: 2px solid #0E8CC0!important;
	line-height: 1.3;
	word-break: normal!important;
	min-width: 100px;
}
table th {
	line-height: 24px;
	padding:6px 12px;
	font-size: 16px;
	background: #0E8CC0!important;
	border: 2px solid #fff!important;
	color: #fff;
	line-height: 1.3;
	word-break: normal!important;
}
table td p {
	margin: 0;
}
table thead {
	border: none!important;
}
table thead tr {
	border: 2px solid #0E8CC0!important;
}
table td:first-child, table th:first-child{
	border-left: none;
}
@media (max-width:550px) {
	table {
		width:100%;
		border: 1px solid #0E8CC0!important;
		margin:0;
	}
	table thead tr {
		border: 1px solid #0E8CC0!important;
	}	
	table td, table th {
		line-height: 20px;
		padding:6px;
		font-size:13px;
		border: 1px solid #0E8CC0!important;
	}
	table td p, table th p  {
		font-size:13px;
	}
}
.struk.wp-block-table tr th {
	text-align: center;
}
.struk.wp-block-table tr td:nth-child(3),
.struk.wp-block-table tr td:nth-child(4){
    white-space: nowrap;
}



.section {
	padding: 50px 0;
}
.section-color {
	background:  #fafafa;
}

@media (max-width:768px) {
	.section {
		padding: 40px 0;
	}
}
.section a:not([data-fancybox]) {
	color: #04458c;
	border-bottom: 1px solid #0E8CC0;
	transition: 0.4s;
}
.section a:not([data-fancybox]):hover {
	color: #F97316;
	border-bottom: 1px solid #000;
}
/* -------------------------------------------------------------------- Шапка сайта */

.top-header {
	background: #04458c;
	color: #fff;
	padding: 4px 0;
}
.top-header-2 {
	background: #0E8CC0;
}
.down-header {
	padding: 10px 0;	
}
.down-header .logo img {
	width: 100%;
	max-width: 180px;
}
.top-name {
	font-size: 15px;
	text-transform: uppercase;
	font-weight: 500;	
}
.top-name a {
	position: relative;
	color: #fff;
}
.top-name a:after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-down'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-size: contain;
	content: "";
	width: 16px;
	height: 16px;
	position: absolute;
	top: 2px;
	right: -18px;
	font-size: 14px;	
}

.top-line {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}
@media screen and (max-width:991px) {
	.top-line {
		justify-content: center;
	}
	.top-name {
		margin: 6px;
		text-align: center;
	}	
	.top-header-2 {
		display: none;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		max-height: 130px;
		z-index:2;
	}
	.top-header-2.active {
		display: flex;
	}
}

.top-line .tline {
	margin: 4px 0;
}
.footer-line {
	display: flex;
	flex-wrap: wrap;
}
.top-line .tline,
.tfooter .tline {
    display: flex;
    align-items: center;
}
.top-line .tline .tcircle,
.top-line .tline .tcircleline,
.tfooter .tline .tcircle,
.tfooter .tline .tcircleline {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;	
	height: 32px;
	width: 32px;
	background: #0E8CC0;
	border-radius: 50%;
	margin-right: 6px;	
	transition: 0.4s;
}
.top-header-2 .top-line .tline .tcircleline,
.top-header-2 .top-line .tline .tcircle {
	background: #04458c;
	
}
.top-header-2 .top-line .tline .tcircleline:hover,
.top-header .top-line .tline:hover .tcircle {
	background: #F97316;
}
.top-line .tline .tcircle,
.tfooter .tline .tcircle {
	flex: 0 0 32px;
}
.tfooter .tline .tcircle {
	background: #0E8CC0;
	margin-right: 12px;
}
.tfooter .tline {
	align-items: flex-start;	
}
.top-line .tline .tcircleline,
.tfooter .tline .tcircleline {
    color: #FFF;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	width: auto;
	border-radius: 6px;
	padding: 0 16px;
}

.tfooter .footer-line .tline {
	margin-top: 16px;
}
.tfooter .footer-line .tline .tcircle,
.tfooter .footer-line .tline .tcircleline {
	height: 38px;
	width: 38px;
	margin-right: 9px;
	color: #04458c;
	transition: 0.3s;
	border: none;
}
.tfooter .footer-line .tline .tcircleline {
	margin-right: 0;
	background: #0E8CC0;
	color: #fff;
}
.tfooter .footer-line .tline .tcircleline:hover {
	background: #F97316;
}
.tfooter .footer-line .tline .tcircle {
	flex: 0 0 38px;
}
.tfooter .footer-line .tline .tcircleline {
	width: auto;
	font-size: 13px;
	border-radius: 18px;
	padding: 0 14px;	
}
.top-line .tline .tlink,
.tfooter .tline .tlink {
    color: #FFF;
	font-size: 15px;
	font-weight: 500;
	padding-right: 10px;
}

.tfooter.contacts .tline .tlink {
	color: #000;
	font-weight: 400;
	font-size: 18px;
}
.tfooter .tline .tlink {
	padding-top: 4px;
	padding-right: 2px;
	font-size: 16px;
}
@media screen and (max-width: 575px) {
	.tfooter .tline .tlink {
		padding-top: 4px;
		padding-right: 2px;
		font-size: 15px;
	}	
	.tfooter.contacts .tline .tlink {
		font-size: 16px;
	}	
}
.top-line .tline .tcircle svg,
.tfooter .tline .tcircle svg {
	fill: #FFF;
	width: 16px;
	height: 16px;
}
.tfooter .tline .tcircle svg {
	fill: #fff;
	width: 16px;
	height: 16px;
	transition: 0.3s;
}
.tfooter .tline a.tcircle:hover {
	background: #F97316;
}

.tfooter .footer-line .tline .tcircle svg {
	width: 22px;
	height: 22px;
	fill: #fff;
}
.tfooter .footer-line .tline .tcircle:hover  {
	background: #F97316;
}
@media screen and (max-width:767px) {
	.top-line .tline .tlink{
		display: none;
	}
	.top-line .tline .tcircleline{
		font-size: 11px;
	}	
}
@media screen and (max-width:1199px) {
	.down-header {
		padding: 10px 0 4px;
	}	
	.down-header .logo  {
		position: absolute;
		z-index:1;
		width: auto;
	}
	.down-header .logo img  {
		max-width: 140px;
	}	
	
}
@media screen and (max-width: 767px) {		
	.top-header .top-name {
		font-size: 13px;
	}
	.down-header .top-icon {
		display: flex;
		justify-content: center;
	}
	.down-header .top-icon-2 {
		min-width: 240px;
	}
	
	.tfooter .tline .tcircle,
	.tfooter .tline .tcircleline {
		margin-right: 6px!important;	
		margin-left: 6px;	
	}	
	
}	
.shad {
	box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.15);
}

.page-top {
	padding: 40px 0;
	background-color: #04458c;
	position: relative;
	overflow: hidden;
}
.page-top .col-lg-4 {
align-self: center;
}
.page-top-2  {
	padding: 0 0 8px;
	font-size: 20px;
	color: #fff;
	position: relative;
	z-index: 1;
}
.h1 + .page-top-2 {	
	margin: 20px 0;
}

.page-top-2 p  {
	color: #fff;
}
.page-top-2 a  {
	color: #fff;
	font-weight: 600;
}
@media screen and (max-width: 767px) {
	.page-top-2  {
		font-size: 15px;
		text-align: center;
	}	
}
.page-top-lines {
	width: 20%;
	height: calc(100% + 20px);	
	position: absolute;
	top: 0;
	right: 0;
}

.page-top-line {
	background-color: #044b96;
	position: absolute;
	top: 0;
	left: 0;
	width: 10%;
	height: 100%;
	transform: translateX(50vw); 
}

.page-top-line:nth-child(1) {
	left: 0%;
	animation: slideIn 1.8s cubic-bezier(0.34, 1.26, 0.64, 1) 1s forwards;
}

.page-top-line:nth-child(2) {
	left: 20%;
	animation: slideIn 1.8s cubic-bezier(0.34, 1.26, 0.64, 1) 1.15s forwards;
}

.page-top-line:nth-child(3) {
	left: 40%;
	animation: slideIn 1.8s cubic-bezier(0.34, 1.26, 0.64, 1) 1.3s forwards;
}

.page-top-line:nth-child(4) {
	left: 60%;
	animation: slideIn 1.8s cubic-bezier(0.34, 1.26, 0.64, 1) 1.45s forwards;
}

@keyframes slideIn {
	0% {
		transform: translateX(50vw);
	}
	
	100% {
		transform: translateX(0);
	}
}
.h1 {
	font-size: 36px;
	text-transform: uppercase;
	font-weight: 500;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 767px) {
    .h1 {
		font-size: 20px;
		text-align: center;
	}
	.topgood .text-center div {
		font-size: 16px;
		height: 100px;
		
	}	
	.cat-row {
		margin: 0;
	}	
}
.map {
	box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
	border-radius: 12px;
	border: 2px solid #fff;
	overflow: hidden;
}
.shadow {
	background: #FFF;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
}
.shadow2 {
	position: relative;
	z-index: 2;
	overflow: hidden;
}
.shadow2 a h4 {
	transition: all .4s; 
	position: absolute;
	height: 100%;
	font-size: 20px;
	z-index: 2;
	color: #FFF;
	left: 0;
	top: 0;
	width: 100%;
	padding: 10px 20px;
	overflow: hidden;
	background-color: rgba(0, 0, 0, 0.6);
	background-image: url(/img/tsite-3.png);
	background-position: right -30px bottom -30px;
	background-repeat: no-repeat;
	background-size: contain;	
	transition: all .4s; 	
}
.shadow2 a img {
	transition: all .6s; 
	transform: scale(1);
	height: 220px;
	width: 100%;
	object-fit: cover;
	object-position: center center;
	transition: all .4s; 	
}
.shadow2 a:hover h4 {
	background-color: rgba(0, 135, 194, 0.5);	
	background-position: right -80px bottom -80px;
}
.shadow2 a:hover img {
	transform: scale(1.2);
}
.shadow2 .butoffer {
	text-align: center;
}
.shadow2 .butoffer a {
	min-height: 70px;
	display: inline-flex;
    align-items: center;
    justify-content: center;	
}
.mcatalog {
	padding: 5px;
}
.sticky-content.fixed .logo img {
	height: 34px;
	width: auto;
}
.sticky-content.fixed .down-header {
	padding: 8px 0;
}
.sticky-content.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
	z-index: 9999;
	background: #FFF;
	box-shadow: 0 15px 15px 1px rgba(0, 0, 0, 0.1);
}
.sticky-content.fixed .menu-container {
	background: #FFF;
}
/*
	@media screen and (max-width:991px) {
	.sticky-content.fixed .menu-container {
	background: #FFF;
	}	
	.sticky-content.fixed {
	position: static;
	}
	.sticky-anchor {
	display: none;
	}
	}
*/
/*================================================
	Pagination Area CSS
=================================================*/
.navigation.pagination,
.page-navigation {
	text-align: center!important;
	display: block;
}
.nav-links {
	margin-top: 15px;
	text-align: center;
	display: block;
}

.nav-links .page-numbers,
.page-navigation a,
.page-navigation .page-numbers.current {
	width: 45px;
	height: 45px;
	margin: 4px 2px;
	display: inline-block;
	background-color: #ffffff;
	line-height: 45px;
	color: #04458c;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05), 0 8px 24px rgba(0, 0, 0, 0.025), 0 12px 30px rgba(0, 0, 0, 0.01);
	border-radius: 4px;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	opacity: 1;
	border: none;
}
@media screen and (max-width: 767px) {
	.nav-links .page-numbers,
	.page-navigation a,
	.page-navigation .page-numbers.current {
		width: 35px;
		height: 35px;
		line-height: 35px;
	}
}

.nav-links .page-numbers.current, 
.nav-links .page-numbers:hover, 
.nav-links .page-numbers:focus,
.page-navigation .page-numbers.current, 
.page-navigation a:hover, 
.page-navigation a:focus {
	background: #04458c;
	color: #ffffff;
	border: none;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.04);
}
.menu-container {
	width: 100%;
	margin: 0 auto;
}

.menu-mobile:after {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24' fill='none' stroke='%2304458c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-menu'%3E%3Cline x1='3' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='21' y2='18'%3E%3C/line%3E%3C/svg%3E ");
	width: 46px;
	height: 40px;
	padding: 0;
	color: #FFF;
	top: 2px;
	right: 0;
	position: absolute;
	cursor: pointer;
	pointer-events: auto;
	transform: rotateY(0);
	transition: transform 0.5s;
}
.menu-mobile-close:after {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24' fill='none' stroke='%23F97316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");
	transform: rotateY(180deg);
}
.menu-dropdown-icon:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%2304458c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-down'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	content: "";
	width: 30px;
	height: 30px;
	display: none;
	cursor: pointer;
	position: absolute;
	right: 10px;
	margin: 2px 6px;
	color: #FFF;
	font-size: 20px;	
	transform: rotateX(0);
	transition: 0.5s;
	background-position: center center;
	background-repeat: no-repeat;	
}
.menu-dropdown-icon.lis:before {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%2304458c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");
	transform: rotateX(180deg);
	background-size: 80%;	
}


.menu > ul > li.menu-item-has-children > a {
	position: relative;	
	margin-right: 14px;
}
.menu-item-has-children > a:after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%23F97316' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-down'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-size: contain;
	content: "";
	width: 16px;
	height: 16px;
	position: absolute;
	top: 16px;
	right: -8px;
	font-size: 13px;	
}
.menu > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	margin: 0 auto;
	width: 100%;
	list-style: none;
	position: relative;
	box-sizing: border-box;
	flex-direction: row;
	height: 48px;
}
.menu > ul:before,
.menu > ul:after {
	content: "";
	display: table;
}
.menu > ul:after {
	clear: both;
}
.navbar-nav > .current-menu-item,
.navbar-nav > .current-menu-parent,
.navbar-nav > .current_page_parent{
	/*background: rgba(255, 97, 72, 0.9);*/
}


.menu > ul > li {
	float: left;
	padding: 0;
	margin: 0;
	transition: .2s ease-in-out;
	margin: 0;
}
.menu > ul > li a,
.menu-mobile {
	text-decoration: none;
	padding: 12px 8px 8px;
	font-weight: 600;
	display: block;
	color: #000;
	font-size: 13px;
	line-height: 22px;
	font-family: 'Montserrat', sans-serif;
	transition: .2s ease-in-out;
	text-transform: uppercase;
}
@media (min-width:1500px){
	.menu > ul > li a,
	.menu-mobile {
		padding: 12px 12px 8px;
		font-size: 15px;
	}
	.menu-item-has-children > a:after {
		top: 15px;
	}	
}
.menu ul li.current-menu-parent > a,
.menu ul li.current-menu-item > a,
.menu > ul > li a:hover {
	color: #04458c;
}
.menu > ul > li > ul {
	display: none;
	width: 100%;
	background: rgba(255,255,255,0.96);
	padding: 2px 20px 6px 20px;
	position: absolute;
	z-index: 99;
	left: 0;
	margin: 0;
	list-style: none;
	box-sizing: border-box;
	box-shadow: 0 15px 15px 1px rgba(0, 0, 0, 0.1);
}
.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
	content: "";
	display: table;
}
.menu > ul > li > ul:after {
	clear: both;
}
.menu > ul > li > ul > li {
	margin: 0;
	padding-bottom: 0;
	list-style: none;
	/*width: 25%;*/
	background: none;
	/*float: left;*/
}
.menu > ul > li > ul > li a {
	padding: 6px 10px;
	display: block;
	font-size: 13px;
	line-height: 1.3;
	border-bottom: 1px solid #0E8CC0;
	font-weight: 500;
}
.menu > ul > li > ul > li:last-child a {
	border-bottom: 1px solid transparent;
}
.menu > ul > li > ul > li a:hover {
	color: #04458c;
	/*	border-bottom: 1px solid #ff6148;*/
}
.menu > ul > li > ul > li > ul {
	display: block;
	padding: 0;
	margin: 10px 0 0;
	list-style: none;
	box-sizing: border-box;
}
.menu > ul > li > ul > li > ul:before,
.menu > ul > li > ul > li > ul:after {
	content: "";
	display: table;
}
.menu > ul > li > ul > li > ul:after {
	clear: both;
}
.menu > ul > li > ul > li > ul > li {
	float: left;
	width: 100%;
	margin: 0;
}
.menu > ul > li > ul > li > ul > li a {
	border: 0;
	padding: 10px 12px;
	font-size: 16px;
}
.menu > ul > li > ul > li > ul > li a:hover {
	border: 0;
}
.menu > ul > li > ul.normal-sub {
	max-width: 360px;
	left: auto;
	padding: 0 10px 4px;
}
.menu-mobile {
	display: none;
}
@media only screen and (max-width: 1199px) {
	.menu > ul > li > ul.normal-sub {
		max-width: calc(100% - 60px);
	}	
	.menu-item-has-children > a:after {
		display: none;
	}	
	.menu-mobile + ul {padding: 0;}
	.menu-container {
		width: 100%;
		overflow-y: visible;
		background: rgba(0,0,0,0.0);
	}	
	.head2 {
		box-shadow: none;
	}
	.menu {
		position: relative;
	}	
	.menu-mobile {
		display: block;
		padding: 16px 0;
		width: 0;
		pointer-events: none;
	}
	.menu-dropdown-icon:before {
		display: block;
	}
	.menu > ul {
		opacity: 0;
		height: 0;
		max-height: 0;
		visibility: hidden;
		transition: max-height 0.8s;
		width: 380px;
		float: right;
	}
	.menu > ul > li {
		width: 100%;
		float: none;
		display: block;
		background: #fff;
		padding: 4px 0;
		border-bottom: 1px solid #0E8CC0;
		margin: 0;
	}
	.menu > ul > li:last-child {
		border-bottom: 1px solid transparent;
	}	
	.menu > ul > li:hover {
		background: #fff;
	}  
	.menu > ul > li a, 
	.menu > ul > li a:hover {
		padding: 4px 20px;
		width: 100%;
		display: block;
		color: #000;
	}
	
	.menu > ul > li > ul > li a {
		padding: 0 20px;
		width: 100%;
		display: block;
		font-size: 13px;
	}	
	.menu > ul > li > ul {
		position: relative;
		box-shadow: unset;
	}
	.menu > ul > li > ul.normal-sub {
		width: 100%;
	}
	.menu > ul > li > ul > li {
		float: none;
		width: calc(100% + 60px);
	}
	.menu > ul > li > ul:not(.normal-sub) > li {
		margin-top: 10px;
	}  
	.menu > ul > li > ul > li:first-child {
		margin: 0;
	}
	.menu > ul > li > ul > li > ul {
		position: relative;
	}
	.menu > ul > li > ul > li > ul > li {
		float: none;
	}
	.menu .show-on-mobile {
		opacity: 1;
		visibility: visible;
		height: auto;
		margin: 8px 0 0 0;
		border-radius: 6px;
		overflow: auto;
		width: 380px;
		float: right;
		box-shadow: unset;		
		z-index: 1000;
		max-height: 75vh;
		transition: max-height 0.8s;
	}
	.menu > ul > li > ul.normal-sub > li a {
		border: 0;
		padding: 4px 20px;
		color: #000;
	}	
	.menu ul li.current-menu-parent > a,
	.menu ul li.current-menu-item > a {
		/*color: #F97316;*/
	}	
	
	.menu > ul > li.menu-item-has-children > a {
		width: calc(100% - 70px);
	}
	.sticky-content.fixed .menu-mobile {
		height: 30px;
	}
	.sticky-content.fixed .menu-mobile:after  {	
		top: -6px;
	}
}
@media screen and (max-width:700px) {
	.menu > ul {
		width: 100%;
	}	
	.menu .show-on-mobile {
		width: 100%;
	}
	.title-l {
		max-width: 120px;
		width: 100%;
	}
	.sticky-content.fixed .menu .show-on-mobile {
		
	}	
}


@media screen and (max-width:767px) {
	.menu .show-on-mobile {
		max-width: 100%;
	}
}

footer .toptel {
	padding: 0;
}
.upbtn {
	z-index: 9999;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	position: fixed;
	bottom: -80px;
	right: 10px;
	cursor: pointer;
	border:4px solid #fff;
	transition: all .4s ease-in-out;
	opacity: 0.7;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #04458c;
	background-size: 80%;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-up'%3e%3cpolyline points='18 15 12 9 6 15'%3e%3c/polyline%3e%3c/svg%3e");
}
.upbtn:hover {
	opacity: 1;
	border:4px solid #04458c;
}
@media screen and (max-width:767px) {
	.upbtn {
		display:none;
	}
}
/* -------------------------------------------------------------------- Подвал */	

.site-footer {
	/*background: linear-gradient(to left, #202020, #7c7c7c, #202020);*/
	background: #04458c;
	box-shadow: inset 0 15px 25px 1px rgba(0, 0, 0, 0.2);
}

.tfooter {
	padding: 50px 0 40px 0;
	color: #FFF;
}
.tfooter.contacts {
	padding: 0 0 20px;
	color: #000;	
}
.tfooter .footer-links {
	list-style-type: none;
	margin-bottom: 10px;	
}
.tfooter .footer-links li {
    line-height: 1;
	padding-bottom: 6px;
	padding-left: 10px;
}
.tfooter .footer-links a {
	color: #b3ddf8;
	font-size: 15px;
	font-weight: 500;
}
.tfooter .footer-links a:hover {
	color: #FFF;
}
.tfooter .footer-links ul {
	padding: 6px 0 2px 20px;
	list-style-type: none;
}
.tfooter .footer-links ul li a {
	font-weight: 300;
	font-size: 13px;
}
.tfooter .footer-contact-info {
	padding-left: 0;
	list-style-type: none;
	margin-bottom: 0;
	border-bottom: 1px solid #1d427e;
}
.tfooter.contacts .footer-contact-info {
	border-bottom: none;
}
.tfooter .footer-contact-info li {
	margin-bottom: 12px;
}
.tfooter p {
	color: #FFF;
	margin: 0;
	font-size: 13px;
}
.tfooter .dlogo {
	margin-bottom: 16px;
	max-width: 180px;
}
.tfooter .tfootertext {
	font-size: 15px;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: 10px;
	padding-left: 10px;
}
.dfooter, 
.dfooter a {	
	color: #e3f1f9;
	font-size: 12px;
}
.dfooter a:hover {	
	color: #FFF;
}
.dfooter {
	background: #252525;
	padding: 10px 0;
}
.dfooter, 
.dfooter a {	
	color: #e3f1f9;
	font-size: 12px;
}
.dfooter a:hover {	
	color: #FFF;
}
.atuin a {
	opacity: 0.6;
}

.atuin a b {
	color: #FFF;
	font-weight: bold;
	letter-spacing: 1px;
	display: inline-block;
	transition: 0.3s;
}
.atuin a b span {
	background: #FFF;
	color: #04458c;
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	margin-right: 2px;
	transition: 0.3s;
}


/* Карточки сотрудников */
.staff-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
    transition: all 0.3s ease;
    /*text-align: center;*/
	height: 100%;
	display: flex;
}
.staff-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.08), 0 12px 40px rgba(0,0,0,0.04);
}
.staff-photo-wrapper {
	overflow: hidden;	
}
.staff-card-wrapper {
	flex: 0 0 150px;
}
.staff-photo {
    width: 100%;
    aspect-ratio: 3/4.6;
    object-fit: cover;
    cursor: pointer;
	will-change: transform;
	transition: 0.6s;
}
.staff-info {
	padding: 14px;
	display: flex;
    flex-flow: column;
    justify-content: space-between;	
}
.staff-card:hover .staff-photo {
    transform: scale(1.1);
}
.staff-photo-placeholder {
    width: 100%;
    aspect-ratio: 3/4.6;
    background: #f0f4f8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
    color: #0E8CC0;
	will-change: transform;
	transition: 0.6s;
}
.staff-name {
    color: #04458c;
    margin-bottom: 5px;
    font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	transition: 0.3s;
}
.staff-card:hover .staff-name {
    color: #F97316;
}
.staff-position {
    font-size: 16px;
	line-height: 1.2;
}
a.contact-link {
    color: #666;
    text-decoration: none;
    transition: color 0.3s ease;
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
}
a.contact-link:hover {
    color: #F97316;
}
.contact-icon {
    font-size: 15px;
    width: 20px;
    display: inline-block;
}
@media screen and (max-width: 1499px) {
	.staff-card-wrapper {
		flex: 0 0 180px;
	}
	.staff-photo-placeholder,
	.staff-photo {
		aspect-ratio: 3/4;
	}	
}
@media screen and (max-width: 575px) {
	.staff-card-wrapper {
		flex: 0 0 80px;
	}
	.staff-position {
		font-size: 13px;
	}
	a.contact-link {
		font-size: 13px;
	}
	.contact-icon {
		font-size: 12px;
	}
	.staff-photo-placeholder,
	.staff-photo {
		aspect-ratio: 3/7.4;
	}
}


/* ==========================================
	БЛОГ / СТРАНИЦА ЗАПИСИ
========================================== */

.blog-card-img {
    position: relative;
    overflow: hidden;
	margin-bottom: 20px;
}

.blog-card-img img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.6s ease;
}

.blog-card-img:hover img {
    transform: scale(1.03);
}

/* Дата на фото */
.blog-card-date {
    position: absolute;
    top: 20px;
    left: 20px;
    background: #04458c;
    color: #ffffff;
    padding: 10px 14px;
    border-radius: 8px;
    text-align: center;
    min-width: 60px;
}

.blog-card-date-number {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}

.blog-card-date-month {
    font-size: 14px;
    font-weight: 500;
    margin: 4px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(255,255,255,0.8);
}



/* ==========================================
	САЙДБАР
========================================== */

.widget-area {
    margin-bottom: 30px;
}

/* Автор */
.page-author {
    background: #ffffff;
    border-radius: 12px;
    padding: 18px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
	display: flex;
}
.author-info {
	padding-left: 12px;
}
.author-avatar {
    width: 100px;
    height: 100px;
	aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 15px;
    border: 4px solid #0E8CC0;
	flex: 0 0 100px;
	display: block;
}


.author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.author {
    font-size: 14px;
    color: #666;
    font-weight: 500;
    text-transform: uppercase;
}

.author-name {
    font-size: 18px;
    font-weight: 500;
    color: #04458c;
    margin: 4px 0 2px;
	text-transform: uppercase;
	line-height: 1.2;
}

.author-position {
    font-size: 15px;
    color: #0E8CC0;
    font-weight: 500;
	line-height: 1.2;
}

.author-desc {
    font-size: 16px;
    margin-top: 10px;
    line-height: 1.5;
}

/* Время чтения */
.blog-card-reading-time {
    background: #ffffff;
    border-radius: 12px;
    padding: 10px 18px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
    display: flex;
    align-items: center;
    gap: 12px;
}
.sidebar-blog-short {
    background: #ffffff;
    border-radius: 12px;
    padding: 15px 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);	
}
.reading-time-icon {
    font-size: 24px;
}
.reading-time-text {
    font-size: 16px;
    color: #333333;
}
.reading-time-text b {
    color: #04458c;
}

/* Заголовок сайдбара */
.sidebar-blog-title {
    font-size: 20px;
    font-weight: 500;
	/* color: #04458c;*/
    margin-bottom: 10px;
    padding: 6px 0;
    border-bottom: 3px solid #0E8CC0;
    position: relative;
}
.sidebar-blog-title::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 40px;
    height: 3px;
    background: #F97316;
}

/* Список последних записей */
.sidebar-blog-posts {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-blog-posts-item {
    display: flex;
    gap: 15px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f4f8;
    transition: all 0.3s ease;
}

.sidebar-blog-posts-item:last-child {
    border-bottom: none;
}

.sidebar-blog-posts-image {
    flex: 0 0 70px;
    width: 70px;
    height: 70px;
    border-radius: 8px;
    overflow: hidden;
}
.sidebar-blog-posts-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	will-change: transform;
	transition: 0.5s;
}
.sidebar-blog-posts-item:hover .sidebar-blog-posts-image img {
    transform: scale(1.1);
}
.sidebar-blog-posts-content {
    flex: 1;
    min-width: 0;
}

.sidebar-blog-posts-date {
    font-size: 16px;
    color: #333;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.sidebar-blog-posts-title {
    line-height: 1.3;
}
.sidebar-blog-posts-title a {
    font-weight: 500;
    color: #04458c;
    text-decoration: none;
    transition: color 0.3s ease;
	font-size: 16px;
	border: none;
}
.search-section .sidebar-blog-posts-title a {
	font-size: 18px;
}
.sidebar-blog-posts-title a:hover {
    color: #F97316;
	border:none;
}


/* ==========================================
	АДАПТИВ
========================================== */


@media screen and (max-width: 575px) {
    .blog-card-date {
        top: 12px;
        left: 12px;
        padding: 6px 12px;
        min-width: 50px;
	}
	
    .blog-card-date-number {
        font-size: 20px;
	}
    
    .blog-card-date-month {
        font-size: 11px;
	}
	
    .sidebar-blog-posts-item {
        gap: 12px;
        padding: 10px 0;
	}
    
    .sidebar-blog-posts-image {
        flex: 0 0 55px;
        width: 55px;
        height: 55px;
	}
	
    .author-avatar {
        width: 80px;
        height: 80px;
		flex: 0 0 80px;
	}
	.sidebar-blog-posts-title a {
		font-size: 15px;
	}
	.search-section .sidebar-blog-posts-title a {
		font-size: 15px;
	}	
}
.entry-content iframe {
    max-width: 100%;
    display: block; 
}

/* ==========================================
	АРХИВЫ РУБРИК
========================================== */

.archive-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
    transition: all 0.3s ease;
    height: 100%;
}
.archive-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.08), 0 12px 40px rgba(0,0,0,0.04);
}
.archive-card-img {
    overflow: hidden;
	position: relative;
}
.archive-card-img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
	will-change: transform;
}
.archive-card:hover .archive-card-img img {
    transform: scale(1.05);
}
.archive-card-content {
    padding: 16px;
}
.archive-card-date {
    position: absolute;
    bottom: 12px;
    right: 12px;
    color: rgb(255, 255, 255);
    text-align: center;
    background: rgb(4, 69, 140);
    padding: 4px 14px;
    border-radius: 8px;
	font-weight: 500;
	font-size: 13px;
}

.archive-card-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
}

.archive-card-title a {
    color: #04458c;
    text-decoration: none;
    transition: color 0.3s ease;
	border:none;
}

.archive-card-title a:hover {
    color: #F97316;
	border:none;
}


/* Адаптив */
@media screen and (max-width: 991px) {
    .archive-card-img img {
        height: 180px;
	}
}

@media screen and (max-width: 767px) {
    .archive-card-img img {
        height: 200px;
	}
    
    .archive-card-title {
        font-size: 16px;
	}
}

@media screen and (max-width: 575px) {
    .archive-card-img img {
        height: 160px;
	}
    
    .archive-card-content {
        padding: 15px;
	}
    
    .archive-card-title {
        font-size: 15px;
	}
}


/* ==========================================
	FAQ БЛОК
========================================== */

.faq-list {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.faq-item {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid #f0f4f8;
}

.faq-item:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.08), 0 12px 40px rgba(0,0,0,0.04);
}

.faq-q {
    padding: 16px 55px 16px 25px;
    font-size: 18px;
    font-weight: 500;
    color: #04458c;
    cursor: pointer;
    position: relative;
    user-select: none;
    transition: color 0.3s ease;
    line-height: 1.4;
}

.faq-q::after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 28px;
    font-weight: 600;
    color: #0E8CC0;
    transition: all 0.3s ease;
    line-height: 1;
}

.faq-q:hover {
    color: #F97316;
}

.faq-q:hover::after {
    color: #F97316;
}

.faq-item.active .faq-q::after {
    content: '−';
    transform: translateY(-50%) rotate(0deg);
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 25px;
}

.faq-item.active .faq-a {
    max-height: 500px;
    padding: 0 25px 25px;
}

.faq-a span {
    display: block;
    font-size: 16px;
    line-height: 1.7;
    color: #333333;
    padding-top: 5px;
}

/* Адаптив */
@media screen and (max-width: 991px) {
    .faq-q {
        font-size: 16px;
        padding: 12px 50px 12px 20px;
	}
    
    .faq-q::after {
        font-size: 24px;
        right: 16px;
	}
    
    .faq-a span {
        font-size: 15px;
	}
}

@media screen and (max-width: 767px) {
    .faq-q {
        font-size: 15px;
        padding: 12px 45px 12px 18px;
	}
    
    .faq-q::after {
        font-size: 22px;
        right: 14px;
	}
    
    .faq-a span {
        font-size: 14px;
	}
    
    .faq-item.active .faq-a {
        padding: 0 18px 18px;
	}
}

@media screen and (max-width: 575px) {
    .faq-q {
        font-size: 14px;
        padding: 12px 40px 12px 16px;
	}
    
    .faq-q::after {
        font-size: 20px;
        right: 12px;
	}
    
    .faq-a span {
        font-size: 14px;
	}
    
    .faq-item.active .faq-a {
        padding: 0 16px 16px;
	}
}


/* ==========================================
	СТРАНИЦА ПРЕПОДАВАТЕЛЕЙ
========================================== */

.teacher-item {
    display: flex;
    gap: 30px;
    padding: 0;
    border-bottom: 1px solid #f0f4f8;
    transition: all 0.3s ease;
	padding-bottom: 16px;
	margin-bottom: 16px;	
}
.teacher-item:last-child {
    border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.teacher-photo {
    flex: 0 0 180px;
    width: 180px;
    height: 250px;
    border-radius: 16px;
    overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.025), 0 12px 30px rgba(0,0,0,0.01);
	transition: 0.4s;
}
.teacher-photo:hover {
	box-shadow: 0 6px 20px rgba(0,0,0,0.08), 0 12px 40px rgba(0,0,0,0.04);
}
.teacher-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	will-change: transform;
	transition: 0.6s;	
}
.teacher-photo:hover img {
	transform: scale(1.1);
}
.teacher-photo-placeholder {
    width: 100%;
    height: 100%;
    background: #f0f4f8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60px;
    color: #0E8CC0;
}

.teacher-info {
	
}

.teacher-name {
    font-size: 24px;
    font-weight: 600;
    color: #04458c;
    margin: 0 0 10px;
}
.teacher-name a {
	border: none!important;
}
.teacher-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #333333;
    margin-bottom: 15px;
}

.teacher-desc p {
    margin-bottom: 10px;
}

.teacher-desc p:last-child {
    margin-bottom: 0;
}



.teacher-single .teacher-item {
    border-bottom: none;
    padding: 0 0 30px;
}

.teacher-single .teacher-item:hover {
    transform: none;
}



/* Кнопка atuin-btn - не стилизуем, оставляем как есть */

/* Адаптив */
@media screen and (max-width: 991px) {
    .teacher-item {
        gap: 25px;
        padding: 20px 0;
	}
    
    .teacher-photo {
        flex: 0 0 140px;
        width: 140px;
        height: 200px;
	}
    
    .teacher-name {
        font-size: 22px;
	}
    
    .teacher-desc {
        font-size: 15px;
	}
    
    .teacher-content p {
        font-size: 16px;
	}
}

@media screen and (max-width: 767px) {
    .teacher-item {
        flex-direction: column;
        padding: 20px 0;
		gap: 16px;
	}
    
    .teacher-photo {
        flex: 0 0 200px;
        width: 140px;
		height: 200px;
	}
    
    .teacher-photo-placeholder {
        font-size: 40px;
	}
    
    .teacher-name {
        font-size: 20px;
	}
    
    .teacher-desc {
        font-size: 15px;
	}
    
    .teacher-content p {
        font-size: 15px;
	}
}

@media screen and (max-width: 575px) {
    .teacher-photo {
        flex: 0 0 160px;
        width: 100px;
		height: 160px;
	}
    .teacher-single .teacher-photo {
        flex: 0 0 200px;
        width: 140px;
		margin: auto;
		height: 200px;
	}   
    .teacher-name {
        font-size: 18px;
	}
    
    .teacher-desc {
        font-size: 14px;
	}
    
    .teacher-content p {
        font-size: 14px;
	}
}

.cities-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
	gap: 6px;
}

.cities-grid .city-active {
    font-weight: 500;
    color: #04458c;
	border-bottom: 1px solid #F97316;
}

.cities-grid .city-link {
    color: #000;
	border-bottom: 1px solid #ddd;
}

.cities-grid .city-link:hover {
	border-bottom: 1px solid #04458c;
}

/* Мобильная версия — 1 колонка */
/*
	@media (max-width: 768px) {
    .cities-grid {
	grid-template-columns: 1fr;
    }
	}
*/
/* Рейтинг */
.rating {
    display: flex;
    align-items: center;
    gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.rating-stars {
    display: flex;
    gap: 2px;
}

.rating-stars .star {
    width: 20px;
    height: 20px;
    fill: #ddd;
    flex-shrink: 0;
}

.rating-stars .star.full {
    fill: #f5b342;
}

.rating-stars .star.half {
    fill: url(#half-gradient);
}

.rating-info {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-size: 16px;
    color: #333;
}

.rating-value {
    font-weight: 500;
    font-size: 32px;
	line-height: 1;
    color: #1e1e1e;
}

.rating-count {
	font-weight: 500;
	font-size: 15px;
	color: #666;
}

.rating-count::before {
    content: '•';
    margin-right: 4px;
    color: #666;
}


.clients-grid {
    margin: 10px 0 0;
	justify-content: center;
}
.clients-grid .client-item {
    background: #fff;
    padding: 15px 10px;
    border-radius: 8px;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px solid #ddd;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05), 0 8px 24px rgba(0, 0, 0, 0.025), 0 12px 30px rgba(0, 0, 0, 0.01);
}

.clients-grid .client-item:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.04);
    border-color: #F97316;
}

.clients-grid .client-item img {
    max-width: 100%;
    height: auto;
    max-height: 80px;
    object-fit: contain;
    margin-bottom: 10px;
}

.clients-grid .client-name {
    font-size: 13px;
    color: #333;
    margin: 0;
    line-height: 1.3;
    text-align: center;
    font-weight: 500;
}

/* Адаптив */
@media (max-width: 576px) {
    .clients-grid .client-item {
        padding: 10px 5px;
	}
}

/* Список партнеров */
.partners-list {

}

.partner-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 10px 0;
}
.partner-image {
    flex: 0 0 200px;
    width: 200px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.partner-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.partner-info {
    flex: 1;
    min-width: 0;
}

.partner-info p {

}

.partner-info strong {
    color: #04458c;
}

/* Разделители */
.partners-list hr {
    margin: 15px 0;
}

/* Адаптив для мобилок */
@media (max-width: 768px) {
    .partner-item {
        flex-direction: column;
		align-items: center;
        gap: 15px;
        padding: 15px 0;
    }
    .partner-image {
        flex: 0 0 auto;
        width: 180px;
        height: auto;
    }
}
/* ===========================================================
   СТРАНИЦА УСЛУГИ — новые блоки (page-services.php)
   Палитра сайта: #04458c (тёмно-синий), #0E8CC0 (синий), #F97316 (оранжевый)
=========================================================== */
.svc-section { padding: 50px 0; }
.svc-section-alt { background: #fafafa; }
.svc-section-dark { background: #04458c; }
.svc-section-dark .svc-h2, .svc-section-dark .svc-intro { color: #fff; }
.svc-section-dark .svc-h2::after { background: #F97316; }
.svc-intro { font-size: 16px; color: #555; max-width: 640px; margin: 0 0 32px; line-height: 1.6; }



/* ---- Hero: факты + форма ---- */
.svc-hero-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.15); border-radius:8px; overflow:hidden; margin-top:12px; }
.svc-stat { background:rgba(255,255,255,.08); padding:14px 12px; text-align:center; }
.svc-stat-num { display:block; font-size:22px; font-weight:700; color:#fff; }
.svc-stat-label { font-size:13px; color:rgba(255,255,255,.9); margin-top:2px; }
.svc-hero-form { background:#fff; border-radius:10px; padding:24px; box-shadow:0 8px 30px rgba(0,0,0,.15); }
.svc-hero-foot { display:flex; gap:14px; border-top:1px solid #eee; margin-top:14px; padding-top:12px; }
.svc-hero-foot span { font-size:11px; color:#888; }

/* ---- Кому нужна ---- */
.svc-whom-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.svc-whom-card { background:#fff; border:1.5px solid #eef0f3; border-radius:10px; padding:12px 22px; transition:.2s; }
.svc-whom-card-sw { background:#fafafa; border:2px solid #eef0f3; border-radius:10px; padding:22px; transition:.2s; height: 100%;}
/*.svc-whom-card:hover { border-color:#F97316; }*/
.svc-whom-icon { font-size:30px; margin-bottom:10px; flex: 0 0 50px;}
.svc-whom-card h3, .svc-whom-card .h3 { font-size:18px; margin:0 0 8px; color:#04458c; font-weight:500; }

.svc-whom-card p { font-size:16px;margin:0; }
.svc-whom-law { line-height: 1.2; font-size: 15px; /*color: #F97316; */ font-weight:500; margin-top:10px; }
@media (max-width: 991px) {
.svc-whom-card h3, .svc-whom-card .h3 { font-size:16px; }
.svc-whom-card p { font-size:14px;margin:0; }
}
/* ---- Что входит ---- */
.svc-inc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.svc-inc-grid.svc-layout-steps { grid-template-columns:repeat(2,1fr); }
.svc-inc-card { background:#fafafa; border:1px solid #eef0f3; border-radius:10px; padding:18px; display:flex; gap:12px; }
.svc-inc-num { width:30px; height:30px; border-radius:50%; background:#fff4ea; color:#F97316; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; flex-shrink:0; }
.svc-inc-card h4 { font-size:14px; margin:0 0 4px; color:#04458c; font-weight:600; }
.svc-inc-card p { font-size:13px; color:#666; margin:0; line-height:1.5; }
.svc-deliverables { background:#fff; border:1px solid #e2e8f0; border-left:4px solid #0E8CC0; border-radius:0 8px 8px 0; padding:18px 22px; margin-top:20px; }
.svc-deliverables h4 { margin:0 0 8px; font-size:14px; color:#04458c; }
.svc-deliverables ul { margin:0; padding-left:18px; columns:2; }


/* ---- Уникальный блок: калькулятор / чек-лист ---- */
.svc-calc { background:#fff; border:1.5px solid #e2e8f0; border-radius:10px; padding:28px; }
.svc-calc-controls { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:end; margin-bottom:18px; }
.svc-calc-controls label { display:block;  color:#666; margin-bottom:6px; }
.svc-calc-controls input { width:100%; padding:11px 14px; border:1.5px solid #e2e8f0; border-radius:6px; font-size:16px; }
.svc-calc-result { background:#f0fdf4; border:1.5px solid #bbf7d0; border-radius:8px; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.svc-calc-result .amount { font-size:28px; font-weight:700; color:#16a34a; }
.svc-checklist { background:#fff; border:1.5px solid #e2e8f0; border-radius:10px; padding:24px 28px; }
.svc-checklist h3 { margin:0 0 14px; font-size:17px; color:#04458c; text-transform:none; }
/*
.svc-checklist ul { margin:0; padding-left:20px; }
.svc-checklist li { font-size:14px; color:#444; margin-bottom:8px; line-height:1.5; }
*/
/* ---- Тарифы ---- */
.svc-tariffs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.svc-tariff { background:#fff; border:1.5px solid #eef0f3; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; }
.svc-tariff.featured { border-color:#F97316; border-width:2px; }
.svc-tariff-head { padding:20px 22px 14px; border-bottom:1px solid #eef0f3; }
.svc-tariff-pop { display:inline-block; background:#F97316; color:#fff; font-size:10px; font-weight:700; text-transform:uppercase; padding:3px 8px; border-radius:4px; margin-bottom:8px; }
.svc-tariff-name { font-size:18px; font-weight:700; color:#04458c; }
.svc-tariff-size { font-size:12px; color:#888; margin-top:2px; }
.svc-tariff-price { padding:16px 22px; border-bottom:1px solid #eef0f3; font-size:28px; font-weight:700; color:#0E8CC0; }
.svc-tariff-price span { font-size:13px; color:#888; font-weight:400; }
.svc-tariff-price-sub { font-size:12px; color:#888; margin-top:2px; }
.svc-tariff-features { padding:16px 22px; flex:1; }
.svc-tariff-features ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.svc-tariff-features li { font-size:15px; color:#000; padding-left:20px; position:relative; }
.svc-tariff-features li::before { content:'✓'; color:#16a34a; position:absolute; left:0; font-weight:700; }
.svc-tariff-features li.svc-no { color:#aaa; }
.svc-tariff-features li.svc-no::before { content:'–'; color:#aaa; }
.svc-tariff-cta { padding:16px 22px; border-top:1px solid #eef0f3; }

/* ---- Штрафы ---- */
.svc-fines-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.svc-fine-card { background:#fef2f2; border:1px solid #fecaca; border-radius:10px; padding:20px; }
.svc-fine-who { font-size:12px; font-weight:700; color:#dc2626; text-transform:uppercase; margin-bottom:6px; }
.svc-fine-sum { font-size:26px; font-weight:700; color:#dc2626; }
.svc-fine-what { font-size:13px; color:#7f1d1d; margin-top:6px; }

/* ---- Специалист ---- */
.svc-expert { background:#fff; border:1px solid #eef0f3; border-radius:10px; padding:26px 30px; display:flex; gap:24px; align-items:flex-start; }
.svc-expert-avatar { width:76px; height:76px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid #eef0f3; }
.svc-expert-name { font-size:19px; font-weight:700; color:#04458c; margin-bottom:2px; }
.svc-expert-title { font-size:13px; color:#F97316; font-weight:600; margin-bottom:10px; }
.svc-expert-bio { font-size:14px; color:#555; line-height:1.6; margin-bottom:12px; }
.svc-expert-tags { display:flex; flex-wrap:wrap; gap:6px; }
.svc-etag { font-size:12px; padding:4px 10px; border-radius:20px; background:#f5f7fa; color:#04458c; border:1px solid #e2e8f0; }

/* ---- Отзывы ---- */
.svc-reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.svc-review-card { background:#fff; border:1px solid #eef0f3; border-radius:10px; padding:20px; display:flex; flex-direction:column; gap:8px; }
.svc-review-stars { color:#F59E0B; letter-spacing:2px; }
.svc-review-text { font-size:14px; color:#333; font-style:italic; line-height:1.6; flex:1; }
.svc-review-author { font-size:13px; font-weight:600; color:#04458c; }
.svc-review-meta { font-size:12px; color:#888; }

/* ---- SEO-текст ---- */
.svc-seo-box { background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:30px 34px; }
.svc-seo-box h2 { font-size:20px; }
.svc-seo-box h3 { font-size:16px; margin:18px 0 8px; text-transform:none; }
.svc-seo-box p { font-size:14px; color:#555; line-height:1.7; }

/* ---- CTA ---- */
.svc-cta { margin-top: 10px; background:#F97316; padding: 15px 20px; border-radius:12px; }
.svc-cta-inner { display:grid; grid-template-columns:1fr 380px; gap:40px; align-items:start; }
.svc-cta h2 { color:#fff; border-color:rgba(255,255,255,0.3); }
.svc-cta h2:after { background: #fff;  }
.svc-cta .success-at {
	color: #fff;
}

.svc-cta p { color:rgba(255,255,255,.9); }
.svc-cta p a { color:rgba(255,255,255,1); font-weight: 600;}
.svc-cta-form { background:#fff; border-radius:10px; padding:24px; }

@media (max-width: 991px) {
    .svc-whom-grid, .svc-inc-grid, .svc-tariffs-grid, .svc-fines-grid, .svc-reviews-grid { grid-template-columns:1fr; }
    .svc-hero-stats { grid-template-columns:repeat(2,1fr); }
    .svc-calc-controls { grid-template-columns:1fr; }
    .svc-cta-inner { grid-template-columns:1fr; }
    .svc-expert { flex-direction:column; }
    .svc-deliverables ul { columns:1; }
    .svc-catalog-grid { grid-template-columns:1fr; }
}
/* Карточка — горизонтальный flex */
.svc-whom-card-horizontal {
    overflow: hidden;          /* чтобы картинка не вылезала за скругления */
    padding: 0 !important;     /* убираем внутренние отступы карточки, отступы зададим контенту */
}

/* Обёртка картинки */
.svc-whom-thumb {
    flex: 0 0 200px;           /* фиксированная ширина 200px */
    width: 200px;
    align-self: stretch;       /* растягивается по высоте карточки */
    overflow: hidden;
    position: relative;
}

/* Сама картинка — заполняет обёртку и обрезается */
.svc-whom-thumb-img,
.svc-whom-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;         /* обрезаем лишнее, сохраняя пропорции */
    display: block;
}

/* Заглушка, если нет миниатюры */
.svc-whom-thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    background: rgba(0, 0, 0, 0.04);
}

/* Контентная часть — занимает всё оставшееся место */
.svc-whom-content {
    flex: 1 1 auto;
    min-width: 0;              /* чтобы длинный текст не ломал flex */
    padding: 20px 20px 10px;             /* вернули отступы, которые убрали у карточки */
}

/* Мобилка — картинка сверху, высота 200px, ширина по всей карточке */
@media (max-width: 767.98px) {
    .svc-whom-card-horizontal {
        flex-direction: column;
    }
    .svc-whom-thumb {
        flex: 0 0 180px;
        width: 100%;
        height: 180px;
    }
    .svc-whom-content {
        padding: 15px 15px 10px; 
    }
}
@media (max-width: 576px) {
    .svc-whom-thumb {	
        flex: 0 0 140px;
        height: 140px;
    }
}
/* ---- Каталог услуг (/uslugi корень) ---- */
.svc-catalog-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.svc-catalog-card { background:#fff; border:1.5px solid #eef0f3; border-radius:10px; padding:26px; display:flex; flex-direction:column; gap:10px; transition:.2s; text-decoration:none; }
.svc-catalog-card:hover { border-color:#F97316; box-shadow:0 8px 24px rgba(0,0,0,.06); }
.svc-catalog-icon { font-size:32px; }
.svc-catalog-card h3 { font-size:17px; margin:0; color:#04458c; text-transform:none; font-weight:600; }
.svc-catalog-card p { font-size:14px; color:#666; line-height:1.55; margin:0; flex:1; }
.svc-catalog-foot { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.svc-catalog-price { line-height: 1; font-size:22px; font-weight:600; color:#0E8CC0; display: block;}
.svc-catalog-npa { font-size: 13px; color:#000; background:#f5f7fa; padding:3px 8px; border-radius:4px; }
.svc-catalog-link { font-size:13px; font-weight:600; color:#F97316; }

/* ===========================================================
   СТРАНИЦА КУРСА (page-prog.php)
=========================================================== */
.crs-facts { display:flex; border-radius:8px; overflow:hidden; 
    background: rgba(255, 255, 255, .15);
    margin-top: 12px;
	}
.crs-fact { border-right:1px solid rgba(255,255,255,.1); flex:1; 
background: rgba(255, 255, 255, .08);
    padding: 14px 18px;
    text-align: center;
}
.crs-fact:last-child { border-right:none; }
.crs-fact-label { font-size:10px; color:rgba(255,255,255,.45); text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px; }
.crs-fact-value { font-size:14px; font-weight:600; color:#fff; }

@media (max-width: 991px) {
.crs-fact-value { font-size:13px; }
}
.crs-sidebar { background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 8px 30px rgba(0,0,0,.18); }
.crs-sidebar-head { background:#243D5E; padding:14px 18px; border-bottom:2px solid #F97316; color:#fff; font-size:14px; font-weight:600; }
.crs-sidebar-head span { display:block; font-size:12px; font-weight:400; color:rgba(255,255,255,.5); margin-top:2px; }
.crs-sidebar-body { padding:18px; }
.crs-price-row { display:flex; justify-content: center; align-items:baseline; gap:8px; margin-bottom:14px; }
.crs-price { font-size: 30px; font-weight: 600; color:#fff; }
.crs-price-sub { font-size:18px; color:rgba(255,255,255,0.6); font-weight: 500;}
@media (max-width: 991px) {
.crs-price { font-size: 22px; }
.crs-price-sub { font-size:15px;}
}

.crs-sidebar-body form input { width:100%; padding:11px 14px; border:1.5px solid #e2e8f0; border-radius:6px; margin-bottom:10px; font-family:'Montserrat',sans-serif; }
.crs-sidebar-foot { background:#fafafa; border-top:1px solid #eee; padding:10px 18px; font-size:12px; color:#888; }
.crs-sidebar-foot a { color:#F97316; font-weight:600; }

.crs-badge { display:inline-flex; background:#FFF4EE; border:1px solid #FED7AA; color:#F97316; font-size:12px; font-weight:600; padding:5px 12px; border-radius:20px; margin-bottom:14px; }
.crs-format-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; background:#fff; border:1px solid #e2e8f0; border-radius:10px; }
.crs-format-grid.crs-format-single { grid-template-columns:1fr; }
.crs-format-pane { padding:20px 22px; border-right:1px solid #e2e8f0; }
.crs-format-pane:last-child { border-right:none; }
.crs-format-pane h3 {  font-weight: 500; margin:0 0 10px; color:#04458c; }
.crs-warning { background:#FEF9EC; border:1.5px solid #FDE68A; border-radius:6px; padding:10px 14px; font-size:12px; color:#92400E; margin-top:12px; line-height:1.5; }
.crs-online-link { display:block; margin-top:12px; padding:10px 14px; background:#F0FDF4; border:1px solid #BBF7D0; border-radius:6px; font-size:13px; font-weight:600; color:#16A34A; }
.crs-polygon { background:#243D5E; border-radius:10px; padding:22px 26px; color:#fff; margin-top:16px; max-width:760px; }
.crs-polygon h3 { color:#fff; font-size:16px; text-transform:none; margin:0 0 8px; }
.crs-polygon p { font-size:13px; color:rgba(255,255,255,.8); margin:0; line-height:1.6; }

.crs-program-list { display:flex; flex-direction:column; gap:6px; }
.crs-program-item { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid #e2e8f0; border-radius:6px; padding:12px 16px; }
.crs-program-num { width:26px; height:26px; border-radius:50%; background:#fff4ea; color:#F97316; font-size:16px; font-weight:600; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.crs-program-title {  font-weight:600; color:#04458c; flex:1; }
.crs-program-hours { font-size:18px; color:#000; flex-shrink:0; }

.crs-sched-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.crs-sched-card { background:#fff; border:1.5px solid #e2e8f0; border-radius:8px; padding:16px 18px; }
.crs-sched-date { font-size:16px; font-weight:700; color:#04458c; margin-bottom:4px; }
.crs-sched-tag { font-size:13px; font-weight:600; padding:2px 8px; border-radius:4px; background:#EFF6FF; color:#0E8CC0; display:inline-block; margin-bottom:8px; }
.crs-sched-seats { font-size:12px; color:#888; margin-bottom:10px; }
.crs-sched-seats strong { color:#16A34A; }

.crs-doc-card { background:#fff; border:1.5px solid #e2e8f0; border-radius:10px; padding:22px 26px; display:flex; gap:20px; align-items:flex-start; }
.crs-doc-icon { font-size:38px; flex-shrink:0; }
/*
.crs-doc-card ul { margin:0; padding-left:18px; display:flex; flex-direction:column; gap:6px; }
.crs-doc-card li { font-size:13px; color:#555; }
*/
.svc-trust-sec {
	border-radius: 10px;
	background: #04458c!important;
}

@media (max-width: 991px) {
    .crs-format-grid { grid-template-columns:1fr; }
    .crs-format-pane { border-right:none; border-bottom:1px solid #e2e8f0; }
    .crs-sched-grid { grid-template-columns:1fr; }
    .crs-facts { flex-wrap:wrap; }
    .svc-trust-box { flex-direction:column; text-align:center; }
}

/* ---- Блок доверия: лицензии/аккредитации ---- */
.svc-trust { padding-top:0; padding-bottom:0; }
.svc-trust-box { margin-top: 10px; display:inline-flex; align-items:center; gap:16px; background: rgba(255, 255, 255, .15); border-radius: 8px; padding:16px 22px; font-size: 13px; color:#fff;  }
.svc-trust-icon { font-size:28px; flex-shrink:0; }
.svc-trust-box strong { color:#e4f6fd; }


.iconblock-8 {
	margin: 10px 0;
	padding: 0 10px;
	height: calc(100% - 20px);
}
.iconblock-8 .icon {
	float: right;
	text-align: center;
	position: relative;
	top: 5px;
	left: -5px;
	width: 64px;
	height: 80px;
	background: #0E8CC0;
	color: #fff; 
	transition: all .3s;
	transform: skew(-20deg);
	margin-left: 30px;
}
.iconblock-8 .icon svg {
	font-size: 32px;
	height: 32px;
	width: 32px;
	fill: #fff; 
	padding-top:24px;
	z-index:1;
	position: relative;
	box-sizing: content-box;
	/*transform: skew(20deg);*/
}
.iconblock-8:hover .icon {
	top: 0;
	left: -10px;
}
.iconblock-8:hover .icon {
	box-shadow: 8px 8px #F97316;
}
.iconblock-8 .block {
	overflow: hidden;
	text-align: right;
	display: flex;
	justify-content: space-between;
	flex-flow: column;
	height: 100%;
}
.iconblock-8 .h3 {
	transition: all 0.7s ease 0s;
	color: #dbf2fc;
	font-size: 18px;
	margin:10px 0;
} 
.iconblock-8-light.iconblock-8 .h3 {
	color: #04458c;
} 
.iconblock-8 p {
	color: #fff;
	font-size: 15px;
	text-align: left;
	border-left: 2px solid rgba(255,255,255,0.3);
	padding-left: 16px;
}  
.iconblock-8:hover .h3 {
	color: #fff;
} 
.iconblock-8-light.iconblock-8:hover .h3 {
	color: #F97316;
} 
.iconblock-8-light.iconblock-8 p {
	color: #000;
	border-left: 2px solid rgba(0,0,0,0.3);
}  
@media (max-width: 991px) {
	.iconblock-8 .icon {
		transform: skew(-20deg) scale(0.8);
	}
.iconblock-8 .h3 {
	font-size: 16px;
} 
.iconblock-8 p {
	font-size: 14px;
}  	
}
.numCard {
	position: relative;
	height: calc(100% - 10px);
	padding: 16px 10px;
	display: flex;	
	margin: 10px 32px 0 0;
	z-index: 1;
}	
.numCard:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(4px);
	z-index: -1;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.7);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05), 0 8px 24px rgba(0, 0, 0, 0.025), 0 12px 30px rgba(0, 0, 0, 0.01);
	transition: 0.5s;
}
.numCard:after {
	position: absolute;
	font-size: 60px;
	counter-increment: num;
	content: "0" counter(num);
	font-weight: 600;
	top: -30px;
	line-height: 1;
	right: -34px;
	color: rgba(0, 0, 0, 0.2);
	font-family: monospace;   
	z-index: -2;
}
.numCard-icon {
	flex: 0 0 40px;
	filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2))
}
.numCard-icon svg {
	width: 40px;
	fill: #04458c;
}
.numCard-icon + .numCard-txt {
	padding-left: 10px;
}
.numCard-txt strong {
	color: #04458c;
	font-size: 16px;
	line-height: 1.1;
	text-transform: uppercase;
	display: block;
	margin: 0;
}
.numCard-txt p {
	padding-top: 10px;
	margin: 0;
	font-size: 14px;
	line-height: 1.3;
}
.numCard:hover:before {
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.04);
}
@media (min-width: 576px) {
	.numCard {
		height: calc(100% - 20px);
		margin: 10px 52px 10px 0;
		padding: 16px;
	}	
	.numCard:after {
		font-size: 80px;
		right: -54px;
	}
	.numCard-icon {
		flex: 0 0 60px;
	}
	.numCard-icon svg {
		width: 60px;
	}
	.numCard-icon + .numCard-txt {
		padding-left: 20px;
	}	
	.numCard-txt strong {
		font-size: 18px;
	}
	.numCard-txt p {
		font-size: 16px;
	}
}