/* Основные */
html,
body {
	height: 100%;
}
body {
	background-color: #f6f6f6;	
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
		flex-direction: column;
	font-family: 'Inter', sans-serif;
}
body > .body {
	flex: 1 0 auto;
}
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
	font-weight: 700;
}
p + ol.list,
p + ul.list {
	margin: -.5rem 0 1rem;
}
ol.list,
ul.list {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}
ol.list > li,
ul.list > li {
	margin: 0 0 .5em;
}
.btn {
	padding: 0.75rem 1.5rem;
}
.btn:not([type="submit"]):not([type="reset"]) {
	border-radius: 0;
	box-shadow: none !important;
}
/* -------- */



/* Шапка */
.header-top > .container {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
}
.header-top > .container > a {
	display: inherit;
		align-items: inherit;
}
.header-top > .container > a:not(.btn) {
	color: #727272;
	line-height: 1.25;
	padding: .75rem 0;
	text-decoration: none;
}
.header-top > .container > a:not(.btn):focus,
.header-top > .container > a:not(.btn):hover {
	color: #333;
}
.header-top > .container > a.btn {
	height: 60px;
}
.header .nav {
	height: 100%;
}
.header .nav > li {
	margin-left: 3rem;
	height: inherit;
	position: relative;
}
.header .nav > li > a {
	border-bottom: .25rem solid transparent;
	color: #212529;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
		align-items: center;
	height: inherit;
	position: relative;
	text-decoration: none;
}
.header .nav > li.hover > a,
.header .nav > li > a:focus,
.header .nav > li > a:hover {
	border-color: #ffc700;
}
.header .nav > li > .nav-child {
	background-color: #fff;
	display: none;
	font-size: 1rem;
	list-style: none;
	margin: 0;
	padding: 1.5rem;
	position: absolute;
		left: 0;
		top: 100%;
	z-index: 101;
}
.header .nav > li:focus > .nav-child,
.header .nav > li:hover > .nav-child {
	display: block;
}
.header .nav > li > .nav-child > li > a {
	color: #727272;
	display: block;
	padding: 0.5rem 0;
	text-decoration: none;
	white-space: nowrap;
}
.header .nav > li > .nav-child > li > a:focus,
.header .nav > li > .nav-child > li > a:hover {
	color: #333;
}
/* ----- */


/* Карусель */
#page-home-carousel {
	background-color: #5f6386;
}
#page-home-carousel .slide-01 {
	background-image: url(../images/bg-slide-01.jpg);
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	background-size: cover;
}
/* -------- */


/* 12 лет опыта */
.exp {
	background-image: url(../images/bg-exp.jpg);
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	background-size: cover;
}
.exp .row-advantages > div {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
		align-items: center;
}
.exp .row-advantages > div > i {
	color: #70b0d4;
	font-size: 1.25rem;
	margin-right: 0.5rem;
}
/* ------------ */



/* Основной контент */
#content {}

.blog,
.item-page {
	padding: 3rem 0;
}
.blog > .page-header > h1,
.blog > h2,
.item-page > .page-header > h1 {
	margin-bottom: 1.5rem;
	text-align: center;
}
.item-page .item-image {
	background-color: #fff;
	border: 1px solid #dee2e6;
	float: right;
	margin: 0 0 1rem 1rem;
	padding: .25rem;
	width: 360px;
}
.item-page .item-image > img {
	width: 100%;
}
.blog-services .row > div {
	padding: 0;
}
.blog-services .item {
	border: 1px solid transparent;
	position: relative;
}
.blog-services .item > .page-header {
	position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
	z-index: 1;
}
.blog-services .item > .page-header > h2,
.blog-services .item > .page-header > h2 > a {
	height: 100%;
}
.blog-services .item > .page-header > h2 > a {
	background-color: rgba(57, 60, 83, .8);
	color: #fff;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 1.25rem;
	font-weight: 700;
	padding: 1.5rem;
	text-align: center;
	text-decoration: none;
}
.blog-services .item > .page-header > h2 > a:focus,
.blog-services .item > .page-header > h2 > a:hover {
	background-color: rgba(139, 124, 71, .8);
}
.blog-services .item-image img {
	width: 100%;
}
.item-page-clients > .page-header > h1 {
	margin-bottom: 0;
}
/* ---------------- */



/* Награды и благодарности */
.awards {
	/*background-color: #5f6386;*/
	background-image: url(../images/bg-awards.jpg);
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	background-size: cover;
	color: #fff;
}
.awards .carousel-item a {
	display: block;
	position: relative;
}
.awards .carousel-item a::after {
	background-color: rgba(0, 0, 0, .8);
	color: #fff;
	content: 'Просмотр' url(../images/icons/icon-zoom.png);
	display: none;
		align-items: center;
		justify-content: center;
	font-weight: 700;
	position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
	text-align: center;
}
.awards .carousel-item a:focus::after,
.awards .carousel-item a:hover::after {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
/* ----------------------- */



/* Подвал */
.footer {
	background-color: #323232;
}
.footer .nav > li {
	flex: 1 0 50%;
}
.footer .nav > li > a {
	color: #fff;
	display: inline-block;
	padding: .25rem 1rem .25rem 0;
}
.footer .row-contacts > div > a:not(.btn) {
	color: #fff;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
		align-items: center;
	height: 50px;
	text-decoration: none;
}
.footer .row-contacts > div > a:not(.btn):focus,
.footer .row-contacts > div > a:not(.btn):hover {
	color: #eee;
}
.footer .row-contacts > div > a small {
	color: #ffc700;
}
.footer .copyright,
.footer .confidentiality {
	font-size: .875rem;
}
.footer .counters {
	text-align: right;
}
/* ------ */



/* В начало... */
#back-top {
	color: #d9534f;
	cursor: pointer;
	display: block;
	font-size: 30px;
	position: fixed;
	left: 2.5%;
	bottom: 2.5%;
	opacity: 0;
	text-decoration: none;
	transition-duration: 0.3s;
	visibility: hidden;
	z-index: 101;
}
#back-top.show {
	opacity: 0.6;
	visibility: visible;
}
#back-top:hover {
	opacity: 1;
}
/* ----------- */



/* Кнопка "Обратный звонок" */
@keyframes hoverWave {
    0% {
    	box-shadow:0 8px 10px rgba(243,92,98,0.3),0 0 0 0 rgba(226,158,105,0.2),0 0 0 0 rgba(226,158,105,0.2);
    }
	40% {
        box-shadow:0 8px 10px rgba(243,92,98,0.3),0 0 0 15px rgba(226,158,105,0.2),0 0 0 0 rgba(226,158,105,0.2);
    }
	80% {
        box-shadow:0 8px 10px rgba(243,92,98,0.3),0 0 0 30px rgba(226,158,105,0),0 0 0 26.7px rgba(226,158,105,0.067);
    }
	100% {
        box-shadow:0 8px 10px rgba(243,92,98,0.3),0 0 0 30px rgba(226,158,105,0),0 0 0 40px rgba(226,158,105,0.0);
    }
}
@keyframes shake {
	0% {
    transform: rotateZ(0deg);
        -ms-transform: rotateZ(0deg);
        -webkit-transform: rotateZ(0deg);
    }
    10% {
    transform: rotateZ(-30deg);
        -ms-transform: rotateZ(-30deg);
        -webkit-transform: rotateZ(-30deg);
    }
    20% {
    transform: rotateZ(15deg);
        -ms-transform: rotateZ(15deg);
        -webkit-transform: rotateZ(15deg);
    }
    30% {
    transform: rotateZ(-10deg);
        -ms-transform: rotateZ(-10deg);
        -webkit-transform: rotateZ(-10deg);
    }
    40% {
    transform: rotateZ(7.5deg);
        -ms-transform: rotateZ(7.5deg);
        -webkit-transform: rotateZ(7.5deg);
    }
    50% {
    transform: rotateZ(-6deg);
        -ms-transform: rotateZ(-6deg);
        -webkit-transform: rotateZ(-6deg);
    }
    60% {
    transform: rotateZ(5deg);
        -ms-transform: rotateZ(5deg);
        -webkit-transform: rotateZ(5deg);
    }
    70% {
    transform: rotateZ(-4.28571deg);
        -ms-transform: rotateZ(-4.28571deg);
        -webkit-transform: rotateZ(-4.28571deg);
    }
    80% {
    transform: rotateZ(3.75deg);
        -ms-transform: rotateZ(3.75deg);
        -webkit-transform: rotateZ(3.75deg);
    }
    90% {
    transform: rotateZ(-3.33333deg);
        -ms-transform: rotateZ(-3.33333deg);
        -webkit-transform: rotateZ(-3.33333deg);
    }
    100% {
    transform: rotateZ(0deg);
        -ms-transform: rotateZ(0deg);
        -webkit-transform: rotateZ(0deg);
    }
}
#btn-callback {
	animation: hoverWave linear 1s infinite;
	background-color: #f35c62;
	border: 2px solid #f35c62;
	border-radius: 50%;
	box-shadow: 0 8px 10px rgba(243,92,98,0.3);
	position: fixed;
		right: 2.5%;
		bottom: 2.5%;
	transition: 0.3s all;
	z-index: 11;
}
#btn-callback:active,
#btn-callback:focus,
#btn-callback:focus-within {
	outline: none;
}
#btn-callback:hover {
	background-color: #c82333;
	border-color: #c82333;
}
#btn-callback > i {
	animation: 1200ms ease 0s normal none 1 running shake;
	animation-iteration-count: infinite;
		-webkit-animation: 1200ms ease 0s normal none 1 running shake;
		-webkit-animation-iteration-count: infinite;
	border-radius: 50%;
	color: #fff;
	display: inline-block;
	font-size: 25px;
	padding: 15px;
	top: 0;
}
/* ------------------------ */



/* Модальные окна */
.modal-body > .close {
	color: red;
	font-size: 20px;
	line-height: 1;
	position: absolute;
		top: 3px;
		right: 5px;
	text-shadow: none;
	z-index: 1;
}
.modal-body > .close:focus,
.modal-body > .close:hover {
	opacity: 0.75;
}
/* -------------- */



/* Формы RSForms */
.rsform .form-control:not(textarea) {
	height: calc(2em + 0.75rem + 4px);
}
.rsform-error {
	border-color: #dc3545;
	box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}
/* ------------- */



/* Сообщение после отправки формы */
.sys-messages {
	color: #333;
	padding: 15px;
	text-align: center;
}
.sys-messages > h3 {
	font-weight: 700;
}
.sys-messages > h4 {
	margin: 1rem 0;
}
/* ------------------------------ */
