/* Собранный файл для минимизации */
/* Сброс стилей по умолчанию ----------------------------------------------- */
* {
    margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}
audio,
canvas,
video {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}
audio:not([controls]) {
	display: none;
}
html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
a:focus {
	outline: thin dotted #333;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}
a:hover,
a:active {
	outline: 0;
}
sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
img {
	max-width: 100%;
	width: auto \9;
	height: auto;
	vertical-align: middle;
	border: 0;
	-ms-interpolation-mode: bicubic;
}
button,
input,
select,
textarea {
	margin: 0;
	font-size: 100%;
	vertical-align: middle;
}
button,
input {
	*overflow: visible;
	line-height: normal;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}
label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
	cursor: pointer;
}
input[type="search"] {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
}
textarea {
	overflow: auto;
	vertical-align: top;
}
/* end of reset ------------------------------------------------------------ */

/* Общие для всех отображений ---------------------------------------------- */
@media screen {
body {
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 18px;
    color: #333;
    background-color: #fff;
}
a {
    color: #005e8d;
    text-decoration: none;
}
a:hover,
a:focus {
    color: #002b41;
    text-decoration: underline;
}
h1, h2, h3, h4 {
    color: #0c57a3;
    font-family: Cuprum;
    font-weight: normal;
    font-size: 2em;
    line-height: 1em; /* was 1em */
    padding: 0.5em 0;
    text-align: center;
}
h3 {
    font-size: 1.8em;
}
h4 {
    font-size: 1.5em;
}
.clear-both {
    clear: both;
}
.page-header h1 {
    font-size: 2.5em;
}
.item-page p {
    padding-bottom: 1em;
    line-height: 1.4em;
    text-align: justify;
    text-indent: 1.4em;
}
p.caps {
    clear: both;
    text-indent: 0;
}
i.cap {
    color: #66ccff;
    display: inline-block;
    float: left;
    font-style: normal;
    font-size: 3em;
    font-weight: bold;
    height: 34px;
    margin-top: 10px;
    text-align: center;
    width: 64px;
}
.item-page h3 {
	clear: both;
}
.item-page img {
	background-color: #f0f8ff;
	border: solid 1px #beddf9;
	float: right;
	margin: 0px 0px 10px 20px;
	padding: 10px;
	width: 33%;
	height: auto;
}
.item-page img.full {
	float: left;
	width: auto;
}
.item-page .width50 {
	width: 50%;
}
.team-member {
	margin-bottom: 20px;
	overflow: hidden;
}
.team-member h3 {
	clear: none;
}

.top-approve {
    float: right;
    text-align: center;
    width: 50%;
}
.top-approve p {
    text-align: center;
}
.table-price {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 14px;
    text-align: left;
    width: 100%;
}
.table-price tr:hover {
    background-color: #FAFAFA;
}
.table-price td {
    border: 1px solid #e5e5e5;
    border-left: none;
    border-right: none;
    color: #666666;
}
.table-price .border-none td {
    border-top: none;
    border-bottom: none;
}
.table-price .border-none td.border-top {
    border-top: 1px solid #e5e5e5;
}
.table-price tbody tr td:first-child, .table-price tbody tr th:first-child {
}
.table-price tbody tr td:last-child, .table-price tbody tr th:last-child {
    white-space: nowrap;
}
.table-price th, .table-price td {
    padding: 10px 16px;
}
.table-price .cell-vertical-top {
    vertical-align: top;
}
.table-sched {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 14px;
    text-align: left;
}
.table-sched tr:hover {
    background-color: #FAFAFA;
}
.table-sched td {
    border: 1px solid #e5e5e5;
    border-left: none;
    border-right: none;
    color: #666666;
}
.table-sched th, .table-sched td {
    padding: 10px 16px;
}
td.td-time {
    white-space: nowrap;
    text-align: center;
}

/* Вопросы и ответы */
.faq-group {
    list-style: none;
    padding: 0;
}
.faq-group li {
    padding: 1px;
    background-color: #EAF8FF;
    margin-bottom: 10px;
}
.faq-group li:hover {
    box-shadow: 0 1px 10px rgba(108, 125, 142, 0.3);
}
.faq-trigger {
    display: block;
    font-family: Cuprum;
    font-size: 1.6em;
    margin: 9px;
    position: relative;
    text-align: left;
    cursor: pointer;
}
.faq-trigger::before, .faq-trigger::after {
    backface-visibility: hidden;
    background: #0088CC none repeat scroll 0 0;
    box-sizing: border-box;
    content: "";
    height: 2px;
    position: absolute;
    right: 4px;
    top: 50%;
    transition-duration: 0.2s;
    transition-property: transform;
    width: 13px;
}
.faq-trigger:hover {
    text-decoration: none;
}
.faq-trigger::before {
    transform: rotate(45deg);
    right: 12px;
}
.faq-trigger::after {
    transform: rotate(-45deg);
}
.content-visible .faq-trigger::before {
  transform: rotate(-45deg);
}
.content-visible .faq-trigger::after {
  transform: rotate(45deg);
}

.faq-text {
    display: none;
    margin: 10px;
}
/* Описание подвала */
footer {
  	clear: both;
    background: radial-gradient(ellipse at top center, #DDD -20%, #FFF 60%);
    color: #005e8d;
    font-family: Cuprum;
    font-size: 14px;
    padding: 20px 0;
    text-align: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
}
.footer-left {
}
.footer-right {
    margin-left: 100px;
}
.full-toggle:hover {
    cursor: pointer;
}
} /* common for screen ----------------------------------------------------- */


/* для больших экранов ----------------------------------------------------- */
@media screen and (min-width: 970px) {
.mobile {
    display: none;
}

body {
    background: url(../images/page-bg.webp) top center no-repeat;
}
.body {
    margin: 0 auto;
    width: 970px;
}
/* Описание заголовка */
header {
    height: 195px;
}
header a:hover, header a:active, header a:focus {
    text-decoration: none;
}
.header-left {
    float: left;
    margin: 30px 0 0 30px;
}
.header-logo {
    float: left;
}
.logo-image {
  -webkit-transition: -webkit-transform .3s ease-in-out;
          transition:         transform .3s ease-in-out;
}
.logo-image:hover {
  -webkit-transform: rotate(360deg);
          transform: rotate(360deg);
}
.header-sitename {
    float: left;
    margin: 34px 20px 0;
}
.header-sitename h1 {
    font-family: Noto Serif,Times New Roman,serif;
    font-size: 50px;
    line-height: 50px;
    padding: 0;
}
.header-sitename h3 {
    color: #004379;
    font-family: Noto Sans,Arial,Helvetica,sans-serif;
    font-size: 18px;
    line-height: 18px;
    padding: 0 3px 0 6px; /* выровняем визуально над крупной надписью */
    text-align: justify;
    text-align-last: justify;
}
.header-sitename a {
    color: #004379;
}
.header-sitename a:hover {
    text-shadow: 0 5px 4px #666666;
    margin-top: -2px;
}
.header-right {
    float: right;
    margin-top: 48px;
}

.header-phones, .header-address {
    background-position-x: 100%;
    background-position-y: center;
    background-repeat: no-repeat;
    clear: right;
    color: #004379;
    float: right;
    font-family: "Noto Sans",Arial,Helvetica,sans;
    font-size: 18px;
    padding: 5px 37px;
    text-align: center;
}
.header-phones {
    background-image: url(../images/phone-32x32.png);
    line-height: 20px;
}
.header-address {
    background-image: url(../images/location-32x32.png);
    line-height: 32px;
}

/* Описание строки верхнего меню */
.nav-container {
    background-color: #ffffff;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    height: 95px;
}

.nav-pills {
    list-style: outside none none;
    margin: -17px 40px 0;
    padding: 0;
    position: absolute;
    width: 890px; /* 970 - 40-40 */
}
.nav-pills li {
    float: left;
    height: 95px;
    margin: 0;
    text-align: center;
    width: 146px;
}
.nav-pills a {
    background-image: url(../images/toptab-bg.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    color: #ffffff;
    display: block;
    font-family: Cuprum,Tahoma,Helvetica,sans-serif;
    font-size: 18px;
    line-height: 100px;
}
.nav-pills a.colored {
    background-image: url(../images/toptab-bg-red.png);
}
.nav-pills a:hover, .nav-pills a.colored:hover {
    background-image: url(../images/toptab-bg-active.png);
    text-decoration: none;
    text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.5);
}
/* Описание основного блока страницы */
.main-container {
    background-color: #FFFFFF;
    min-height: 360px;
    padding: 30px;
}
article {
    margin: 0;
}
.page-header {
    clear: left;
}
.left-col {
    float: left;
    position: absolute;
    width: 230px;
}
.main-col {
    margin-left: 250px;
    width: 660px;
}
/* Описание меню в левой колонке */
.menu-left {
    font-family: Cuprum;
    font-size: 22px;
    list-style: outside none none;
    padding: 0;
}
.menu-left li {
    border: 0 none;
    border-radius: 18px;
    margin-bottom: 5px;
    padding: 10px 20px;
    transition: background 0.5s ease;
}
.menu-left li:hover, .menu-left li.active:hover {
    background-color: #66ccff;
}
.menu-left li.active {
    background-color: #cbedff;
}
.menu-left a {
    display: block;
    text-decoration: none;
}
/* Описание карточек разделов на главной странице сайта */
.intro-list {
    min-height: 220px;
    margin-bottom: 20px;
}
.intro-wrapper {
    display: block;
    float: left;
    margin-left: 20px;
    width: 290px;
}
.intro-list [class="intro-wrapper"]:first-child {
    margin-left: 0;
}
.intro {
    background: #f0f8ff none repeat scroll 0 0;
    border-radius: 20px;
    color: #474747;
    display: block;
    height: 220px;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}
/* эффект увеличения картинки */
.intro img {
    transition: all .2s ease-in-out;
}
.intro:hover img {
    transform: scale(1.1);
}

.intro-photo {
    height: 220px
}

.intro-text {
    background-color: rgba(172, 217, 249, 0.7);
    color: #062e57;
    height: 220px;
    margin-top: -50px;
    padding: 0px 10px 10px 10px;
    position: absolute;
    transition: margin 0.5s ease;
    width: 100%;
}
.intro-text h2 {
    font-family: Cuprum;
    font-size: 28px;
    font-weight: normal;
    line-height: initial;
    padding: 8px 0;
    text-align: center;
    width: 100%;
}
.intro-text p {
    font-family: Cuprum;
    font-size: 18px;
    padding-right: 20px;
    text-align: center;
}
.intro:hover .intro-text {
    margin-top: -220px;
}

.span6 {
    margin-top: 50px;
}
} /* end full -------------------------------------------------------------- */

/* для маленьких экранов --------------------------------------------------- */
@media screen and (max-width: 969px) {
.mobile {
    display: initial;
}
body {
    background: url(../images/page-bg.webp) center 50px no-repeat;
}
.desktop {
    display: none;
}
.fixed-top {
    background-color: #00A0EE;
    font-size: 1.5em;
    left: 0;
    line-height: 50px;
    position: fixed;
    top: 0;
    width: 100%;
}
.fixed-top-shadow {
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.8);
    height: 1px;
    width: 100%;
    position: fixed;
    top: 48px;
}
header {
    margin-top: 60px; /* с учетом высоты #top + 10px */
    padding: 0 20px;
}
.top-item-holder {
    padding-left: 20px;
    content: "";
}
.top-menu {
    display: none;
    background-color: #66CCFF;
    max-height: calc(100% - 70px); /* 100% высоты за вычетом 50px высоты .fixed-top и своего 2*10 padding */
    left: 0;
    overflow: scroll;
    padding: 10px 20px;
    position: fixed;
}
.top-menu ul {
    line-height: 2em;
    list-style: outside none none;
    padding: 0;
}
.top-item:hover {
    cursor: pointer;
}
.top-header {
    position: fixed;
    top: 0;
    right: 20px;
}
.top-header a {
    text-decoration: none;
}
.header-left {
    display: table;
    width: 100%;
}
.header-left > div {
    display: table-cell;
    vertical-align: middle;
}
.header-sitename h1 {
    color: #004379;
    font-family: Noto Serif,Times New Roman,serif;
    font-size: 2.5em;
    line-height: initial;
    padding: 0;
}
.header-sitename h3 {
    color: #004379;
    font-family: Noto Sans,Arial,Helvetica,sans-serif;
    font-size: 1.5em;
    line-height: initial;
    padding: 0;
}

.header-right {
    padding: 10px 0;
    text-align: center;
	text-shadow: white 1px 1px 2px;
	font-weight: bold;
}
.header-right a {
	color: #00274f;
}
.main-container {
    background-color: #FFFFFF;
}
article {
    padding: 0 20px 30px;
}

.intro-list {
    display: table;
    width: 100%;
}
.intro-wrapper {
    display: table-row-group;
}
a.intro {
    display: table-row;
}
a.intro > div {
    display: table-cell;
    vertical-align: middle;
    width: 50%;
}
.intro-photo img {
    width: 100%;
}
.intro-text {
    padding: 0 10px;
}
.team-member img {
	float: right;
	margin-left: 20px;
	width: 25%;
	height: auto;
}
.footer-right {
    margin-left: 0;
}

} /* end mobile ------------------------------------------------------------ */

/* Для печати -------------------------------------------------------------- */
@media print {
	* {
		text-shadow: none !important;
		color: #000 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 0.5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
	.nav-container {
		display: none;
	}
	.fixed-top {
		display: none;
	}
} /* end print */
