/* Общие стили */
* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}

:root {
 --color1: #006aa5;
 --color2: #24baa6;
 --color3: #e3eaf4;
 --color4: #62666b;

 --gradient-base: linear-gradient(to top left, var(--color1) 0%, var(--color2) 100%);
 --gradient-hover: linear-gradient(to top left, var(--color1) 0%, var(--color2) 150%);

 --pad1: 1rem 1.25rem;
 --pad2: 0.4rem 0.75rem 0.3rem;

 --shadow-base: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 --shadow-hover: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);

 --radius: 15px;
 
 --transition: all 0.3s ease-in-out;

 --p56-field-border: #dce7ef;
 --p56-field-border-hover: #a9cbdc;
 --p56-field-focus: #006aa5;
 --p56-field-accent: #24baa6;
 --p56-field-text: #244b62;
 --p56-field-placeholder: #8b9ca8;
 --p56-field-bg: #ffffff;
 --p56-field-disabled: #f2f6f8;
 --p56-field-radius: 12px;
 --p56-field-shadow: 0 2px 8px rgba(0, 106, 165, 0.04);
 --p56-field-focus-shadow: 0 0 0 3px rgba(0, 106, 165, 0.12);
 --p56-field-transition: border-color 0.2s ease,
 box-shadow 0.2s ease,
 background-color 0.2s ease;
}

html {
 font-size: 15px;
}

body {
 font-family: 'Noto Sans', serif;
 color: var(--color1);
 background-color: white;
 hyphens: auto;
 hyphenate-limit-chars: 4 3 3;
 hyphenate-limit-lines: 2;
 hyphenate-limit-last: always;
 -webkit-hyphens: auto;
 -moz-hyphens: auto;
 -ms-hyphens: auto;
}

.moder-block {
 position: fixed;
 top: 110px;
 right: 0;
 z-index: 3000!important;
}

h1 {
 font-family: 'Geologica', sans-serif;
 color: var(--color1);
 text-transform: uppercase;
 font-size: 1.6rem;
 padding: 15px 0 10px;
 hyphens: none;
}

h2 {
 font-family: 'Geologica', sans-serif;
 color: var(--color1);
 font-size: 1.4rem;
 font-weight: 500;
 padding: 15px 0 10px;
 letter-spacing: -0.3px;
}

h3 {
 font-family: 'Geologica', sans-serif;
 color: var(--color1);
 font-size: 1.1rem;
 font-weight: 500;
 padding: 15px 0 10px;
 letter-spacing: -0.3px;
}

p {
 font-family: 'Noto Sans', serif;
 font-size: 1rem;
 padding: 0 0 10px;
 text-align: justify;
}

a {
 font-size: 1rem;
 text-decoration: none;
 transition: var(--transition);
 color: var(--color2);
}

a:visited {
 color: var(--color2);
}

a:hover {
 color: var(--color2);
 text-decoration: none;
}

b, strong {
 font-weight: 600;
}

sup {
 color: var(--color2);
 font-weight: 600;
 font-size: 75%;
 line-height: 0; 
 position: relative; 
 vertical-align: baseline; 
 top: -0.5em;
 left: 2px;
 right: 2px;
}

iframe {
 width: 100%;
}

img {
 border-radius: var(--radius);
}

ul {
 list-style-type: none;
 margin: 10px 0 0;
 text-align: left;
}

ol {
 margin-left: 0px;
 padding-left: 2px;
}

ul > li {
 padding-left: 10px;
 margin: 0 0 5px 7px;
}

ul > li::marker {
 content: "›";
 font-weight: 700;
 color: var(--color1);
}

ul > li:last-of-type {
 margin-bottom: 10px;
}

.form-fields li::marker{
 content: "";
}

.uComForm-inner li::marker{
 content: "";
}

hr {
 border: 0;
 border-bottom: 1px solid #e8f6ff;
 margin: var(--pad1);
}

button {
 display: inline-block;
 padding: var(--pad2);
 color: #fff;
 font-size: 1rem;
 text-decoration: none;
 background: var(--gradient-base);
 background-size: 200% 100%; 
 border: none;
 border-radius: var(--radius);
 cursor: pointer;
 transition: var(--transition);
 
}

button:hover {
 background-position: 100% 0;
}

button.active {
 background-position: 100% 0;
}

.manFlSbm,
.manFlRst {
 display: inline-block;
 padding: var(--pad2);
 color: #fff;
 font-size: 1rem;
 text-decoration: none;
 background: var(--gradient-base);
 background-size: 200% 100%; 
 border: none;
 border-radius: var(--radius);
 cursor: pointer;
 transition: var(--transition);
 
}

.manFlSbm:hover,
.manFlRst:hover{
 background-position: 100% 0;
}

.manFlSbm.active,
.manFlRst.active {
 background-position: 100% 0;
}

iframe {
 border: 0;
}

.iframe-mask {
 width: 100%;
 height: 400px; /* высота видимой области */
 overflow: hidden; /* обрезаем всё лишнее */
 position: relative;
}

.iframe-mask iframe {
 width: 100%;
 height: 1200px;
 border: none;
 position: absolute;
 top: -525px;
 left: 0;
}

.content {
 display: flex;
 flex-direction: column;
 width: 100%;
 max-width: 1600px;
 margin-left: auto;
 margin-right: auto;
}

.content-container {
 padding: 10px 10%;
}

section {
 display: flex;
 flex-direction: column;
 margin: 3rem 0;
}

section:first-of-type {
 margin: 0;
}

article {
 display: flex;
 justify-content: space-between;
 flex-direction: row;
}

article h1 {
 padding-top: 0;
}

details {
 background: #fff;
 border: 1px solid var(--color3);
 border-radius: var(--radius);
 overflow: hidden;
 margin: 0 0 10px;
 box-shadow: var(--shadow-base);
}

summary {
 list-style: none;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1rem;
 padding: var(--pad1);
 font-family: 'Geologica', sans-serif;
 font-size: 1.1rem;
 font-weight: 500;
 color: var(--color1);
 background: none;
 transition: var(--transition);
}

summary:hover {
 background: var(--color3);
}

summary::-webkit-details-marker {
 display: none;
}

summary::after {
 content: '';
 width: 10px;
 height: 10px;
 flex-shrink: 0;
 
 background-image: url('/img/logo/check.png');
 background-size: contain;
 background-repeat: no-repeat;
 
 transition: var(--transition);
}

details[open] > summary::after {
 transform: rotate(-180deg);
}

details[open] > summary {
 background: var(--color3);
}

details > div {
 display: grid;
 grid-template-rows: 0fr;
 transition: var(--transition);
 opacity: 0;
}

details > div > * {
 overflow: hidden;
}

details[open] > div {
 grid-template-rows: 1fr;
 opacity: 1;
 padding: var(--pad1);
 border-top: 1px solid var(--color3);
}

blockquote {
 position: relative;
 padding: 1rem 1.5rem 1rem 70px;
 min-height: calc(2rem + 30px);
 background: var(--color3);
 border-radius: var(--radius);
 font-style: normal;
 margin: 10px 0 15px;
}

blockquote::before {
 position: absolute;
 left: 1.5rem;
 top: 1rem;
 display: block;
 content: 'i';
 font-family: 'Geologica', sans-serif;
 line-height: 1.4;
 width: 30px;
 height: 30px;
 background-color: var(--color1);
 color: var(--color3);
 border-radius: 50%;
 text-align: center;
 vertical-align: middle;
 font-style: normal;
 font-weight: bold;
 font-size: 1.5rem;
}

blockquote p {
 margin-bottom: 0;
}

blockquote footer {
 position: relative;
 text-align: left;
 font-weight: normal;
 font-size: 0.8em;
 color: var(--color4);
 margin-bottom: 2.5px;
 padding: 5px 15px 0;
}

blockquote footer::before {
 content: '—';
 position: absolute;
 left: 0;
}

.more {
 display: inline-flex;
 align-items: center;
 width: max-content;
 padding: 0.5rem 1rem;
 margin-left: auto;
 margin-bottom: auto;
 color: var(--color1);
 font-size: 0.8rem;
 font-weight: 400;
 border: 1px solid var(--color3);
 border-radius: var(--radius);
 box-sizing: border-box;
 cursor: pointer;
 transition: var(--transition);
 box-shadow: var(--shadow-base);
}

.more::after {
 content: '';
 width: 8px;
 height: 8px;
 flex-shrink: 0;
 
 margin-left: 5px;
 
 background-image: url('/img/logo/check.png');
 background-size: contain;
 background-repeat: no-repeat;
 transform: rotate(-90deg);
 
 transition: var(--transition);
}

.more:visited {
 color: var(--color1);
}

.more:hover {
 border: 1px solid var(--color2);
 color: var(--color2);
 box-shadow: var(--gradient-hover);
}

.more:hover::after {
 background-image: url('/img/logo/check1.png');
 transition: var(--transition);
}

table {
 width: 100%;
 border-collapse: collapse;
 border: none;
 font-size: 0.9rem;
 text-align: left;
 margin: 10px 0;
 hyphens: none;
}

table p {
 font-size: 0.9rem;
 padding-bottom: 5px;
 text-align: center;
 hyphens: none;
}

table p:last-of-type {
 padding-bottom: 0;
}

table a {
 font-size: 0.9rem;
}

thead {
 font-size: 0.8rem;
 z-index: 1;
 border-bottom: 2px solid var(--color3);
 color: var(--color2);
}

th {
 font-weight: 600;
 padding: 5px;
 vertical-align: middle;
 text-align: center;
}


tr {
 border-bottom: 1px solid #f3f6fb;
}


tr:last-of-type {
 border-bottom: 0;
}

tbody > tr:hover {
 background-color: #f3f6fb;
 transition: var(--transition);
}

.hover {
 background-color: #f3f6fb;
 border-radius: none!important;
 text-align: center!important;
 font-weight: 600;
}

td {
 font-size: 0.9rem;
 border: none;
 padding: 0.7rem 1rem;
 vertical-align: middle;
}

td .more {
 margin: 0;
 border: 1px solid var(--color1);
}

td .more:hover {
 border: 1px solid var(--color2);
}

label {
 display: flex;
min-height: 40px;
 align-items: center;
 gap: .75rem;
 padding: .65rem .9rem;
 margin-bottom: 5px;
 border-radius: var(--radius);
 border: 1.5px solid var(--color3);
 transition: var(--transition);
 user-select: none;
 appearance: none;
}

label span {
 color: var(--color4); 
 font-size: 0.9rem!important;
}

label a {
 font-size: 0.9rem!important;
}

.select-wrapper {
 position: relative;
 width: 100%;
 font-size: 0.9rem;
 transition: var(--transition);
}

.select-wrapper::after {
 content: "";
 position: absolute;
 top: 50%;
 right: 15px; 
 transform: translateY(-50%);
 width: 10px;
 height: 10px;
 pointer-events: none;
 background-image: url('/img/logo/check.png');
 background-size: contain;
 background-repeat: no-repeat;
}

select {
 width: 100%;
 padding: .65rem 2.5rem .65rem .9rem;
 border: 1.5px solid var(--color3);
 border-radius: var(--radius);
 font-family: 'Noto Sans', serif;
 font-size: 0.9rem;
 color: var(--color1);
 cursor: pointer;
 box-sizing: border-box;
 
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 background-color: transparent; 
}

select:focus {
 outline: none;
 border-color: var(--color1);
 border-radius: var(--radius);
 box-shadow: 0 0 0 2px rgba(var(--color3), 0.2);
}

select option {
 font-family: inherit;
 font-size: inherit;
}

select:invalid { 
 color: var(--color4); 
 }

input[type=radio] {
 width: 18px;
 height: 18px;
 accent-color: var(--color1);
 flex-shrink: 0;
 cursor: pointer;
}

input[type=checkbox] {
 width: 1rem;
 height: 1rem;
 accent-color: var(--color1);
 flex-shrink: 0;
 cursor: pointer;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=date],
input[type=time],
input[type=number],
input[type=password] {
 position: relative;
 display: flex;
 width: 100%;
 align-items: center;
 gap: .75rem;
 padding: .65rem .9rem;
 font-size: .9rem;
 font-family: 'Noto Sans', serif;
 border-radius: var(--radius);
 border: 1.5px solid var(--color3);
 color: var(--color1);
 cursor: pointer;
 transition: var(--transition);
 user-select: none;
 appearance: none;
 box-sizing: border-box;
}

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=date]:focus,
input[type=time]:focus,
input[type=number]:focus,
input[type=password]:focus {
 outline: none;
 border-color: var(--color1);
 border-radius: var(--radius);
 box-shadow: 0 0 0 2px rgba(var(--color3), 0.2);
}

input[type="date"]::-webkit-calendar-picker-indicator { 
position: absolute; right: .9rem; top: 0; bottom: 0; margin: auto 0; transform: translateX(0);
}

input[type="time"]::-webkit-clear-button { 
 position: absolute; right: 0.9rem; top: 0; bottom: 0; margin: auto 0; transform: translateX(0);
 }
 
textarea {
 width: 100%;
 min-height: 90px;
 padding: .75rem;
 border: 1.5px solid var(--color3);
 border-radius: var(--radius);
 color: var(--color1);
 font-size: .9rem;
 font-family: 'Noto Sans', serif;
 line-height: 1.5;
 resize: vertical;
 transition: var(--transition);
 box-sizing: border-box;
}

input::placeholder,
textarea::placeholder,
input[type=tel]::placeholder {
 color: var(--color4);
}

.captcha-question, .captcha-renew {
 cursor: pointer;
 vertical-align: middle;
 width: auto;
 height: 40px!important;
 border-radius: 15px!important;
 border: 1.5px solid var(--color3);
}

.catsTableI tr {
 background-color: #fff!important;
}

.eBlock tr {
 background-color: #fff!important;
}

.eMessage > p {
 text-align: start!important;
}

.mobile {
 display: none;
}

.desktop {
 display: block;
}

.rotate-box {
 position: relative;
 width: 70%;
 margin-left: auto;
 margin-right: auto;
 align-items: center;
}

.rotate-box p {
 font-size: 0.8rem;
 text-align: center;
 padding: 10px 0;
}

.rotate-img {
 position: relative;
 margin-left: auto;
 margin-right: auto;
 width: 45px;
 height: 45px;
 background-image: url('/img/logo/rotate.png');
 background-size: cover;
 animation: rotate 2s infinite;
}

@keyframes rotate {
 0% { transform: rotate(0deg); }
 50% { transform: rotate(-45deg); }
 100% { transform: rotate(0deg); }
}

#uhvb.in-body.left-bottom, #uhvb.in-body.left-top {
 display: none!important;
}

/* Меню */
.mobile-menu {
 display: none;
}

.upper {
 position: relative;
 width: 100%;
 height: 50px;
 background-color: #fff;
 z-index: 1000;
}

.upper-container {
 max-width: 1600px;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
}

.phone-container {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;
 padding: 10px 10% 0px 40%;
}

.phone {
 font-size: 1rem;
 line-height: 1.2;
}

.phone:nth-child(1) {
 text-align: left;
}

.phone:nth-child(2) {
 text-align: center;
}

.phone:nth-child(3) {
 text-align: right;
}

.phone a {
 font-family: 'Geologica', sans-serif;
 color: var(--color1);
 font-weight: bold;
 font-size: 1rem;
 text-decoration: none;
}

.phone a:hover {
 color: var(--color2);
 text-decoration: none;
}

.phone > a::before {
 content: '';
 background-image: url('/img/bar/phone.png');
 background-size: contain;
 background-repeat: no-repeat;
 width: 11px;
 height: 11px;
 margin-right: 3px;
 display: inline-block;
 transition: var(--transition);
}

.phone > a:hover::before {
 background-image: url('/img/bar/phone2.png');
 transition: var(--transition);
}

.lower {
 position: sticky;
 top: 0;
 height: 60px;
 background-color: #fff;
 box-shadow: 0px 9px 16px -7px rgba(0, 106, 165, 0.1);
 z-index: 1001;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.lower-container {
 max-width: 1600px;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
}

.menu-container {
 position: relative;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.logo-container-desktop {
 position: absolute;
 top: -60px;
 padding-left: 10%;
 z-index: 1010;
 transition: all 0.1s ease;
}

.logo-desktop {
 display: block;
 margin-right: auto;
 height: 98px;
 object-fit: contain;
 transition: all 0.1s ease;
}

.logo-desktop img {
 width: auto;
}

.menu {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;
 width: 100%;
 padding: 0 10% 0 40%;
}

.navigation {
 margin-bottom: auto;
 margin-top: auto;
}

.navigation ul {
 list-style-type: none;
 margin: 0;
 padding: 0;
 display: flex;
}

.navigation > ul > li {
 position: relative;
 display: inline-block;
 margin: 0 15px 0 0;
 padding: 0;
}

.navigation > ul > li::before {
 content: "";
 position: absolute;
 left: -15px;
}

.navigation a {
 color: var(--color1);
 text-decoration: none;
 font-size: 1rem;
 transition: all .3s ease-in-out;
}

.navigation a:hover {
 color: var(--color2);
}

.navigation a::after {
 content: '';
 display: block;
 left: 50%;
 top: -1px;
 height: 1px;
 width: 0; 
 background-color: var(--color2);
 transform: translateX(0%); 
 transition: all 0.3s cubic-bezier(0.5, 0, 0.5, 1);
}

.navigation a:hover::after,
.navigation:focus::after {
 width: 100%;
}

.submenu {
 display: flex;
 opacity: 0;
 visibility: hidden;
 transform: translateY(-10px);
 transition: all .3s ease-in-out;
 position: absolute;
 top: calc(100% + 10px);
 left: -20px;
 background: linear-gradient(to top, rgba(255, 255, 255, 0.97), rgba(255, 255, 255, 1));
 border-radius: 0 0 5px 5px;
 min-width: auto;
 padding: 0;
 z-index: 999;
 flex-direction: column;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
}

.navigation > ul > li:hover .submenu {
 opacity: 1;
 visibility: visible;
 transform: translateY(0);
}

.submenu li {
 margin: 0 0 5px 0;
 padding: 0;
}

.submenu li:last-of-type {
 margin: 0 0 15px 0;
}

.submenu a {
 display: inline-block;
 padding: 10px 20px 0;
 transition: all .3s ease-in-out;
}

.submenu a:hover {
 color: var(--color2); 
}

.submenu a::after {
 content: '';
 display: block;
 height: 0;
} 

.icon {
 display: flex;
 flex-direction: row;
gap: 10px;
}

.icon a {
 margin-top: auto;
 margin-bottom: auto;
}

.icon-1 {
 content: '';
 background-image: url('/img/bar/search.png');
 background-size: contain;
 background-repeat: no-repeat;
 width: 20px;
 height: 20px;
 margin-top: auto;
 margin-bottom: -3px;
 display: inline-block;
 transition: var(--transition);
}

.icon-1:hover {
 background-image: url('/img/bar/search2.png');
 transition: var(--transition);
}

.icon-2 {
 content: '';
 background-image: url('/img/bar/user.png');
 background-size: contain;
 background-repeat: no-repeat;
 width: 20px;
 height: 20px;
 margin-top: auto;
 margin-bottom: -3px;
 display: inline-block;
 transition: var(--transition);
}

.icon-2:hover {
 background-image: url('/img/bar/user2.png');
 transition: var(--transition);
}

.pay-icon {
 content: '';
 background-image: url(/img/logo/paylogo.png);
 background-size: contain;
 background-repeat: no-repeat;
 width: 25px;
 height: 25px;
 transition: var(--transition);
 }

.overlay-menu {
 display: none;
}

.overlay-record {
 display: none;
}

/* Всплывающее окно записи */
.popup-container {
 display: none;
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.5);
 justify-content: center;
 align-items: center;
 z-index: 3000;
}

.popup-box {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 background-color: white;
 width: 60%;
 max-width: 750px;
 padding: 20px;
 border-radius: var(--radius);
 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.popup-box h2 {
 margin-top: -20px;
 padding: 0 0 20px;
}

.popup-box h3 {
 font-size: 1rem;
 color: var(--color1);
 padding: 0 0 5px;
}

.btn-popup {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 flex-wrap: wrap;
}

.btn-popup a {
 width: calc((100% / 2) - 5px);
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 flex-wrap: wrap;
 text-decoration: none;
}

.btn-popup button {
 font-size: 0.9rem;
 color: var(--color1);
 width: 100%;
 padding: 20px 10px 20px;
 margin-bottom: 10px;
 border-radius: var(--radius);
 background: #fff;
 border: 1px solid var(--color3);
 box-shadow: var(--gradient-base)
}

.btn-popup button:hover {
 background: var(--color3);
 transition: var(--transition);
}

.btn-popup button:nth-of-type(3),
.btn-popup button:nth-of-type(4) {
 margin-bottom: 0;
}

.close-btn {
 position: relative;
 margin-left: auto;
 width: 15px;
 height: 15px;
 cursor: pointer;
 transform: translate(-10px, 13px);
}

.close-btn::before,
.close-btn::after {
 content: '';
 position: absolute;
 width: 3px;
 height: 20px;
 background-color: var(--color1);
 margin-right: 0;
 transition: var(--transition);
}

.close-btn::before {
 transform: rotate(45deg);
}

.close-btn::after {
 transform: rotate(-45deg);
}

.close-btn:hover::before,
.close-btn:hover::after {
 background-color: var(--color2);
 transition: var(--transition);
}

.max-banner {
 height: 300px;
 content: '';
 background-image: url('/img/other/max.png');
 background-size: cover;
 background-repeat: no-repeat;
 background-position: center;
 border-radius: var(--radius);
}

/* Согласие кукисы */
.cookie-message {
 position: fixed;
 bottom: 0;
 left: 0;
 width: 100%;
 background-color: #252d37;
 color: white;
 padding: 10px 10%;
 text-align: center;
 display: none;
 z-index: 1002;
}

.cookie-message p {
 font-size: 1rem;
}

/* Футер */
.footer {
 width: 100%;
 background-color: #252d37;
 color: #6a7889;
 box-sizing: border-box;
}

.footer-container {
 display: grid;
 grid-template-columns: 1fr 1fr;
 grid-auto-rows: auto;
 gap: 20px;
 padding: 15px 10%;
 width: 100%;
 max-width: 1600px;
 margin: 0 auto;
 box-sizing: border-box;
}

.footer h1 {
 color: white;
 text-transform: uppercase;
 font-size: 1rem;
 margin: 0 0 5px 0;
}

.footer p {
 color: #9EADBF;
 font-size: 0.8rem;
 text-align: left;
 margin: 0;
}

.footer-container > div:last-of-type p {
 text-align: right;
}

.footer a {
 color: #9EADBF;
 font-size: 0.8rem;
 text-decoration: none;
}

.footer a:hover {
 color: var(--color2);
}

/* Баннеры */

#js-show-iframe-wrapper{border-radius: var(--radius); position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:293px;max-width:100%;background:linear-gradient(138.4deg,#38bafe 26.49%,#2d73bc 79.45%);color:#fff;cursor:pointer}#js-show-iframe-wrapper .pos-banner-fluid *{box-sizing:border-box}#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2{display:block;width:240px;min-height:56px;font-size:18px;line-height:24px;cursor:pointer;background:#0d4cd3;color:#fff;border:none;border-radius:8px;outline:0}#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:hover{background:#1d5deb}#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:focus{background:#2a63ad}#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:active{background:#2a63ad}@-webkit-keyframes fadeInFromNone{0%{display:none;opacity:0}1%{display:block;opacity:0}100%{display:block;opacity:1}}@keyframes fadeInFromNone{0%{display:none;opacity:0}1%{display:block;opacity:0}100%{display:block;opacity:1}}@font-face{font-family:LatoWebLight;src:url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Light.woff2) format("woff2"),url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Light.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Light.ttf) format("truetype");font-style:normal;font-weight:400}@font-face{font-family:LatoWeb;src:url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Regular.woff2) format("woff2"),url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Regular.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Regular.ttf) format("truetype");font-style:normal;font-weight:400}@font-face{font-family:LatoWebBold;src:url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Bold.woff2) format("woff2"),url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Bold.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Lato/fonts/Lato-Bold.ttf) format("truetype");font-style:normal;font-weight:400}@font-face{font-family:RobotoWebLight;src:url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Light.woff2) format("woff2"),url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Light.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Light.ttf) format("truetype");font-style:normal;font-weight:400}@font-face{font-family:RobotoWebRegular;src:url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Regular.woff2) format("woff2"),url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Regular.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Regular.ttf) format("truetype");font-style:normal;font-weight:400}@font-face{font-family:RobotoWebBold;src:url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Bold.woff2) format("woff2"),url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Bold.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Roboto/Roboto-Bold.ttf) format("truetype");font-style:normal;font-weight:400}@font-face{font-family:ScadaWebRegular;src:url(https://pos.gosuslugi.ru/bin/fonts/Scada/Scada-Regular.woff2) format("woff2"),url(https://pos.gosuslugi.ru/bin/fonts/Scada/Scada-Regular.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Scada/Scada-Regular.ttf) format("truetype");font-style:normal;font-weight:400}@font-face{font-family:ScadaWebBold;src:url(https://pos.gosuslugi.ru/bin/fonts/Scada/Scada-Bold.woff2) format("woff2"),url(https://pos.gosuslugi.ru/bin/fonts/Scada/Scada-Bold.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Scada/Scada-Bold.ttf) format("truetype");font-style:normal;font-weight:400}@font-face{font-family:Geometria;src:url(https://pos.gosuslugi.ru/bin/fonts/Geometria/Geometria.eot);src:url(https://pos.gosuslugi.ru/bin/fonts/Geometria/Geometria.eot?#iefix) format("embedded-opentype"),url(https://pos.gosuslugi.ru/bin/fonts/Geometria/Geometria.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Geometria/Geometria.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Geometria-ExtraBold;src:url(https://pos.gosuslugi.ru/bin/fonts/Geometria/Geometria-ExtraBold.eot);src:url(https://pos.gosuslugi.ru/bin/fonts/Geometria/Geometria-ExtraBold.eot?#iefix) format("embedded-opentype"),url(https://pos.gosuslugi.ru/bin/fonts/Geometria/Geometria-ExtraBold.woff) format("woff"),url(https://pos.gosuslugi.ru/bin/fonts/Geometria/Geometria-ExtraBold.ttf) format("truetype");font-weight:900;font-style:normal}

#js-show-iframe-wrapper{background:var(--pos-banner-fluid-16__background)}#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2{width:100%;min-height:52px;background:#fff;color:#0b1f33;font-size:16px;font-family:LatoWeb,sans-serif;font-weight:400;padding:0;line-height:1.2}#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:active,#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:focus,#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:hover{background:#e4ecfd}#js-show-iframe-wrapper .bf-16{position:relative;display:grid;grid-template-columns:var(--pos-banner-fluid-16__grid-template-columns);grid-template-rows:var(--pos-banner-fluid-16__grid-template-rows);width:100%;max-width:var(--pos-banner-fluid-16__max-width);box-sizing:border-box;grid-auto-flow:row dense}#js-show-iframe-wrapper .bf-16__decor{border-radius: 0 15px 15px 0;background:var(--pos-banner-fluid-16__bg-url) var(--pos-banner-fluid-16__bg-url-position) no-repeat;background-size:var(--pos-banner-fluid-16__bg-size);background-color:#f8efec;position:relative}#js-show-iframe-wrapper .bf-16__content{display:flex;flex-direction:column;padding:var(--pos-banner-fluid-16__content-padding);grid-row:var(--pos-banner-fluid-16__content-grid-row);justify-content:center}#js-show-iframe-wrapper .bf-16__text{margin:var(--pos-banner-fluid-16__text-margin);font-size:var(--pos-banner-fluid-16__text-font-size);line-height:1.2;font-family:LatoWeb,sans-serif;font-weight:700;color:#fff}#js-show-iframe-wrapper .bf-16__bottom-wrap{display:flex;flex-direction:row;align-items:center}#js-show-iframe-wrapper .bf-16__logo-wrap{position:absolute;top:var(--pos-banner-fluid-16__logo-wrap-top);right:var(--pos-banner-fluid-16__logo-wrap-right)}#js-show-iframe-wrapper .bf-16__logo{width:var(--pos-banner-fluid-16__logo-width);margin-left:1px; border-radius: 0;}#js-show-iframe-wrapper .bf-16__slogan{font-family:LatoWeb,sans-serif;font-weight:700;font-size:var(--pos-banner-fluid-16__slogan-font-size);line-height:1.2;color:#005ca9}#js-show-iframe-wrapper .bf-16__btn-wrap{width:100%;max-width:var(--pos-banner-fluid-16__button-wrap-max-width)}

.banner-slider {
 position: relative;
 width: 100%;
 overflow: hidden;
}

.slider-window {
 overflow: hidden;
}

.slider-track {
 display: grid;
 grid-auto-flow: column;
 grid-auto-columns: calc(100% / var(--visible));
 transition: transform 0.5s ease;
}

.banner-slider {
 --visible: 4;
}

.banner {
 height: 150px;
 color: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 24px;
 border-radius: 10px;
 margin: 5px;
 
 background-size: 100% auto;
 background-position: center;
 background-repeat: no-repeat;
 filter: grayscale(1);
 transition: var(--transition);
}

.banner:hover {
 filter: grayscale(0);
}

/* Кнопки */
.nav-ban {
 display: flex;
}

.prev-ban,
.next-ban {
 height: 33px;
 padding: 0.5rem 1rem;
 border: 1px solid var(--color3);
 border-radius: var(--radius);
 box-sizing: border-box;
 cursor: pointer;
 background: transparent;
 transition: var(--transition);
 box-shadow: var(--shadow-base);
}

.prev-ban:hover,
.next-ban:hover {
 border: 1px solid var(--color2);
 color: var(--color2);
 background: transparent;
 box-shadow: var(--shadow-hover);
}

.prev-ban {
 margin-right: 5px;
}

.prev-ban::after {
 content: '';
 width: 8px;
 height: 8px;
 flex-shrink: 0;
 margin: auto;
 
 background-image: url('/img/logo/check.png');
 background-size: contain;
 background-repeat: no-repeat;
 transform: rotate(90deg);
 
 transition: var(--transition);
}

.prev-ban:hover::after {
 background-image: url('/img/logo/check1.png');
}

.next-ban::after {
 content: '';
 width: 8px;
 height: 8px;
 flex-shrink: 0;
 margin: auto;
 
 background-image: url('/img/logo/check.png');
 background-size: contain;
 background-repeat: no-repeat;
 transform: rotate(-90deg);
 
 transition: all var(--transition);
}

.next-ban:hover::after {
 background-image: url('/img/logo/check1.png');
}

/* Кнопки наверх и включение высококонтрастного режима */
.buttons-wrapper {
 position: fixed;
 bottom: 20px;
 right: 20px;
 z-index: 1001;
}

.top-button {
 width: 45px;
 height: 45px;
 border-radius: 50%;
 background: var(--gradient-base);
 background-size: 200% 100%; 
 color: white;
 border: none;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: var(--transition);
 margin-bottom: 10px;
 opacity: 0; 
 pointer-events: none;
 box-shadow: var(--shadow-base);
}

.contrast-button {
 width: 45px;
 height: 45px;
 border-radius: 50%;
 background: var(--gradient-base);
 background-size: 200% 100%; 
 color: white;
 border: none;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: var(--transition);
 margin-bottom: 10px;
 box-shadow: var(--shadow-base);
}

.top-button.visible {
 opacity: 1; 
 pointer-events: auto; 
}

.top-button img,
.contrast-button img {
 width: 25px;
 height: 25px;
}

.top-button:hover,
.contrast-button:hover {
 background-position: 100% 0;
}

.contrast-mode {
 filter: grayscale(100%); 
}



/* Слайдер */
.slider-container {
 position: relative;
 width: 100%;
 height: calc(100vh - 110px);
 max-height: 320px;
 display: flex;
 justify-content: center;
 align-items: center;
 background-color: #fff;
 overflow: hidden;
}

.slide {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 opacity: 0;
 transition: opacity 1s ease-in-out;
 z-index: 1;
 background-size: cover;
 background-position: center;
}

.active-slide {
 opacity: 1;
 z-index: 2;
}

.overlay-icon {
 position: absolute;
 bottom: 0;
 left: 10%;
 height: 100%;
 opacity: 0;
 transform: translateX(-100%);
 border-radius: 0;
 transition: all 2s cubic-bezier(.7,-0.3,.29,1.56), opacity 1s linear 1s;
 z-index: 3;
}

.active-slide .overlay-icon {
 opacity: 1;
 transform: none;
}

.arrow-left, .arrow-right {
 position: absolute;
 top: 60%;
 width: 40px;
 height: 40px;
 cursor: pointer;
 z-index: 5;
 transition: transform 0.3s ease;
}

.arrow-left::before, .arrow-right::before {
 content: '';
 position: absolute;
 top: 60%;
 left: 50%;
 width: 15px;
 height: 15px;
 border-top: 4px solid var(--color1);
 border-right: 4px solid var(--color1);
 transform: rotate(-135deg);
 transition: border-color 0.3s ease;
}

.arrow-right::before {
 transform: rotate(45deg);
}

.arrow-left {
 left: 10%;
 transform: translate(0%, -50%);
}

.arrow-right {
 right: 10%;
 transform: translate(-50%, -50%);
}

.arrow-left:hover::before, .arrow-right:hover::before {
 border-color: var(--color2); 
}

.slide-title-container {
 position: absolute;
 width: 100%;
 height: 100%;
 max-width: 1600px;
 left: 50%; 
 transform: translateX(-50%);
}

.slide-title {
 padding: 20px 10% 0 50%;
 text-align: right;
 text-shadow: #b4e2f8 0 0 30px;
 opacity: 0;
 transition: opacity 1s ease-in-out;
 z-index: 4;
}

.slide-title h1 {
 color: var(--color1);
 text-transform: uppercase;
 padding: 0 0 10px;
}

.slide-title p {
 color: var(--color1);
 text-align: right;
 font-family: 'Noto Sans', serif;
 margin-bottom: 5px;
}

.slide-title a {
 display: inline-flex;
 align-items: center;
 width: max-content;
 padding: 0.5rem 1rem;
 margin-left: auto;
 margin-bottom: auto;
 color: var(--color1);
 font-size: 0.8rem;
 font-weight: 400;
 border: 1px solid var(--color1);
 border-radius: var(--radius);
 box-sizing: border-box;
 cursor: pointer;
 transition: all var(--transition);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.slide-title a::after {
 content: '';
 width: 8px;
 height: 8px;
 flex-shrink: 0;
 
 margin-left: 5px;
 
 background-image: url('/img/logo/check.png');
 background-size: contain;
 background-repeat: no-repeat;
 transform: rotate(-90deg);
 
 transition: transform var(--transition);
}

.slide-title a:visited {
 color: var(--color1);
}

.slide-title a:hover {
 border: 1px solid #24baa6;
 color: var(--color2);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.slide-title a:hover::after {
 background-image: url('/img/logo/check1.png');
 transition: transform var(--transition);
}

.slide-title a:hover {
 border: 1px solid #24baa6;
 color: var(--color2);
}

.active-slide .slide-title {
 opacity: 1;
}

/* Слайдер контакты */
.contact-slide {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 420px;
 margin: 10px 0;
 padding: 20px 60px;
 text-align: left;
 transition: opacity 1s ease-in-out;
 z-index: 4;
 background-color: #fff;
 border-radius: var(--radius);
 border: 1px solid #e3eaf4;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}


.contact-slide:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.contact-block {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 position: relative;
 width: 100%;
 padding: 0;
 margin: 0 0 10px;
 background-color: #fff;
 color: var(--color1);
 border-radius: var(--radius);
 border: 1px solid #e3eaf4;
 overflow: hidden;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.contact-block:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.contact-block-img {
 width: 30%;
 background-size: auto 100%;
 background-position: center;
 background-repeat: no-repeat;
 border-radius: 15px 0 0 15px;
 transition: background-size 0.3s ease-in-out;
}

.contact-block:hover .contact-block-img {
 background-size: auto 110%;
}

.contact-block-container {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 padding: 15px 30px;
 width: 70%;
}

.contact-block-container h2 {
 padding-top: 0;
}

.contact-block-container p:last-of-type{
 padding-bottom: 0;
}

.contact-block-container a {
 text-decoration: none;
}

/* Важные объявления */
.important {
 position: relative;
 width: 100%;
 background: linear-gradient(to left, var(--color1) 0%, var(--color2) 100%);
 color: #fff;
}

.important h1 {
 color: #fff;
 padding: 10px 0;
}

.important-container {
 max-width: 1600px;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
}

.important-main {
 width: 100%;
 overflow: hidden;
 padding: 10px 10% 25px;
}

.important-block {
 display: none;
 width: 100%;
 transition: opacity 1s ease; 
 opacity: 0;
}

.important-block.active {
 display: block;
 opacity: 1;
}

/* Информер */

.inf1 {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 flex-wrap: wrap;
}

.inf1-block {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 position: relative;
 width: calc((100% / 4) - 5px);
 margin-bottom: 5px;
 padding: 0;
 background-color: #fff;
 color: var(--color1);
 border-radius: 5px;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.inf1-block:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}


/* Информационные блоки */
.mform-1 {
 width: 80%;
 margin: auto;
}

.blocks {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
 width: 100%;
}

.block {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 position: relative;
 padding: 0;
 background-color: #fff;
 color: var(--color1);
 border-radius: var(--radius);
 border: 1px solid var(--color3);
 overflow: hidden;
 box-shadow: var(--gradient-base);
 transition: var(--transition)
}

.block:hover {
 box-shadow: var(--shadow-hover);
}

.block-img {
 height: 150px;
 background-size: auto 100%;
 background-position: center;
 background-repeat: no-repeat;
 border-radius: 10px 10px 0 0;
 transition: var(--transition);
 padding: 15px;
}

.block:hover .block-img {
 background-size: auto 110%;
}

.block a {
 text-decoration: none;
}

.block-container {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 padding: 15px;
 height: 100%;
}

.block-container h3 {
 text-transform: uppercase;
 padding: 0 0 10px;
 font-size: 1rem;
}

.block-container p {
 padding: 0 0 5px;
 text-align: left;
 font-size: 0.9rem;
}

.block-container p:last-of-type {
 padding: 0;
}

.block-container a {
 color: var(--color1);
}

.dept-contact .dept-contact-block div,
.block-container .dept-contact-block div {
 font-size: 0.9rem!important;
}

.block-container .dept-contact-block div a {
 font-size: 0.9rem!important;
}

.block-container .dept-contact-block:last-of-type {
 margin: 0;
}

.block-info {
 display: flex;
 flex-direction: column;
 justify-content: start;
 gap: 10px;
 text-align: left;
 padding: 15px;
 border: 1px solid var(--color3);
 border-radius: var(--radius);
 overflow: hidden;
 box-shadow: var(--shadow-base);
 transition: var(--transition);
}

.block-info:hover {
 box-shadow: var(--shadow-hover);
}

.block-info:hover .block-info-img {
 padding: 7px;
}

.block-info-img {
 width: 45px;
 height: 45px;
 padding: 9px;
 background-color: var(--color3);
 background-position: center;
 border-radius: var(--radius);
 transition: var(--transition);
}

.block-info-img img {
 border-radius: 0px;
}

.block-info h3 {
 text-transform: uppercase; 
 color: var(--color1);
 margin: 0;
 padding: 0;
}

.block-info p, 
.block-info li {
 text-align: left;
}

.block-info ul {
 margin: 0;
}

.iframe-section > .blocks {
 grid-template-columns: repeat(3, 1fr);
}

.contact-info-container {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
 padding: 10px;
 margin-bottom: 10px;
 width: 100%;
 border: 1px solid var(--color3);
 border-radius: var(--radius);
 box-shadow: var(--shadow-base);
 transition: var(--transition);
}

.contact-info-container:hover {
 box-shadow: var(--shadow-hover);
}

.contact-info-container > div {
 font-size: 0.8rem!important;
}

.contact-info {
 display: flex;
 flex-direction: row;
 gap: 10px;
 font-size: 1rem;
 text-align: left!important;
 color: var(--color1);
 align-items: center;
}

.contact-info-img {
 background-color: var(--color3);
 width: 35px;
 height: 35px;
 padding: 7px;
 border-radius: 50%;
}

.contact-info-img img {
 border-radius: 0;
}

/* Новости */
#catField{
 position:absolute;
 left:-9999px;
}

.nwmes > div:first-of-type {
 width: 100%;
}

.editor-field-label {
 border: 0;
 padding: 0;
 color: var(--color4);
 font-size: 0.9rem !important;
}

.manStar {
 display: none;
}

.cut_helper {
 display: none;
}

#imageUploaderWrapper,
#coverDrop {
 width: 50%;
}

label label {
 padding: 0;
 border: 0;
 margin: 0;
 align-items: center;
 min-height: 0;
 color: var(--color4);
 font-size: 0.9rem !important;
}

label select {
 margin: 0;
 padding: .2rem 1rem;
 border: 1px solid var(--color3);
 background: #fff;
 width: 100px;
}

.u-cross-post-options {
 display: flex!important;
}

.u-cross-post-options > li::marker {
 content: "";
}

.add-container {
 display: flex;
 flex-direction: column;
 gap: 15px;
}

.add-block {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 padding: 15px;
 gap: 15px;
}

.add-block div:nth-child(1) {
 width: 20%;
}

.add-block div:nth-child(2) {
 width: 80%;
}

.add-block div:nth-child(3) {
 width: 100%;
}


.news #allEntries {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
 width: 100%;
}

.news #allEntries > div:first-of-type {
 grid-row: span 2;
 grid-column: span 2;
 display: flex;
 height: 370px;
 flex-direction: column;
 justify-content: space-between;
 color: var(--color1);
 border-radius: var(--radius);
}

.news #allEntries > div {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 180px;
 padding: 15px;
 background-color: #fff;
 color: var(--color1);
 border-radius: var(--radius);
 border: 1px solid #e3eaf4;
 overflow: hidden;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.news #allEntries > div:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.news #allEntries > div:first-of-type .new-img {
 position: absolute;
 margin: -15px;
 width: 100%;
 height: 100%;
 background-size: 100% 100%;
 background-position: top;
 transition: all 0.3s ease-in-out;
 z-index: 0;
}

.news #allEntries > div:first-of-type .new-img::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background: linear-gradient(to right, rgb(0 106 165), rgb(36 186 166 / 40%), rgba(0, 0, 0, 0));
 transition: all 0.3s ease-in-out;
}

.news #allEntries > div .new-img {
 position: absolute;
 margin: -15px;
 width: 100%;
 height: 50%;
 background-size: 100% auto;
 background-position: center;
 filter: grayscale(0.3);
 transition: all 0.3s ease-in-out;
 z-index: 0;
}

.news #allEntries > div .new-img::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background-image: linear-gradient(
 to right,
 rgba(0, 150, 136, 0.5),
 rgba(0, 0, 0, 0)
 );
 transition: all 0.3s ease-in-out;
}

.news #allEntries > div:first-of-type:hover .new-img {
 background-size: 110% 110%;
 filter: grayscale(0);
}

.news #allEntries > div:hover .new-img {
 background-size: 110% auto;
 filter: grayscale(0);
}

.news #allEntries > div:hover .new-img::before {
 opacity: 0;
}

.news #allEntries > div:first-of-type:hover .new-img::before {
 opacity: 1;
}

.news #allEntries > div:first-of-type .new-container {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 50%;
 color: #fff;
}

.news #allEntries > div .new-container {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 65px;
}

.cat-small {
 display: inline-flex;
 padding: 0.15rem 0.65rem;
 margin: 0;
 width: max-content;
 font-family: 'Geologica', sans-serif;
 font-size: 0.8rem;
 font-weight: 300;
 background-color: var(--color3);
 color: var(--color1);
 text-align: center;
 border-radius: var(--radius);
 overflow: hidden;
 position: relative;
}

.news #allEntries > div:first-of-type h2 {
 font-size: 1.5rem;
 width: 60%;
 color: #fff;
 display: -webkit-box;
 -webkit-line-clamp: 3;
 -webkit-box-orient: vertical; 
 overflow: hidden;
 text-overflow: ellipsis;
 text-transform: uppercase;
}

.news #allEntries > div h2 {
 position: relative;
 padding: 0;
 font-size: 1rem;
 display: -webkit-box;
 -webkit-line-clamp: 2; /* Здесь задаем количество строк */
 -webkit-box-orient: vertical; 
 overflow: hidden;
 text-overflow: ellipsis;
 text-transform: uppercase;
}

.news #allEntries > div:first-of-type .non-display {
 display: block;
}

.news #allEntries > div .non-display {
 display: none;
}

.news #allEntries > div:first-of-type .more {
 background: rgba(255, 255, 255, 0.9);
 border: 1px solid transparent;
}

.news #allEntries > div:first-of-type .more:hover {
 border: 1px solid transparent;
}

.news #allEntries > div:first-of-type .date {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 width: 100%;
}

.news #allEntries > div .date {
 position: relative;
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;
 font-size: 0.8rem;
 line-height: 1;
}

.news #allEntries > div:first-of-type .date > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -2px;
}

.news #allEntries > div:first-of-type .date > div:nth-child(1)::before {
 background-image: url(/img/logo/eye2.png);
}

.news #allEntries > div:first-of-type .date > div:nth-child(2)::before {
 background-image: url(/img/logo/calendar1.png);
}

.news #allEntries > div:first-of-type .date > div:nth-child(3)::before {
 background-image: url(/img/logo/time3.png);
}

.news #allEntries > div .date > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -2px;
}

.news #allEntries > div .date > div:nth-child(1)::before {
 background-image: url(/img/logo/eye3.png);
}

.news #allEntries > div .date > div:nth-child(2)::before {
 background-image: url(/img/logo/calendar.png);
}

.news #allEntries > div .date > div:nth-child(3)::before {
 background-image: url(/img/logo/time.png);
}

.news #allEntries > div:last-of-type {
 grid-column: span 4;
 display: flex;
 flex-direction: row;
 height: 1.2rem;
 padding: 0;
 margin: 0 45%;
 border-radius: 0;
 border: none;
 -webkit-box-shadow: none;
 -moz-box-shadow: none;
 box-shadow: none;
}

.cat-container {
 display: flex;
 flex-direction: row;
 width: 100%;
 margin: 15px 0;
}

.cat {
 display: inline-flex;
 padding: 0.25rem 0.75rem;
 font-family: 'Geologica', sans-serif;
 font-size: 0.9rem;
 font-weight: 300;
 background-color: #fff;
 color: var(--color1);
 text-align: center;
 border-radius: var(--radius);
 border: 1px solid var(--color3);
 overflow: hidden;
 margin: 0 10px 0 0;
 cursor: pointer;
 transition: color var(--transition), border-color var(--transition);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.cat-active {
 display: inline-flex;
 padding: 0.25rem 0.75rem;
 font-family: 'Geologica', sans-serif;
 font-size: 0.9rem;
 font-weight: 400;
 background: linear-gradient(to left, var(--color1) 0%, var(--color2) 100%);
 color: #fff;
 text-align: center;
 border-radius: var(--radius);
 overflow: hidden;
 margin: 0 10px 0 0;
 cursor: pointer;
 transition: color var(--transition), background-color var(--transition), border-color var(--transition);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.cat:hover {
 border: 1px solid #24baa6;
 color: var(--color2);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.cat-active:hover {
 background: linear-gradient(to left, var(--color1) 0%, var(--color2) 150%);
 color: #fff;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.new-title {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 width: 100%;
}

.new-title h1 {
 padding: 0 0 10px;
}

.new-header {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 width: 100%;
 margin-bottom: 10px;
}

.new-header > div {
 font-size: 0.9rem;
 color: var(--color4);
}

.new-header > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -1px;
}

.new-header > div:nth-child(1)::before {
 background-image: url('/img/logo/time2.png');
}

.new-header > div:nth-child(2)::before {
 background-image: url('/img/logo/calendar1.png');
}

.new-header > div:nth-child(3)::before {
 background-image: url('/img/logo/eye.png');
}

.new-header > div:nth-child(4) {
 display: inline-flex;
}

.new-message {
 position: relative;
 width: 100%;
}

.new-message img {
 max-width: 100%;
 height: auto!important;
 border-radius: var(--radius);
}

.share1 {
 background-image: url('/img/logo/vk.png');
 background-size: cover;
 width: 20px;
 height: 20px;
 margin-left: 10px;
 vertical-align: -5px;
 border-radius: 0;
 cursor: pointer;
 transition: all 0.3s ease-in-out;
}

.share1:hover {
 background-image: url('/img/logo/vk1.png');
}

.share2 {
 background-image: url('/img/logo/max.png');
 background-size: cover;
 width: 20px;
 height: 20px;
 margin-left: 10px;
 vertical-align: -5px;
 border-radius: 0;
 cursor: pointer;
 transition: all 0.3s ease-in-out;
}

.share2:hover {
 background-image: url('/img/logo/max1.png');
}

/* Статьи пациентам */
.searchForm > form {
 display: inline-flex;
 margin: 0;
 height: 31px;
}

.schQuery {
 padding: 0;
}

.queryField {
width: 90%;
 color: var(--color1);
 border: 0;
 font-size: 0.9rem;
 margin: 5px 0.25rem;
 padding: 5px;
 line-height: 1;
 border: 1px solid var(--color3);
 border-radius: 10px;
}

.queryField:focus,
.queryField:active {
 border: 0;
}

.schBtn {
 position: relative;
 margin: 0;
 margin: auto auto 0;
}

.searchSbmFl {
 position: relative;
 background-image: url(/img/bar/search.png);
 background-color: var(--color3);
 background-size: 20px;
 background-repeat: no-repeat;
 background-position: center;
 color: var(--color3);
 width: 40px;
 height: 40px;
 border: 0;
 border-radius: 15px;
 padding: 20px;
 font-size: 1rem;
 cursor: pointer;
}

.searchSbmFl:hover {
 background-image: url(/img/bar/search2.png);
}

.arti #allEntries {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
 width: 100%;
}

.arti #allEntries > div:first-of-type {
 grid-row: span 2;
 grid-column: span 2;
 display: flex;
 height: 370px;
 flex-direction: column;
 justify-content: space-between;
 color: var(--color1);
 border-radius: var(--radius);
}

.arti #allEntries > div {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 180px;
 padding: 15px;
 background-color: #fff;
 color: var(--color1);
 border-radius: var(--radius);
 border: 1px solid #e3eaf4;
 overflow: hidden;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.arti #allEntries > div:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.arti #allEntries > div:first-of-type .new-img {
 position: absolute;
 margin: -15px;
 width: 100%;
 height: 100%;
 background-size: auto 100%;
 background-position: top;
 transition: all 0.3s ease-in-out;
 z-index: 0;
}

.arti #allEntries > div:first-of-type .new-img::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background: linear-gradient(to right, rgb(255 255 255 / 90%), rgb(255 255 255 / 70%), rgba(255 255 255 / 40%));
 transition: all 0.3s ease-in-out;
}

.arti #allEntries > div .new-img {
 position: absolute;
 margin: -15px;
 width: 100%;
 height: 50%;
 background-size: 100% auto;
 background-position: top;
 filter: grayscale(0.3);
 transition: all 0.3s ease-in-out;
 z-index: 0;
}

.arti #allEntries > div .new-img::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background-image: linear-gradient(to right, rgb(101 196 246 / 70%), rgb(116 238 227 / 50%), rgba(0, 0, 0, 0));
 transition: all 0.3s ease-in-out;
}

.arti #allEntries > div:first-of-type:hover .new-img {
 background-size: auto 110%;
 filter: grayscale(0);
}

.arti #allEntries > div:hover .new-img {
 background-size: 110% auto;
 filter: grayscale(0);
}

.arti #allEntries > div:hover .new-img::before {
 opacity: 0;
}

.arti #allEntries > div:first-of-type:hover .new-img::before {
 opacity: 1;
}

.arti #allEntries > div:first-of-type .new-container {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 50%;
}

.arti #allEntries > div .new-container {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 65px;
}

.cat-small {
 display: inline-flex;
 padding: 0.15rem 0.65rem;
 margin: 0;
 width: max-content;
 font-family: 'Geologica', sans-serif;
 font-size: 0.8rem;
 font-weight: 300;
 background-color: var(--color3);
 color: var(--color1);
 text-align: center;
 border-radius: var(--radius);
 overflow: hidden;
 position: relative;
}

.arti #allEntries > div:first-of-type h2 {
 font-size: 1.5rem;
 width: 60%;
 display: -webkit-box;
 -webkit-line-clamp: 3;
 -webkit-box-orient: vertical; 
 overflow: hidden;
 text-overflow: ellipsis;
}

.arti #allEntries > div h2 {
 position: relative;
 padding: 0;
 font-size: 1rem;
 display: -webkit-box;
 -webkit-line-clamp: 2; /* Здесь задаем количество строк */
 -webkit-box-orient: vertical; 
 overflow: hidden;
 text-overflow: ellipsis;
 text-transform: uppercase;
}

.arti #allEntries > div:first-of-type .non-display {
 display: block;
}

.arti #allEntries > div .non-display {
 display: none;
}

.arti #allEntries > div:first-of-type .more {
 background: rgba(255, 255, 255, 0.9);
 border: 1px solid transparent;
}

.arti #allEntries > div:first-of-type .more:hover {
 border: 1px solid transparent;
}

.arti #allEntries > div:first-of-type .date {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 width: 100%;
}

.arti #allEntries > div .date {
 position: relative;
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;
 font-size: 0.8rem;
 line-height: 1;
}

.arti #allEntries > div:first-of-type .date > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -2px;
}

.arti #allEntries > div:first-of-type .date > div:nth-child(1)::before {
 background-image: url(/img/logo/eye3.png);
}

.arti #allEntries > div:first-of-type .date > div:nth-child(2)::before {
 background-image: url(/img/logo/calendar.png);
}

.arti #allEntries > div:first-of-type .date > div:nth-child(3)::before {
 background-image: url(/img/logo/time.png);
}

.arti #allEntries > div .date > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -2px;
}

.arti #allEntries > div .date > div:nth-child(1)::before {
 background-image: url(/img/logo/eye3.png);
}

.arti #allEntries > div .date > div:nth-child(2)::before {
 background-image: url(/img/logo/calendar.png);
}

.arti #allEntries > div .date > div:nth-child(3)::before {
 background-image: url(/img/logo/time.png);
}

.arti-footer {
 width: 100%;
 border-radius: var(--radius);
 box-sizing: border-box;
 overflow: hidden;
 border: 1px solid #e3eaf4;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.arti-footer p, 
.arti-footer h2 {
 padding: 0 0 10px!important;
}

.arti-footer p {
 font-size: 0.9rem!important;
}

.arti-footer > div {
 position: relative;
 padding: 15px 15px 15px 20%;
 background-repeat: no-repeat;
 background-image: 
 linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 150px, rgba(0, 106, 165, 1) 190px),
 var(--bg-image);
 background-color: var(--color1);
 background-size: 100% 100%, auto 120%;
 background-position: left top, left top;
 overflow: hidden;
 transition: background-size 0.3s ease-in-out, background-position 0.3s ease-in-out;
}

.arti-footer > div:hover {
 background-size: 100% 100%, auto 130%;
 background-position: left top, -10px top;
}

.arti-footer-box {
 position: relative;
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 grid-auto-rows: auto;
 gap: 0px;
 width: 100%;
 height: 100%;
 background-color: #fff;
 padding: 15px 0;
 font-size: 0.9rem;
 border-radius: 10px;
}

.arti-footer-box > div {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 padding: 0 15px;
}

.arti-footer-box > div:nth-child(2) {
 border-right: 1px solid var(--color3);
 border-left: 1px solid var(--color3);
}

/* Статьи врачам */
.arti-other #allEntries {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
 width: 100%;
}

.arti-other #allEntries > div {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 200px;
 padding: 15px;
 background-color: #fff;
 color: var(--color1);
 border-radius: 10px;
 border: 1px solid #e3eaf4;
 overflow: hidden;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.arti-other #allEntries > div:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.arti-other #allEntries > div .new-img {
 position: absolute;
 margin: -15px;
 width: 100%;
 height: 110px;
 background-size: 100% auto;
 background-position: center;
 filter: grayscale(0.3);
 transition: all 0.3s ease-in-out;
 z-index: 0;
}

.arti-other #allEntries > div .new-img::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background-image: linear-gradient(to right, rgb(101 196 246 / 70%), rgb(116 238 227 / 50%), rgba(0, 0, 0, 0));
 transition: all 0.3s ease-in-out;
}

.arti-other #allEntries > div:hover .new-img {
 background-size: 110% auto;
 filter: grayscale(0);
}

.arti-other #allEntries > div:hover .new-img::before {
 opacity: 0;
}

.arti-other #allEntries > div .new-container {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 65px;
}

.arti-other #allEntries > div .cat-small {
 display: inline-flex;
 padding: 0.15rem 0.65rem;
 margin-bottom: 65px;
 width: max-content;
 font-family: 'Geologica', sans-serif;
 font-size: 0.8rem;
 font-weight: 300;
 background-color: var(--color3);
 color: var(--color1);
 text-align: center;
 border-radius: 8px;
 border: 1px solid var(--color3);
 overflow: hidden;
 position: relative;
}

.arti-other #allEntries > div h2 {
 text-transform: uppercase;
 position: relative;
 padding: 0;
 font-size: 1rem;
 display: -webkit-box;
 -webkit-line-clamp: 2; /* Здесь задаем количество строк */
 -webkit-box-orient: vertical; 
 overflow: hidden;
 text-overflow: ellipsis;
}

.arti-other #allEntries > div .arti-text {
 display: none;
}

.arti-other #allEntries > div .non-display {
 display: none;
}

.arti-other #allEntries > div:first-of-type .date {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 width: 100%;
}

.arti-other #allEntries > div .date {
 position: relative;
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;
 font-size: 0.8rem;
 line-height: 1;
}

.arti-other #allEntries > div:first-of-type .date > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -2px;
}

.arti-other #allEntries > div:first-of-type .date > div:nth-child(1)::before {
 background-image: url(/img/logo/eye3.png);
}

.arti-other #allEntries > div:first-of-type .date > div:nth-child(2)::before {
 background-image: url(/img/logo/calendar.png);
}

.arti-other #allEntries > div:first-of-type .date > div:nth-child(3)::before {
 background-image: url(/img/logo/time.png);
}

.arti-other #allEntries > div .date > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -2px;
}

.arti-other #allEntries > div .date > div:nth-child(1)::before {
 background-image: url(/img/logo/eye3.png);
}

.arti-other #allEntries > div .date > div:nth-child(2)::before {
 background-image: url(/img/logo/calendar.png);
}

.arti-other #allEntries > div .date > div:nth-child(3)::before {
 background-image: url(/img/logo/time.png);
}


/* Отзывы */
.reviews #allEntries {
 display: flex;
 flex-direction: column;
}

.reviews #allEntries > div {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 
 padding: 1rem 1.25rem;
 margin-bottom: 10px;
 background-color: #fff;
 border: 1px solid #e3eaf4;
 border-radius: 10px;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.reviews #allEntries > div:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.review-head {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 margin-bottom: 1rem;
}

.review-head-img {
 width: 40px;
 height: 40px;
 padding: 8px;
 background-color: #e3eaf4;
 background-position: center;
 border-radius: 10px;
 margin-right: 1.25rem;
}

.review-head-img img {
 border-radius: 0;
}

.review-head h3 {
 padding: 0;
}

.review-footer {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
}

.review-send {
 display: flex;
 flex-direction: column;
 gap: 5px;
 width: 600px;
}

.reviews #newEntryT {
 display: flex;
 flex-direction: column;
}

.reviews #newEntryT > div {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 
 padding: 1rem 1.25rem;
 margin-bottom: 10px;
 background-color: #fff;
 border: 1px solid #e3eaf4;
 border-radius: 10px;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 transition: opacity 0.4s ease, filter 0.4s ease;
}

.reviews #newEntryT > div:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.commFl, .captcha-answer {
 width: 100%;
 padding: 0.25rem 0.5rem;
 border: 1px solid #e3eaf4;
 border-radius: 10px;
}

.captcha-block {
 display: inline-block!important;
 margin: 0!important;
}

.captcha-answer {
 box-sizing: border-box;
 height: auto!important;
 padding: 0.25rem 0.5rem!important;
 text-align: left!important;
 width: 90px;
}

#gbsbm {
 display: inline-block;
 padding: 6px 10px;
 margin: 0 auto;
 color: #fff;
 font-size: 1rem;
 background-color: var(--color1);
 border: none;
 border-radius: 10px;
 cursor: pointer;
 transition: background-color 0.3s ease;
 text-decoration: none;
}

.paper-container {
 position: relative;
 width: 100%;
 height: 650px;
}

.paper-main {
 position: absolute;
 padding: 2rem 0;
 width: 70%;
 top:0;
 left: 50%;
 transform: translateX(-50%);
 background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(250, 250, 250) 100%);
 box-shadow: 0px 7px 11px -4px rgba(34, 60, 80, 0.3);
 z-index: 3
}

.paper-1 {
 position: absolute;
 width: 450px;
 height: 300px;
 background: url('/img/other/red-envelope.png');
 background-position: center;
 background-size: 100% 100%;
 transform: rotate(51deg) translate(25%, 70%);
 opacity: 0;
 box-shadow: 0px 7px 19px -3px rgba(34, 60, 80, 0.3);
 z-index: 2;
}

.paper-1.animate {
 animation: spinPaper 3s ease forwards;
}

@keyframes spinPaper {
 0% {
 opacity: 0;
 transform: rotate(51deg) translate(25%, 70%);
 }
 100% {
 opacity: 1;
 transform: rotate(45deg) translate(25%, 80%);
 }
}

.paper-2 {
 position: absolute;
 width: 70px;
 height: 500px;
 background: url('/img/other/pen.png');
 background-position: center;
 background-size: 100% 100%;
 opacity: 0;
 transform: rotate(20deg) translate(-30%, 50%);
 right: 0;
 z-index: 3;
}

.paper-2.animate {
 animation: spinPaper2 3s ease forwards;
}

@keyframes spinPaper2 {
 0% {
 opacity: 0;
 transform: rotate(20deg) translate(-30%, 50%);
 }
 100% {
 opacity: 1;
 transform: rotate(28deg) translate(-30%, 50%);
 }
}

/* Администрация */
.admin-blocks {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 grid-auto-rows: auto;
 gap: 20px;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
}

/* Главный врач */
.admin-block-main {
 grid-row: span 1;
 grid-column: span 3;
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 border-radius: 10px;
 padding: 0;
 background-color: #fff;
 border: 1px solid #e3eaf4;
 border-radius: var(--radius);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.admin-block-main:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.admin-block-main h3 {
 font-weight: normal;
}

.admin-img-main {
 width: calc((100% / 3) - 7.5px);
 max-width: 350px;
 background-size: 100% auto;
 background-position: top;
 background-repeat: no-repeat;
 border-radius: 15px 0 0 15px;
 transition: background-size 0.3s ease-in-out;
}

.admin-block-main:hover .admin-img-main {
 background-size: 110% auto;
}

.admin-block-container-main {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 width: calc((100% / 3) * 2 - 7.5px);
 padding: 10px 25px 10px 0;
 overflow: hidden;
}

.admin-block-container-main h3 {
 text-transform: uppercase;
 padding: 0 0 10px;
}

.admin-block-container-main p:last-of-type {
 padding: 0;
}

.admin-block-container-main a {
 color: var(--color1);
}

/* Карточки администрации */

.admin-block {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 padding: 0.75rem 0.75rem;
 background-image: 
 linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 300px, rgba(0, 106, 165, 1) 400px),
 var(--bg-image);
 
 background-color: var(--color1);
 
 background-size: 100% 100%, 100% auto;
 background-position: center top, center top;
 background-repeat: no-repeat;
 
 border-radius: var(--radius);
 overflow: hidden;
 transition: background-size 0.3s ease-in-out, background-position 0.3s ease-in-out;
 }
 
 .admin-block:hover {
 background-size: 100% 100%, 105% auto;
 background-position: center top, center -10px;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 }

.admin-block:hover > img {
 height: 120%;
}

.admin-block-container {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 flex-grow: 1;
 gap: 0.5rem;
 width: 100%;
 background-color: #fff;
 padding: 0.75rem;
 color: var(--color1);
 font-size: 1rem;
 box-sizing: border-box;
 border-radius: var(--radius);
 border: 1px solid #e3eaf4;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.admin-block-container-h3 {
 width: max-content;
 background-color: var(--color3);
 padding: 0.25rem 0.75rem;
 font-family: 'Geologica', sans-serif;
 font-size: 0.9rem;
 font-weight: 300;
 color: var(--color1);
 text-align: center;
 border-radius: 10px;
 overflow: hidden;
 margin: 0 0 300px;
}

.admin-block-container p,
.admin-block-container h3 {
 padding: 0;
}

.admin-block-container h3 {
 text-transform: uppercase;
 font-weight: 400;
 font-size: 1rem;
}

.admin-block-container h3 span {
 font-weight: 600;
}

.admin-block-container p::before {
 content: ""; /* Псевдоэлемент не отобразится без этого свойства */ 
 display: inline-block; 
 width: 1rem; 
 height: 1rem; 
 margin-right: 0.5rem; /* Отступ между иконкой и текстом */ 
 vertical-align: middle; /* Выравнивание по центру строки */ 
 background-repeat: no-repeat; 
 background-position: center; 
 background-size: contain; /* Иконка впишется в заданные 1rem */
}

.admin-block-container p:nth-of-type(1)::before { 
 background-image: url('/img/logo/map.png'); 
} 

.admin-block-container p:nth-of-type(2)::before { 
 background-image: url('/img/logo/time.png'); 
} 

.admin-block-container p:nth-of-type(3)::before { 
 background-image: url('/img/bar/phone.png'); 
}

.admin td {
 text-align: center;
}

.admin colgroup {
 display: table-column-group; /* Группировка колонок */
}

.admin colgroup > col:nth-child(1) { width: 15%; } /* Колонка Фото */
.admin colgroup > col:nth-child(2) { width: 20%; } /* ФИО */
.admin colgroup > col:nth-child(3) { width: 15%; } /* Должность */
.admin colgroup > col:nth-child(4) { width: 30%; } /* Организация */
.admin colgroup > col:nth-child(5) { width: 15%; } /* Специальность/квалификация */
.admin colgroup > col:nth-child(6) { width: 5%; } /* Аккредитация */

/* Неотложная помощь */
.help-blocks {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
 width: 100%;
}

.help-block-1,
.help-block-2 {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 text-align: left;
 padding: 1.25rem;
 border-radius: var(--radius);
 overflow: hidden;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.help-blocks .dept-contact-block {
 margin: 15px 0 0;
 font-size: 0.8rem!important;
}

.help-block-1 {
 border: 1px solid #ffe880;
 background-color: #fffae5;
 color: #40311e;
}

.help-block-1 h3 {
 color: #40311e;
 padding: 15px 0 0;
}

.help-block-1 .dept-contact-img {
 background-color: #ffe880;
 width: 35px;
 height: 35px;
 border-radius: 50%;
}

.help-block-2 .dept-contact-img {
 background-color: #ff3e3e;
 width: 35px;
 height: 35px;
 border-radius: 50%;
}

.help-block-2 .dept-contact-img img {
 border-radius: 0;
 filter: invert(1) brightness(500);
}

.help-block-2 {
 background-color: #ffdfdf;
 border: 1px solid #ff3e3e;
 color: #431b1b;
}

.help-block-2 h3 {
 color: #431b1b;
 padding: 15px 0 0;
}

.help-block-1:hover, 
.help-block-2:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.help-now {
 width: 100%;
 padding: 10px;
 margin-top: 15px;
 text-align: center;
 font-family: 'Geologica', sans-serif;
 background: linear-gradient(45deg, #ff3e3e, #ff0606);
 color: #fff;
 font-size: 1.1rem;
 font-weight: 600;
 border-radius: var(--radius);
 text-transform: uppercase;
}

.help-block-1 .help-now:hover {
 background: linear-gradient(45deg, #ff3e3e, #ff0606, #ff0606);
 color: #fff;
}

.help-block-1 .help-now:hover {
 background: linear-gradient(45deg, #ff3e3e, #ff0606, #ff0606);
 color: #fff;
}

.help-nb {
 width: 100%;
 padding: 10px;
 margin: 15px 0;
 text-align: center;
 background-color: #fffae5;
 border-radius: var(--radius);
}

/* Подразделения */
.dept {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 margin-bottom: 30px;
}

.dept-iframe {
 height: 500px;
}

.dept-main-1 {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 width: calc((100% / 2) - 30px);
 padding: 10px 0;
}

.dept-main-1 > h1 {
 padding: 0 0 10px;
}

.dept-h3 {
 width: max-content;
 background-color: var(--color3);
 padding: 0.25rem 0.75rem;
 font-family: 'Geologica', sans-serif;
 font-size: 0.9rem;
 font-weight: 400;
 color: var(--color4);
 text-align: center;
 border-radius: 10px;
 overflow: hidden;
 margin: 10px 0;
}

.dept-button-1 {
 display: inline-flex;
 align-items: center;
 padding: 0.5rem 1rem;
 color: #fff!important;
 font-size: 1rem;
 background-color: var(--color1);
 border-radius: 10px;
 margin: 0;
 cursor: pointer;
 transition: background-color 0.3s ease;
 text-decoration: none;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.dept-button-1:hover {
 background-color: var(--color2);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.dept-button-2 {
 display: inline-flex;
 align-items: center;
 padding: 0.5rem 1rem;
 color: var(--color1);
 font-size: 1rem;
 box-sizing: border-box;
 border-radius: 10px;
 margin: 0;
 cursor: pointer;
 transition: background-color 0.3s ease;
 text-decoration: none;
 border: 1px solid #e3eaf4;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.dept-button-2:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.dept-button-1 a {
 color: #fff!important;
}

.dept-button-2 a {
 color: var(--color1);
}

.dept-button-1 img,
.dept-button-2 img{
 border-radius: 0;
 margin: -3px 10px 0 0;
 width: 15px;
}

.dept-contact {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 grid-auto-rows: auto;
 gap: 20px 10px;
 width: 100%;
 align-items: center;
}

.dept-contact-block {
 display: flex;
 flex-direction: row;
 font-size: 0.9rem;
 line-height: 1.3;
 margin-bottom: 5px;
}

.dept-contact-block a {
 font-size: 0.9rem;
}

.dept-contact-img {
 width: 30px;
 height: 30px;
 padding: 7px;
 margin: auto 10px auto 0;
 background-color: #e3eaf4;
 background-position: center;
 border-radius: 50%;
}

.dept-contact-img img {
 border-radius: 0;
}

.dept-main-2 {
 position: relative;
 width: calc(100% / 2);
 height: max-content;
 padding: 15px 15px 15px 200px;
 background-image: 
 linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 106, 165, 1) 50%),
 var(--bg-image);
 
 background-color: var(--color1);
 
 background-size: 100% 100%, auto 100%;
 background-position: left top, left top;
 background-repeat: no-repeat;
 border-radius: var(--radius);
 overflow: hidden;
 transition: background-size 0.3s ease-in-out, background-position 0.3s ease-in-out;
}

.dept-main-2:hover {
 background-size: 100% 100%, auto 110%;
 background-position: left top, -30px top;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.dept-main-2:hover > img {
 height: 120%;
}

.dept-main-2-box {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 width: 100%;
 height: 100%;
 background-color: #fff;
 padding: 15px;
 color: var(--color1);
 font-size: 1rem;
 box-sizing: border-box;
 border-radius: var(--radius);
 border: 1px solid #e3eaf4;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.dept-main-2-box-h3 {
 width: max-content;
 background-color: var(--color3);
 padding: 0.25rem 0.75rem;
 font-family: 'Geologica', sans-serif;
 font-size: 0.9rem;
 font-weight: 400;
 color: var(--color1);
 text-align: center;
 border-radius: 10px;
 overflow: hidden;
 margin: 0 0 5px;
}

.dept-main-2-box h2 {
 padding: 0 0 5px;
}


/* Ресепшен */
.btn-group {
 display: flex;
 flex-direction: row;
 margin-top: 10px;
 gap: 10px;
}

.iframe-button {
 width: max-content; /* Вычитаем пространство между кнопками */
 background: transparent;
 padding: 0.5rem 1rem;
 font-family: 'Geologica', sans-serif;
 font-size: 1rem;
 font-weight: 500;
 color: var(--color-text-1);
 text-align: center;
 
 border: 2px solid #e3eaf4;
 border-radius: 20px;
 overflow: hidden;
 
 margin: 5px 0 10px;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 transition: border 0.3s ease-in-out, color 0.3s ease-in-out, font-weight 0.3s ease-in-out;
}

.iframe-button.active,
.iframe-button:hover {
 background: transparent;
 border: 2px solid #24baa6;
 color: var(--color2);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.iframe-button.active {
 color: var(--color2);
}

.iframe-container {
 position: relative;
 margin: 0;
 width: 100%;
 height: 100%;
 background: none;
 border: 0;
}

.iframe-section {
 display: none;
 position: relative;
 width: 100%;
 background-color: white;
 transition: 1s ease-in-out;
}

.iframe-reception {
 width: 100%;
 position: relative;
 height: 400px;
 padding: 1rem;
 margin-bottom: 10px;
 border: 1px solid #e3eaf4;
 border-radius: var(--radius);
 overflow: hidden;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.iframe-rec {
 position: relative;
 width: 100%;
 height: 100%;
 border-radius: var(--radius);
 overflow: hidden;
}

.iframe-rec iframe {
 position: relative;
 width: calc(100% + 35px);
 height: calc(100% + 140px);
 top: -140px;
 left: -10px;
}

.table-responsive {
 overflow-x: auto;
}

.table-reception {
 position: relative;
 padding: 0 10px;
}

.iframe-section.active {
 display: block;
}

.reception td, th {
 font-size: 0.9rem;
 border: none;
 padding: 10px;
 vertical-align: middle;
 text-align: center;
}

.reception colgroup {
 display: table-column-group;
}

.reception colgroup > col:nth-child(1) { width: 25%; }
.reception colgroup > col:nth-child(2) { width: 25%; }
.reception colgroup > col:nth-child(3) { width: 50%; }

.reception-blocks {
 width: 100%;
 padding: 1rem;
 margin-bottom: 10px;
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
 font-size: 0.8rem!important;
 border: 1px solid var(--color3);
 border-radius: var(--radius);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 transition: border 0.3s ease-in-out, color 0.3s ease-in-out, font-weight 0.3s ease-in-out;
}

.reception-blocks:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.reception-blocks .dept-contact-block,
.reception-blocks .dept-contact-block a{
 font-size: 0.9rem!important;
}


/* Формы, диспансеризация */
.p-form {
 width: 68%;
}

.forms {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 background-color: var(--color1);
 color: #fff;
 border-radius: var(--radius);
 padding: 30px;
 margin-bottom: 20px;
}

.forms > h1 {
 color: #fff;
}

.forms > p {
 margin-bottom: 15px;
}

.forms > img {
 position: absolute;
 width: 430px;
 top: -330px;
 right: 0;
 z-index: 500;
}

.form-container {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 width: 100%;
}

.form {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 width: calc((100% / 3) - 10px);
 padding: 15px;
 font-size: 0.95rem;
 color: #fff!important;
 border-radius: var(--radius);
 border: 2px solid #24baa6;
}

.form h3 {
 color: #fff;
 padding-top: 0;
}

.form a {
 color: #fff;
 text-align: center;
}

.form p:last-of-type {
 padding-bottom: 0;
}

.form-container input[type="number"], .form-container select, .form-container button {
 width: calc((100% / 4) - 10px);
 padding: 10px;
 border-radius: var(--radius);
 border: 1px solid transparent;
 color: var(--color1);
 font-size: 0.95rem;
 z-index: 501;
}

.form-container button:hover {
 background-color: var(--color2);
}

.form-container select:focus {
 border: 1px solid #24baa6;
}

option {
 padding: 15px;
 background-color: #fff;
 color: #333;
}

.hidden {
 display: none;
}

#resultBlock {
 padding: 0;
 margin: 0;
 border: 0;
}

#resultBlock h2 {
 padding: 15px 0 0;
 margin: 0;
}

#resultBlock ul {
 list-style-type: "– ";
}

#resultBlock li {
 position: relative;
 margin-right: 15px;
 margin-top: 10px;
 margin-bottom: 0;
}

#resultBlock img {
 position: relative;
 margin-right: 15px;
 margin-top: auto;
 margin-bottom: auto;
 width: 1rem;
 height: 1rem;
}

/* Вакцинация */
.forms-vac {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
}

.forms-vac > img {
 position: absolute;
 width: 350px;
 top: 100px;
 left: 62%;
 z-index: 500;
}

.forms-vac a {
 width: calc((100% / 3) - 15px);
 color: #fff;
}

.forms-vac button {
 width: 100%;
 padding: 10px;
 border-radius: var(--radius);
 border: 2px solid transparent;
 color: #fff;
 font-size: 0.95rem;
 z-index: 501;
}

.forms-vac button {
 border: 0;
 color: #fff;
 background-color: transparent;
 font-family: 'Geologica', sans-serif;
 font-weight: bold;
}

.forms-vac button:hover {
 background-color: var(--color2);
 color: #fff;
}

.vac table {
 width: 100%;
 border-collapse: separate;
 border: none;
 font-size: 0.9rem;
 margin-bottom: 15px;
}

.vac tbody td th {
 font-size: 0.9rem;
 border: none;
 padding: 5px;
 vertical-align: middle;
 text-align: left!important;
}

.vac thead {
 font-size: 0.9rem;
 background-color: #ddd;
 position: sticky;
 top: 60px;
 z-index: 1;
 vertical-align: middle;
 text-align: center;
}

.vac thead tr th:first-child {
 border-radius: 5px 0 0 5px;
}

.vac thead tr th:last-child {
 border-radius: 0 5px 5px 0;
}

.vac tbody tr:nth-child(even) {
 background-color: #f9f9f9;
}

.vac tbody tr td {
 padding: 5px 0;
 vertical-align: middle;
 text-align: center;
}

.vac1 p{
 text-align: left!important;
}

.vac colgroup {
 display: table-column-group;
}

.vac colgroup > col:nth-child(2) { width: 20px; }
.vac colgroup > col:nth-child(3) { width: 20px; }
.vac colgroup > col:nth-child(4) { width: 20px; }
.vac colgroup > col:nth-child(5) { width: 20px; }
.vac colgroup > col:nth-child(6) { width: 20px; }
.vac colgroup > col:nth-child(7) { width: 20px; }
.vac colgroup > col:nth-child(8) { width: 20px; }
.vac colgroup > col:nth-child(9) { width: 20px; }
.vac colgroup > col:nth-child(10) { width: 20px; }
.vac colgroup > col:nth-child(11) { width: 20px; }
.vac colgroup > col:nth-child(12) { width: 20px; }
.vac colgroup > col:nth-child(13) { width: 20px; }
.vac colgroup > col:nth-child(14) { width: 20px; }

.vac colgroup > col:nth-child(n+15) { width: 20px; }

.v0 {
 width: 20px;
 height: 20px;
 border: 1px solid #8b8b8b;
 border-radius: 6px;
}

.v1 {
 padding: 2px 0 0 0;
 width: 20px;
 height: 20px;
 border: 1px solid transparent;
 border-radius: 6px;
 background-color: #fe0000;
 font-weight: bold;
 font-size: 0.7rem;
 text-align: center;
 color: #fff;
 cursor: pointer;
}

.v2 {
 padding: 2px 0 0 0;
 width: 20px;
 height: 20px;
 border: 1px solid transparent;
 border-radius: 6px;
 background-color: #ff5c01;
 font-weight: bold;
 font-size: 0.7rem;
 text-align: center;
 color: #fff;
 cursor: pointer;
}

.v3 {
 padding: 2px 0 0 0;
 width: 20px;
 height: 20px;
 border: 1px solid transparent;
 border-radius: 6px;
 background-color: #ffb288;
 font-weight: bold;
 font-size: 0.7rem;
 text-align: center;
 color: #fff;
 cursor: pointer;
}

.rv1 {
 padding: 2px 0 0 0;
 width: 20px;
 height: 20px;
 border: 1px solid transparent;
 border-radius: 6px;
 background-color: var(--color1);
 font-weight: bold;
 font-size: 0.7rem;
 text-align: center;
 color: #fff;
 cursor: pointer;
}

.rv2 {
 padding: 2px 0 0 0;
 width: 20px;
 height: 20px;
 border: 1px solid transparent;
 border-radius: 6px;
 background-color: #0082ca;
 font-weight: bold;
 font-size: 0.7rem;
 text-align: center;
 color: #fff;
 cursor: pointer;
}

.rv3 {
 padding: 2px 0 0 0;
 width: 20px;
 height: 20px;
 border: 1px solid transparent;
 border-radius: 6px;
 background-color: #129eec;
 font-weight: bold;
 font-size: 0.7rem;
 text-align: center;
 color: #fff;
 cursor: pointer;
}

.rv4 {
 padding: 2px 0 0 0;
 width: 20px;
 height: 20px;
 border: 1px solid transparent;
 border-radius: 6px;
 background-color: #3dbaff;
 font-weight: bold;
 font-size: 0.7rem;
 text-align: center;
 color: #fff;
 cursor: pointer;
}

/* Платные услуги */

/* Всплывающее окно услуг */
.popup-pay-container {
 display: none;
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.5);
 justify-content: center;
 align-items: center;
 z-index: 3000;
}

.popup-pay-box {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 background-color: white;
 width: 60%;
 max-width: 750px;
 padding: 30px;
 border-radius: var(--radius);
 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.close-btn-pay {
 position: absolute;
 top: 20px;
 right: 20px;
 width: 20px;
 height: 20px;
 cursor: pointer;
}

.close-btn-pay::before,
.close-btn-pay::after {
 content: '';
 position: absolute;
 top: 50%;
 left: 50%;
 width: 3px;
 height: 20px;
 background-color: var(--color1);
 transform-origin: center;
 transition: background-color 0.3s ease;
}

.close-btn-pay::before {
 transform: translate(-50%, -50%) rotate(45deg);
}

.close-btn-pay::after {
 transform: translate(-50%, -50%) rotate(-45deg);
}

.close-btn-pay:hover::before,
.close-btn-pay:hover::after {
 background-color: var(--color2);
}


/* Основные стили для кнопки */
.pulse-button {
 /* Позиционирование */
 position: fixed;
 left: 20px;
 bottom: 20px;
 z-index: 9999; /* Чтобы кнопка всегда была поверх других элементов */
 
 /* Размеры и форма */
 width: 90px;
 height: 90px;
 border-radius: 50%;
 
 /* Оформление (яркий, сочный градиент) */
 background: linear-gradient(135deg, #ff416c, #ff4b2b);
 box-shadow: 0 0 0 0 rgba(255, 75, 43, 0.7), 0 4px 15px rgba(255, 75, 43, 0.4);
 
 /* Центрирование текста внутри */
 display: flex;
 align-items: center;
 justify-content: center;
 text-align: center;
 text-decoration: none;
 
 /* Настройки шрифта */
 color: #ffffff;
 font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
 font-size: 11px;
 font-weight: bold;
 line-height: 1.2;
 text-transform: uppercase;
 letter-spacing: 0.5px;
 padding: 8px;
 box-sizing: border-box;
 
 /* Анимации и переходы */
 cursor: pointer;
 animation: pulse-animation 2s infinite ease-in-out;
 transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

/* Эффект при наведении (Hover) */
.pulse-button:hover {
 /* Замирание анимации пульсации */
 animation-play-state: paused;
 
 /* Эффект легкого увеличения и усиления тени при наведении */
 transform: scale(1.08);
 background: linear-gradient(135deg, #ff4b2b, #ff416c);
 box-shadow: 0 8px 25px rgba(255, 75, 43, 0.6);
}

/* Эффект при нажатии (Active) */
.pulse-button:active {
 transform: scale(0.95);
}

/* Красивая анимация плавного пульсирующего шлейфа */
@keyframes pulse-animation {
 0% {
 transform: scale(1);
 box-shadow: 0 0 0 0 rgba(255, 75, 43, 0.7), 0 4px 15px rgba(255, 75, 43, 0.4);
 }
 50% {
 transform: scale(1.03);
 /* В пике пульсации создаем расширяющийся полупрозрачный контур */
 box-shadow: 0 0 0 15px rgba(255, 75, 43, 0), 0 4px 15px rgba(255, 75, 43, 0.4);
 }
 100% {
 transform: scale(1);
 box-shadow: 0 0 0 0 rgba(255, 75, 43, 0), 0 4px 15px rgba(255, 75, 43, 0.4);
 }
}

/* =====================================================================
 P56 · СЛАЙДЕР ВРАЧЕЙ · ВЕРСИЯ 3 (классы docs-* и doc-*)
 Вставить В САМЫЙ КОНЕЦ основного CSS сайта.
 Если вы уже вставляли версию 1 или 2, удалите их CSS и вставьте этот целиком.
 Старые правила .pay-doctor*, .slider-container, .slide, .arrow-* не затрагиваются.
 ===================================================================== */

.docs {
 --docs-gap: 16px; /* расстояние между карточками */
 --docs-per: 4; /* сколько карточек видно одновременно */
 --docs-ratio: 5 / 4; /* пропорция фото: ширина / высота (например, 1 / 1 или 4 / 5) */
 position: relative;
 margin: 0 0 20px;
}

.docs-head {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 5px 15px;
}

.docs-nav {
 display: flex;
 gap: 5px;
}

.docs-nav[hidden],
.docs-btn[hidden] {
 display: none;
}

.docs-btn {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 45px;
 height: 33px;
 padding: 0;
 border: 1px solid var(--color3);
 border-radius: var(--radius);
 background: #fff;
 box-shadow: var(--shadow-base);
 cursor: pointer;
 transition: var(--transition);
}

.docs-btn::after {
 content: '';
 width: 8px;
 height: 8px;
 background: url('/img/logo/check.png') center / contain no-repeat;
 transition: var(--transition);
}

.docs-prev::after { transform: rotate(90deg); }
.docs-next::after { transform: rotate(-90deg); }

.docs-btn:hover:not(:disabled) {
 border-color: var(--color2);
 box-shadow: var(--shadow-hover);
}

.docs-btn:hover:not(:disabled)::after {
 background-image: url('/img/logo/check1.png');
}

.docs-btn:disabled {
 opacity: 0.4;
 cursor: default;
}

@media (pointer: coarse) {
 .docs-btn {
 width: 52px;
 height: 44px;
 }
}

/* ---------- Лента карточек (прокрутка со «защёлкиванием») ---------- */
.docs-track {
 display: flex;
 gap: var(--docs-gap);
 padding: 10px 4px 16px; /* место под тень карточек */
 overflow-x: auto;
 overscroll-behavior-x: contain;
 scroll-snap-type: x mandatory;
 scroll-padding-inline: 4px;
 scroll-behavior: smooth;
 scrollbar-width: none;
 -webkit-overflow-scrolling: touch;
}

.docs-track::-webkit-scrollbar {
 display: none;
}

.docs-track:focus-visible {
 outline: 2px solid var(--color1);
 outline-offset: 2px;
 border-radius: var(--radius);
}

/* ---------- Карточка врача ---------- */
.doc {
 position: relative;
 display: flex;
 flex: 0 0 calc((100% - (var(--docs-per) - 1) * var(--docs-gap)) / var(--docs-per));
 flex-direction: column;
 min-width: 0;
 background: #fff;
 border: 1px solid var(--color3);
 border-radius: var(--radius);
 box-shadow: var(--shadow-base);
 overflow: hidden;
 scroll-snap-align: start;
 transition: var(--transition);
}

.doc:hover {
 box-shadow: var(--shadow-hover);
}

/* Фото сверху. Светлый фон виден у фото с прозрачными краями. */
.doc-photo {
 display: block;
 width: 100%;
 height: auto;
 aspect-ratio: var(--docs-ratio);
 object-fit: cover;
 object-position: center top;
 border-radius: 0;
 background: linear-gradient(160deg, var(--color3), #d6f3ee);
}

/* Необязательная звезда в углу фото */
.doc-star {
 position: absolute;
 top: 12px;
 right: 12px;
 display: grid;
 place-items: center;
 width: 34px;
 height: 34px;
 border-radius: 50%;
 background: #fff;
 box-shadow: 0 2px 8px rgba(0, 106, 165, 0.2);
 font-size: 18px;
 line-height: 1;
 color: var(--color2);
}

.doc-body {
 display: flex;
 flex: 1;
 flex-direction: column;
 gap: 10px;
 align-items: flex-start;
 padding: 16px 16px 14px;
}

/* ФИО */
.doc .doc-name {
 margin: 0;
 padding: 0;
 font-size: 1.1rem;
 font-weight: 500;
 line-height: 1.3;
}

/* Специальность */
.doc .doc-spec {
 padding: 0;
 font-size: 0.95rem;
 line-height: 1.35;
 color: var(--color4);
 padding: 0;
 text-align: left;
}

/* Отделение со значком места */
.doc .doc-dept {
 display: flex;
 align-items: flex-start;
 font-size: 0.95rem;
 line-height: 1.35;
 color: var(--color4);
 padding: 0;
 text-align: left;
}

/* Плашка «Может принять сегодня» (показывает скрипт, если есть свободные талоны) */
.doc-body > div {
 display: flex;
 justify-content: center;
 width: 100%;
 height: max-content;
}

.doc .doc-today {
 display: inline-flex;
 align-items: center;
 margin: auto 0 0;
 padding: 0.35rem 0.8rem;
 background: #e8f8f5;
 border-radius: 12px;
 font-size: 0.85rem;
 line-height: 1.2;
 color: #006e66;
 text-align: left;
}

.doc .doc-today[hidden],
.doc .doc-exp[hidden] {
 display: none;
}

/* Стаж */
.doc .doc-exp {
 padding: 0;
 font-size: 0.8rem;
 font-weight: 700;
 letter-spacing: 0.04em;
 line-height: 1.2;
 text-transform: uppercase;
 color: var(--color4);
 text-align: left;
}

.doc .doc-exp b {
 font-weight: inherit;
}

/* Если плашки нет, стаж прижимается к низу тела карточки */
.doc .doc-today[hidden] + .doc-exp {
 margin-top: auto;
}

/* Кнопка записи на всю ширину карточки */
.doc .doc-book {
 width: 100%;
 margin: 0;
 padding: 14px 16px;
 border-radius: 0;
 background: #e8f8f5;
 font-family: inherit;
 font-size: 1rem;
 font-weight: 600;
 line-height: 1.2;
 text-align: center;
 color: #006e66;
 transition: var(--transition);
}

.doc .doc-book:hover {
 background: var(--color2);
 color: #fff;
}

.doc .doc-book:focus-visible {
 outline: 2px solid var(--color1);
 outline-offset: -4px;
}

.pay-1 {
 display: flex;
 justify-content: center;
 height: calc(100vh / 3 - 110px);
 min-height: 500px;
 background-image: 
 linear-gradient(
 to bottom right,
 rgba(227, 234, 244, 0) 0%,
 rgba(227, 234, 244, 0.8) 50%
 ),
 url('/img/other/pattern.png');
 background-repeat: repeat;
 background-size: cover, 200px 200px;
}

.pay-1-1 {
 margin: auto auto;
 text-align: center;
 width: 50%;
 max-width: 600px;
}

.pay-1 h1 {
 font-size: 2rem;
 text-align: center;
}

.pay-1 p {
 text-align: center;
}

.pay-1-1-1 {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 margin: 30px 0 30px;
 padding: 0;
}

.pay-1-1-1 > div {
 display: flex;
 flex-direction: column;
 justify-content: center;
 padding: 0 1.25rem;
 width: calc(100% / 3);
 text-align: center;
}

.pay-1-1-1 > div:nth-of-type(2) {
 border-right: 1px solid #006aa5; 
 border-left: 1px solid #006aa5;
}

.pay-1-1-1 h2 {
 font-size: 1.3rem;
 text-align: center;
}

.pay-1-1-2 {
 position: relative;
 animation: moveUpDown 2s infinite ease-in-out;
}

@keyframes moveUpDown {
 0% {
 transform: translateY(0);
 }
 50% {
 transform: translateY(-5px);
 }
 100% {
 transform: translateY(0);
 }
}

.pay-button {
 width: 150px;
 background-color: transparent;
 padding: 0.5rem 1rem;
 font-family: 'Geologica', sans-serif;
 font-size: 1rem;
 font-weight: 500;
 color: var(--color1);
 text-align: center;
 
 background: transparent!important;
 
 border: 2px solid var(--color1);
 border-radius: 20px;
 overflow: hidden;
 
 margin: 5px 0 10px;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 transition: border 0.3s ease-in-out, color 0.3s ease-in-out, font-weight 0.3s ease-in-out;
}

.pay-button.active,
.pay-button:hover {
 background-color: transparent;
 border: 2px solid #24baa6;
 color: var(--color2);
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.pay-button.active {
 background-color: transparent;
 color: var(--color2);
}

.pay td:first-of-type,
.pay th:first-of-type{
 text-align: left;
}

.pay td {
 text-align: center;
}


/* Школа пациентов */
@font-face {
 font-family: 'XPLOR';
 src: url('/img/school/Lady_Marmalade.otf') format('OpenType');
}

.desk {
 overflow: hidden;
 background-image: 
 linear-gradient(
 to bottom right,
 rgba(227, 234, 244, 0) 0%,
 rgba(227, 234, 244, 0.8) 50%
 ),
 url('/img/other/pattern1.png');
 background-repeat: repeat;
 background-size: cover, 20px 20px;
 height: max-content;
 color: var(--color1)!important;
 padding: 10px 10%;
}

.desk-container {
 position: relative;
 width: 80%;
 margin: 30px auto;
}

.desk-title-container {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
}

.desk-title {
 font-family: 'XPLOR', serif;
 font-size: 4.5rem;
 transform: rotate(-2deg);
 margin-bottom: 40px;
}

.desk-suptitle {
 text-align: center;
 padding: 10px 0;
 width: 50%;
}

.school-container {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
}

.school-container a {
 color: var(--color1);
 text-decoration: none;
}

.school {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 width: 250px;
 height: 250px;
 padding: 40px 30px;
 position: relative;
}

.school::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-image: url('/img/school/chalk.png');
 background-size: 90% 100%;
 background-position: center;
 background-repeat: no-repeat;
 opacity: 0;
 transition: opacity 0.5s ease-in-out;
}

.school:hover::before {
 opacity: 1;
}

.school h1 {
 font-family: 'XPLOR', serif;
 font-size: 2.3rem;
 font-weight: 500;
 text-align: center;
 text-transform: none;
 color: var(--color1);
 line-height: 1;
 padding: 0 0 15px;
 transform: rotate(-1.5deg);
}

.school p {
 text-align: center;
 padding: 0;
}

.school-body {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-auto-rows: auto;
 gap: 10px;
 width: 100%;
 margin-top: 15px;
}

.school-body > div {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 200px;
 padding: 15px;
 background-color: #fff;
 color: var(--color1);
 border-radius: 10px;
 border: 1px solid #e3eaf4;
 overflow: hidden;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
}

.school-body > div:hover {
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
}

.school-body > div .new-img {
 position: absolute;
 margin: -15px;
 width: 100%;
 height: 110px;
 background-size: 100% auto;
 background-position: center;
 filter: grayscale(0.3);
 transition: all 0.3s ease-in-out;
 z-index: 0;
}

.school-body > div .new-img::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background-image: linear-gradient(to right, rgb(101 196 246 / 70%), rgb(116 238 227 / 50%), rgba(0, 0, 0, 0));
 transition: all 0.3s ease-in-out;
}

.school-body > div:hover .new-img {
 background-size: 110% auto;
 filter: grayscale(0);
}

.school-body > div:hover .new-img::before {
 opacity: 0;
}

.school-body > div .new-container {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 height: 65px;
}

.school-body > div .cat-small {
 display: inline-flex;
 padding: 0.15rem 0.65rem;
 margin-bottom: 65px;
 width: max-content;
 font-family: 'Geologica', sans-serif;
 font-size: 0.8rem;
 font-weight: 300;
 background-color: var(--color3);
 color: var(--color1);
 text-align: center;
 border-radius: 8px;
 border: 1px solid var(--color3);
 overflow: hidden;
 position: relative;
}

.school-body > div h2 {
 text-transform: uppercase;
 position: relative;
 padding: 0;
 font-size: 1rem;
 display: -webkit-box;
 -webkit-line-clamp: 2; /* Здесь задаем количество строк */
 -webkit-box-orient: vertical; 
 overflow: hidden;
 text-overflow: ellipsis;
}

.school-body > div .arti-text {
 display: none;
}

.school-body > div .non-display {
 display: none;
}

.school-body > div:first-of-type .date {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 width: 100%;
}

.school-body > div .date {
 position: relative;
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;
 font-size: 0.8rem;
 line-height: 1;
}

.school-body > div:first-of-type .date > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -2px;
}

.school-body > div:first-of-type .date > div:nth-child(1)::before {
 background-image: url(/img/logo/eye3.png);
}

.school-body > div:first-of-type .date > div:nth-child(2)::before {
 background-image: url(/img/logo/calendar.png);
}

.school-body > div:first-of-type .date > div:nth-child(3)::before {
 background-image: url(/img/logo/time.png);
}

.school-body > div .date > div::before {
 content: "";
 display: inline-block;
 width: 12px;
 height: 12px;
 background-size: cover;
 margin-right: 5px;
 vertical-align: -2px;
}

.school-body > div .date > div:nth-child(1)::before {
 background-image: url(/img/logo/eye3.png);
}

.school-body > div .date > div:nth-child(2)::before {
 background-image: url(/img/logo/calendar.png);
}

.school-body > div .date > div:nth-child(3)::before {
 background-image: url(/img/logo/time.png);
}

#patient-school-registration {
 border-radius: var(--radius);
 border: 1px solid var(--color3);
 padding: 2rem;
 max-width: 680px;
 margin: 0 auto;
 box-shadow: 0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
}

.intro-badge {
 display: inline-flex;
 align-items: center;
 gap: .4rem;
 background: var(--color1);
 color: #fff;
 font-size: .75rem;
 font-weight: 600;
 padding: .25rem .75rem;
 border-radius: var(--radius);
}

#regForm {
 margin: 10px auto 0;
}

.diary {
 display: flex;
 flex-direction: column;
 gap: 15px;
}

.diary h2 {
 text-transform: uppercase; 
 font-weight: 600; 
 padding: 10px 0 5px;
}

.diary-head {
 display: flex; 
 flex-direction: row; 
 gap: 15px; 
 justify-content: space-between;
}

.diary-title {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 width: 100%;

 border-radius: 15px;
 border: 1px solid var(--color3);
 padding: 1rem;
}

.diary-title-block {
 display: flex;
 flex-direction: row;
 width: calc(100% / 3);
 padding-right: 1rem;
 margin-right: 1rem;
 border-right: 1px solid var(--color3);
}

.diary-title-block:last-of-type {
 padding-right: 0;
 margin-right: 0;
 border-right: none;
}

.diary-title-block > div {
 display: flex;
 flex-direction: column;
 line-height: 1.4;
}

.diary-title-block p {
 color: var(--color4); 
 font-size: 1rem; 
 margin: 0; 
 padding: 0;
}

.diary-title-block h3 {
 padding: 0; 
 font-size: 1rem;
}

.diary-title-block::before {
 content: '';
 width: 35px;
 height: 35px;
 padding: 5px;
 margin: auto 1rem auto 0;
 border-radius: 10px;
 background-size: 60%;
 background-position: center;
 background-repeat: no-repeat;
 background-color: var(--color3);
}

.diary-title-block:nth-of-type(1)::before {
 background-image: url('/img/logo/user.png');
}

.diary-title-block:nth-of-type(2)::before {
 background-image: url('/img/logo/call.png');
}

.diary-title-block:nth-of-type(3)::before {
 background-image: url('/img/logo/calendar.png');
}

.diary details {
 margin: 0;
}

.diary summary {
 padding: 1rem;
 font-size: 1.3rem;
}

.diary summary {
 padding: 1rem;
 font-size: 1.1rem;
 font-weight: 600;
 text-transform: uppercase;
}

.diary details[open] > div {
 padding: 1rem;
}

.diary details[open] > div p {
 padding-bottom: 5px;
 color: var(--color4);
}

.diary blockquote {
 margin: 0;
}

.target {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 padding: 1rem;
}

.target-block {
 display: flex;
 flex-direction: row;
 width: calc(100% / 3);
 padding-right: 1rem;
 margin-right: 1rem;
 border-right: 1px solid var(--color3);
}

.target-block > div {
 display: flex;
 flex-direction: column;
 line-height: 0.95;
}

.target-block:last-of-type {
 padding-right: 0;
 margin-right: 0;
 border-right: 0;
}

.target-block::before {
 content: '';
 width: 35px;
 height: 35px;
 padding: 5px;
 margin: auto 1rem auto 0;
 border-radius: 10px;
 background-size: 60%;
 background-position: center;
 background-repeat: no-repeat;
 background-color: var(--color3);
}

.target-block:nth-of-type(1)::before {
 background-image: url('/img/logo/press.png');
}

.target-block:nth-of-type(2)::before {
 background-image: url('');
}

.target-block:nth-of-type(3)::before {
 background-image: url('/img/logo/glu.png');
}

.target p {
 color: var(--color4); 
 font-size: 1rem; 
 margin: 0; 
 padding: 0;
}

.target h3 {
 display: flex;
 padding: 0; 
 font-size: 1rem;
}

.new-diary-rec {
 display: grid;
 width: 100%;
 grid-template-columns: repeat(3, 1fr);
 gap: 10px;
}

.new-diary-rec-block {
 position: relative;
 display: inline-flex;
 width: 100%;
 align-items: center;
 gap: 0;
 font-size: .9rem;
 font-family: 'Noto Sans', serif;
 border-radius: var(--radius);
 border: 1.5px solid var(--color3);
 color: var(--color1);
 background-color: var(--color3);
 cursor: pointer;
 transition: var(--transition);
 user-select: none;
 appearance: none;
 box-sizing: border-box;
 transition: var(--transition);
}

.new-diary-rec-block:hover {
 border: 1.5px solid var(--color1);
}

.new-diary-rec-block > div {
 padding: .65rem .9rem;
 background-color: var(--color3);
 width: 45%;
}

.new-diary-rec-form {
 border: 0!important;
 border-radius: 15px 0 0 15px!important;
 height: 100%;
}

.new-diary-rec-block:focus-within {
 border: 1.5px solid var(--color1);
}

.diary-container {
 display: flex;
 flex-direction: column;
 gap: 10px;
 border-radius: 15px;
 border: 1px solid var(--color3);
 padding: 1rem;
}

.diary-rec {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 align-items: center;
 justify-content: start;
 width: 100%;
 border-bottom: 1px solid var(--color3);
 padding-bottom: 10px; 
}

.diary-rec:last-of-type {
 border-bottom: 0;
 padding-bottom: 0px; 
}

.diary-rec div {
 display: flex;
 flex-direction: column;
 padding: 5px 10px;
}

.diary-rec > div {
 display: flex;
 flex-direction: column;
 text-align: center;
}

.diary-rec > div:first-of-type {
 text-align: left;
}


.diary-rec > div:nth-child(5) {
 text-align: left;
}

.diary-rec p,
.diary-rec h3 {
 padding: 0;
 margin: 0;
 line-height: 1.3;
text-align: inherit;
}

.diary-rec p {
 font-size: .85rem;
 color: var(--color4);
}

.diary-rec h3 {
 font-size: 1rem;
}

.diary-more {
 display: flex;
 background: none;
 color: var(--color1);
}

.diary-more::after {
 content: '';
 background-image: url(/img/logo/check.png);
 width: 1rem;
 height: 1rem;
 margin: auto 0 auto .5rem;
 background-size: 60%;
 background-position: center;
 background-repeat: no-repeat;
 transform: var(--transition)
}

.diary-more:hover {
 background: none;
 color: var(--color2);
}

.diary-more:hover::after {
 background-image: url(/img/logo/check1.png);
}

/* Стили для ноутбуков, настольных компьютеров, планшетов */
@media only screen and (min-width: 450px) and (max-width: 1200px) {
 .mobile {
 display: block;
 }
 
 .desktop {
 display: none;
 }
 
 .content-container {
 padding: 10px 5%;
 }
 
 section {
 padding: 10px 0;
 }
 
 /* Меню */
 .phone-container {
 padding: 10px 5% 0px 40%;
 }
 
 .logo-container-desktop {
 padding-left: 5%;
 }
 
 .menu {
 padding: 0 5% 0 40%;
 }
 
 /* Футер */
 .footer-container {
 padding: 10px 5% 0px;
 }
 
 /* Слайдер */
 .overlay-icon {
 bottom: -5%;
 left: 3%;
 }
 
 .slide-title {
 top: 20px;
 right: 5%;
 left: 50%;
 }
 
 /* Важные объявления */
 .important-main {
 padding: 10px 5% 25px;
 }
}

/* Стили для мобильных телефонов */
@media only screen and (orientation: portrait) and (max-width: 450px) { 
 body {
 padding-top: constant(safe-area-inset-top); /* Для Safari до версии 11.1 */
 padding-bottom: constant(safe-area-inset-bottom);
 padding-left: constant(safe-area-inset-left);
 padding-right: constant(safe-area-inset-right);
 
 padding-top: env(safe-area-inset-top); /* Современные браузеры */
 padding-bottom: env(safe-area-inset-bottom);
 padding-left: env(safe-area-inset-left);
 padding-right: env(safe-area-inset-right);
 
 max-width: 100vw;
 overflow: hidden;
 }
 
 .mobile {
 display: block;
 }
 
 .desktop {
 display: none;
 }
 
 .content-container {
 padding: 10px 3%;
 }
 
 section {
 display: flex;
 flex-direction: column;
 padding: 10px 0;
 }
 
 /* Мобильное меню */
 .upper {
 position: sticky;
 top: 0;
 height: 50px;
 background-color: #fff;
 -webkit-box-shadow: 0px 9px 16px -7px rgba(0, 106, 165, 0.1);
 -moz-box-shadow: 0px 9px 16px -7px rgba(0, 106, 165, 0.1);
 box-shadow: 0px 9px 16px -7px rgba(0, 106, 165, 0.1);
 }
 
 .phone-container {
 padding: 5px 3% 5px 3%;
 }
 
 .lower {
 display: none;
 }
 
 .mobile-menu {
 position: fixed;
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;
 bottom: 0;
 left: 0;
 padding: 5px 5% 5px;
 width: 100%;
 height: 65px;
 background-color: #fff;
 z-index: 1001;
 -webkit-box-shadow: 0px -9px 16px -7px rgba(0, 106, 165, 0.1);
 -moz-box-shadow: 0px -9px 16px -7px rgba(0, 106, 165, 0.1);
 box-shadow: 0px -9px 16px -7px rgba(0, 106, 165, 0.1);
 font-size: 1rem;
 }
 
 .mobile-menu-block {
 text-align: center;
 line-height: 1;
 }
 
 .mobile-menu-block:first-of-type {
 justify-content: flex-start;
 }
 
 .mobile-menu-block:last-of-type {
 justify-content: flex-end;
 }
 
 .mobile-menu-icon {
 width: 100%;
 align-items: center;
 }
 
 .mobile-menu-icon img {
 width: 50px;
 }
 
 .mobile-menu-icon a {
 color: var(--color1);
 font-size: 1rem;
 }
 
 .overlay-menu {
 display: flex;
 position: fixed;
 width: 100%;
 height: 100%;
 background-color: rgba(255, 255, 255, 0.95);
 z-index: 500;
 transform: translateX(100%);
 transition: transform 0.5s ease-in-out;
 padding: 20px 10px 75px 10px;
 }
 
 .overlay-menu-show {
 transform: translateX(0);
 }
 
 .mobile-nav {
 list-style: none;
 padding: 0;
 margin: 0;
 width: 100%;
 text-align: left;
 }
 
 .mobile-nav ul {
 list-style: none;
 padding: 0;
 margin: 0;
 }
 
 .mobile-nav a {
 display: block;
 padding: 5px 20px;
 color: var(--color1);
 text-decoration: none;
 transition: border-left 0.3s ease-in-out;
 }
 
 .mobile-nav a:hover {
 border-left: 2px solid #24baa6;
 padding-left: 18px;
 background-color: transparent;
 font-family: 'Geologica', sans-serif;
 color: var(--color2);
 font-weight: bold;
 }
 
 .mobile-submenu {
 background-color: transparent;
 max-height: 0;
 overflow: hidden;
 transition: max-height 0.3s ease-in-out;
 }
 
 .mobile-submenu li {
 list-style: '-' outside;
 margin-left: 25px;
 padding-left: 0;
 }
 
 .mobile-submenu.active {
 max-height: 500px;
 }
 
 .overlay-record {
 display: flex;
 position: fixed;
 width: 100%;
 height: 100%;
 background-color: rgba(255, 255, 255, 0.95);
 z-index: 500;
 transform: translateX(-100%);
 transition: transform 0.5s ease-in-out;
 padding: 20px 35px 200px 35px;
 }
 
 .overlay-record-show {
 transform: translateX(0);
 }
 
 .mobile-record {
 display: flex;
 flex-direction: column;
 }
 
 .mobile-record-block {
 display: block;
 width: 100%;
 padding: 0 15px 15px;
 margin-bottom: 10px;
 background-color: #fff;
 color: var(--color1);
 border-radius: 5px;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.05);
 }
 
 .mobile-record-block a {
 text-decoration: none;
 color: var(--color1);
 }
 
 .mobile-record-block p:last-child {
 padding-bottom: 0;
 }
 
 /* Футер */
 .footer-container {
 flex-direction: column;
 padding: 10px 3% 0px;
 }
 
 .footer h1 {
 color: white;
 text-transform: uppercase;
 font-size: 1.6rem;
 margin-bottom: 5px;
 }
 
 .footer p {
 color: #9EADBF;
 font-size: 1rem;
 }
 
 .footer a {
 color: #9EADBF;
 font-size: 1rem;
 }
 
 .map {
 width: 100%;
 }
 
 .footer-main {
 width: 100%;
 }
 
 .copy {
 flex-direction: column;
 margin-bottom: 60px;
 }
 
 .copy p {
 font-size: 0.8rem;
 line-height: 1.5;
 }
 
 .copy a {
 font-size: 0.8rem;
 }
 
 /* Согласие кукисы */
 .cookie-message {
 position: fixed;
 bottom: 0;
 left: 0;
 width: 100%;
 background-color: #252d37;
 color: white;
 padding: 10px 3%;
 text-align: center;
 display: none;
 z-index: 1002;
 }
 
 .cookie-message p {
 font-size: 1rem;
 }
 
 /* Баннеры */
 .carousel-slide {
 width: calc((100% / 2) - 20px);
 }
 
 /* Кнопки вверх и контрастность */
 .buttons-wrapper {
 bottom: 70px;
 right: 5%;
 z-index: 1001;
 }
 
 /* Слайдер */
 .slider-container {
 width: 100%;
 height: calc(100vh - 110px);
 max-height: 700px;
 }
 
 .overlay-icon {
 bottom: 10%;
 left: -15%;
 height: 70%;
 }
 
 .arrow-left {
 left: 3%;
 }
 
 .arrow-right {
 right: 3%;
 }
 
 .slide-title-container {
 left: 0;
 transform: translateX(0);
 }
 
 .slide-title {
 padding: 30px 3% 0;
 }
 
 /* Важные объявления */
 .important-main {
 width: 100%;
 overflow: hidden;
 padding: 10px 3% 25px;
 }
 
 /* Информационные блоки */
 .mform-1 {
 width: 60%;
 }
 
 .p-form {
 width: 100%;
 }
 
 .blocks {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 flex-wrap: wrap;
 }
 
 .block {
 width: 100%;
 margin-bottom: 10px;
 -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 -moz-box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);
 box-shadow: 0px 0px 10px 0px rgba(0, 106, 165, 0.2);;
 }
 
 /* Новости */
 .news-container {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 }
 
 .news-img {
 width: 100%;
 height: 150px;
 margin-right: 0;
 padding-right: 0;
 }
 
 .news-img img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 margin-bottom: 15px;
 }
 
 .news-message {
 width: 100%;
 margin-top: 15px;
 }
 
 .news-footer {
 width: 100%;
 }
 
 .news-footer img {
 vertical-align: middle;
 width: 16px;
 height: 16px;
 }
 
 /* Формы */ 
 .p-form {
 width: 100%;
 }
 
 .forms {
 padding: 15px;
 }
 
 .forms > img {
 display: none;
 }
 
 .form-container {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 width: 100%;
 }
 
 .form {
 width: 100%;
 margin-bottom: 15px;
 }
 
 .form-container input[type="number"], .form-container select, .form-container button {
 width: 100%;
 padding: 10px;
 margin-bottom: 5px;
 }
 
 
 /* Администрация */ 
 .admin-block {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 position: relative;
 width: 100%;
 padding: 0;
 background-color: #fff;
 color: var(--color1);
 border-radius: 5px;
 margin-bottom: 15px;
 }
 
 .admin-img {
 height: 300px;
 background-size: 100% auto;
 background-position: top;
 background-repeat: no-repeat;
 border-radius: 5px 5px 0 0;
 transition: background-size 0.3s ease-in-out;
 }
 
 /* Подразделения */ 
 .dept-block-1 {
 width: 100%;
 margin-bottom: 15px;
 }
 
 .dept-block-2 {
 display: none;
 }
 
 .dept-img-1 {
 height: 350px;
 background-size: 100% auto;
 background-position: top;
 background-repeat: no-repeat;
 border-radius: 5px 5px 0 0;
 transition: background-size 0.3s ease-in-out;
 }
}

/* Стили для альбомной ориентации на мобильных устройствах */
@media only screen and (orientation: landscape) and (max-device-width : 450px) {
 body {
 font-size: 15px !important;
 }
 
 .mobile {
 display: none;
 }
 
 .desktop {
 display: block;
 }
 
 section {
 padding: 10px 3%;
 }
 
 /* Мобильное меню */
 .phone-container {
 padding: 10px 15px 0px 315px;
 }
 
 .logo-container-desktop {
 max-width: 315px;
 top: -42px;
 padding-left: 15px;
 }
 
 .logo-container-desktop {
 max-width: 315px;
 top: -60px;
 padding-left: 15px;
 }
 
 .logo-desktop {
 width: 100%;
 }
 
 .menu {
 padding: 0 15px 0 315px;
 }
 
 .icon img {
 margin-right: 10px;
 }
 
 /* Футер */
 .footer-container {
 padding: 10px 3% 0px;
 }
 
 /* Слайдер */
 .slider-container {
 position: relative;
 width: 100%;
 height: calc(100vh - 110px);
 max-height: 700px;
 display: flex;
 justify-content: center;
 align-items: center;
 background-color: #fff;
 overflow: hidden;
 }
 
 .slide {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 opacity: 0;
 transition: opacity 1s ease-in-out;
 z-index: 1;
 background-size: cover;
 background-position: center;
 }
 
 .active-slide {
 opacity: 1;
 z-index: 2;
 }
 
 .overlay-icon {
 position: absolute;
 bottom: 0;
 left: 5%;
 height: 100%;
 opacity: 0;
 transform: translateX(-100%);
 transition: all 2s cubic-bezier(.7,-0.3,.29,1.56), opacity 1s linear 1s;
 z-index: 3;
 }
 
 .active-slide .overlay-icon {
 opacity: 1;
 transform: none;
 }
 
 .arrow-left, .arrow-right {
 position: absolute;
 top: 50%;
 width: 40px;
 height: 40px;
 cursor: pointer;
 z-index: 5;
 transition: transform 0.3s ease;
 }
 
 .arrow-left::before, .arrow-right::before {
 content: '';
 position: absolute;
 top: 50%;
 left: 50%;
 width: 20px;
 height: 20px;
 border-top: 4px solid var(--color1);
 border-right: 4px solid var(--color1);
 transform: rotate(-135deg);
 transition: border-color 0.3s ease;
 }
 
 .arrow-right::before {
 transform: rotate(45deg);
 }
 
 .arrow-left {
 left: 3%;
 transform: translate(0%, -50%);
 }
 
 .arrow-right {
 right: 3%;
 transform: translate(-50%, -50%);
 }
 
 .arrow-left:hover::before, .arrow-right:hover::before {
 border-color: var(--color2); 
 }
 
 .slide-title-container {
 position: absolute;
 width: 100%;
 height: 100%;
 max-width: 1600px;
 left: 50%; 
 transform: translateX(-50%);
 }
 
 .slide-title {
 padding: 20px 10% 0 40%;
 text-align: right;
 text-shadow: #b4e2f8 0 0 30px;
 opacity: 0;
 transition: opacity 1s ease-in-out;
 z-index: 4;
 }
 
 .slide-title h1 {
 color: var(--color1);
 text-transform: uppercase;
 }
 
 .slide-title p {
 color: var(--color1);
 text-align: right;
 font-family: 'Noto Sans', serif;
 margin-bottom: 5px;
 }
 
 .slide-title a {
 margin-left: auto;
 width: max-content;
 color: var(--color1);
 border: 1px solid var(--color1);
 border-radius: 5px;
 font-size: 0.8rem;
 padding: 4px 10px 6px;
 cursor: pointer;
 transition: background-color 0.3s ease;
 }
 
 .slide-title a:hover {
 border: 1px solid #24baa6;
 color: var(--color2);
 }
 
 .active-slide .slide-title {
 opacity: 1;
 }
 
 /* Важные объявления */
 .important {
 position: relative;
 width: 100%;
 background-color: var(--color2);
 color: #fff;
 }
 
 .important h1 {
 color: #fff;
 padding: 10px 0;
 }
 
 .important-container {
 max-width: 1600px;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
 }
 
 .important-main {
 width: 100%;
 overflow: hidden;
 padding: 10px 3% 25px;
 font-size: 15px;
 }
}

@media (min-width: 1440px) {
 .largedisplay button {
 background: linear-gradient(135deg, #ff416c, #ff4b2b);
 }
}

/* =====================================================================
 P56 · АДАПТИВНЫЙ ПАТЧ v1
 Вставить В САМЫЙ КОНЕЦ основного CSS (после @media (min-width:1440px)).
 Исходные правила и классы не изменяются: патч только переопределяет
 значения на меньших экранах. Чтобы откатить — удалить этот блок целиком.
 Брейкпоинты: 1200 / 900 / 768 / 600 / 450 px.
 ===================================================================== */

/* ---------- 0. Базовое ---------- */
html {
 -webkit-text-size-adjust: 100%;
 text-size-adjust: 100%;
}

img,
iframe {
 max-width: 100%;
}

.content,
.content-container {
 min-width: 0;
}

/* Видимый фокус с клавиатуры (в исходнике у ссылок и кнопок его нет) */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
.more:focus-visible,
.cat:focus-visible,
.iframe-button:focus-visible,
.pay-button:focus-visible {
 outline: 2px solid var(--color1);
 outline-offset: 2px;
}

/* Меньше анимации для тех, кто её отключил в системе */
@media (prefers-reduced-motion: reduce) {
 *,
 *::before,
 *::after {
 animation-duration: 0.001ms !important;
 animation-iteration-count: 1 !important;
 transition-duration: 0.001ms !important;
 }
}

/* Крупные зоны нажатия на сенсорных экранах */
@media (pointer: coarse) {
 .more,
 .cat,
 .cat-active,
 .iframe-button,
 .pay-button,
 .dept-button-1,
 .dept-button-2,
 .manFlSbm,
 .manFlRst,
 .prev-ban,
 .next-ban {
 min-height: 44px;
 }
}

/* =====================================================================
 1. ≤ 1200px — небольшие ноутбуки
 ===================================================================== */
@media (max-width: 1200px) {
 .blocks {
 grid-template-columns: repeat(3, 1fr);
 }

 .iframe-section > .blocks {
 grid-template-columns: repeat(3, 1fr);
 }

 .news #allEntries,
 .arti #allEntries,
 .arti-other #allEntries {
 grid-template-columns: repeat(3, 1fr);
 }

 /* пагинация: в исходнике span 4 создаёт лишнюю колонку */
 .news #allEntries > div:last-of-type {
 grid-column: 1 / -1;
 margin: 0;
 justify-content: center;
 }

 .school-body,
 .school-container {
 grid-template-columns: repeat(3, 1fr);
 }

 .school {
 width: 100%;
 height: auto;
 min-height: 230px;
 }

 .banner-slider {
 --visible: 3;
 }
}

/* =====================================================================
 2. 451–1024px — планшеты (шапка). Альбомные телефоны не затрагиваем:
 у них своя настройка в исходном CSS.
 ===================================================================== */
@media (min-width: 451px) and (max-width: 1024px) and (min-device-width: 451px) {
 :root {
 /* ширина логотипа при высоте 72px; подправьте, если логотип другой пропорции */
 --p56-logo-w: 235px;
 }

 .upper {
 height: auto;
 min-height: 50px;
 }

 .phone-container {
 padding: 10px 3% 0 calc(var(--p56-logo-w) + 3%);
 gap: 8px;
 flex-wrap: wrap;
 }

 .phone,
 .phone a {
 font-size: 0.85rem;
 }

 .lower {
 height: auto;
 min-height: 60px;
 }

 .logo-container-desktop {
 top: -50px;
 padding-left: 3%;
 }

 .logo-desktop {
 height: 72px;
 }

 .menu {
 padding: 0 3% 0 calc(var(--p56-logo-w) + 3%);
 }

 .navigation a {
 font-size: 0.9rem;
 }

 .navigation > ul > li {
 margin: 0 12px 0 0;
 }

 .navigation ul {
 flex-wrap: wrap;
 row-gap: 4px;
 }
}

/* =====================================================================
 3. ≤ 900px — планшеты
 ===================================================================== */
@media (max-width: 900px) {
 /* Сетки */
 .blocks,
 .iframe-section > .blocks {
 grid-template-columns: repeat(2, 1fr);
 }

 .news #allEntries,
 .arti #allEntries,
 .arti-other #allEntries {
 grid-template-columns: repeat(2, 1fr);
 }

 .news #allEntries > div:first-of-type,
 .arti #allEntries > div:first-of-type {
 grid-row: auto;
 grid-column: span 2;
 height: 300px;
 }

 .news #allEntries > div:first-of-type h2,
 .arti #allEntries > div:first-of-type h2 {
 width: 100%;
 }

 .news #allEntries > div:last-of-type {
 grid-column: 1 / -1;
 }

 .school-body,
 .school-container {
 grid-template-columns: repeat(2, 1fr);
 }

 .admin-blocks {
 grid-template-columns: repeat(2, 1fr);
 }

 .admin-block-main {
 grid-column: 1 / -1;
 }

 .inf1-block {
 width: calc((100% / 2) - 5px);
 }

 .reception-blocks,
 .contact-info-container {
 grid-template-columns: repeat(2, 1fr);
 }

 .banner-slider {
 --visible: 2;
 }

 /* Подразделения */
 .dept {
 flex-direction: column;
 gap: 20px;
 }

 .dept-main-1,
 .dept-main-2 {
 width: 100%;
 }

 .dept-iframe {
 height: 400px;
 }

 /* Формы, диспансеризация, вакцинация */
 .p-form {
 width: 100%;
 }

 .forms > img,
 .forms-vac > img {
 display: none;
 }

 .form-container {
 flex-direction: column;
 gap: 10px;
 }

 .form {
 width: 100%;
 }

 .form-container input[type="number"],
 .form-container select,
 .form-container button {
 width: 100%;
 }

 /* Платные услуги */
 .pay-1-1 {
 width: 90%;
 }

 .popup-box,
 .popup-pay-box {
 width: 90%;
 max-height: 90vh;
 overflow-y: auto;
 }

 /* Слайдер */
 .slide-title h1 {
 font-size: 1.35rem;
 }

 /* Школа пациентов */
 .desk-container {
 width: 100%;
 }

 .desk-title-container {
 flex-direction: column;
 }

 .desk-suptitle {
 width: 100%;
 text-align: left;
 }
}

/* =====================================================================
 4. ≤ 768px — крупные телефоны, малые планшеты
 ===================================================================== */
@media (max-width: 768px) {
 /* Футер */
 .footer-container {
 grid-template-columns: 1fr;
 }

 .footer-container > div:last-of-type p {
 text-align: left;
 }

 /* Блоки */
 .mform-1 {
 width: 100%;
 }

 .help-blocks {
 grid-template-columns: 1fr;
 }

 .arti-footer-box {
 grid-template-columns: 1fr;
 gap: 15px;
 }

 .arti-footer-box > div:nth-child(2) {
 border: 0;
 border-top: 1px solid var(--color3);
 border-bottom: 1px solid var(--color3);
 padding: 15px;
 }

 /* Администрация: главный врач */
 .admin-block-main {
 flex-direction: column;
 }

 .admin-img-main {
 width: 100%;
 max-width: none;
 height: 340px;
 background-size: cover;
 background-position: top;
 border-radius: 15px 15px 0 0;
 }

 .admin-block-main:hover .admin-img-main {
 background-size: cover;
 }

 .admin-block-container-main {
 width: 100%;
 padding: 15px;
 }

 /* Новости, статьи */
 .cat-container {
 flex-wrap: wrap;
 gap: 8px;
 }

 .cat,
 .cat-active {
 margin: 0;
 }

 .new-title,
 .new-header {
 flex-wrap: wrap;
 gap: 8px 15px;
 }

 /* Отзывы, добавление материалов */
 .review-send {
 width: 100%;
 max-width: 100%;
 }

 .review-head,
 .review-footer {
 flex-wrap: wrap;
 gap: 10px;
 }

 .add-block {
 flex-direction: column;
 padding: 10px 0;
 }

 .add-block div:nth-child(1),
 .add-block div:nth-child(2),
 .add-block div:nth-child(3) {
 width: 100%;
 }

 #imageUploaderWrapper,
 #coverDrop {
 width: 100%;
 }

 /* Дневник */
 .diary-head,
 .diary-title,
 .target {
 flex-direction: column;
 gap: 10px;
 }

 .diary-title-block,
 .target-block {
 width: 100%;
 padding: 0 0 10px;
 margin: 0;
 border-right: 0;
 border-bottom: 1px solid var(--color3);
 }

 .diary-title-block:last-of-type,
 .target-block:last-of-type {
 padding-bottom: 0;
 border-bottom: 0;
 }

 .new-diary-rec {
 grid-template-columns: repeat(2, 1fr);
 }

 .diary-rec {
 grid-template-columns: repeat(2, 1fr);
 row-gap: 8px;
 }

 /* Таблицы: прокрутка внутри таблицы, а не всей страницы */
 .content-container table,
 table.pay,
 table.vac,
 table.admin,
 table.reception {
 display: block;
 max-width: 100%;
 overflow-x: auto;
 -webkit-overflow-scrolling: touch;
 }

 .table-responsive table {
 display: table;
 min-width: 640px;
 }

 /* Слайдер */
 .slide-title {
 padding-left: 40%;
 }

 .slide-title p {
 font-size: 0.9rem;
 }

 /* Поля ввода 16px: iOS не будет приближать страницу при фокусе */
 input[type=text],
 input[type=tel],
 input[type=email],
 input[type=date],
 input[type=time],
 input[type=number],
 input[type=password],
 select,
 textarea,
 .queryField,
 .form-container select,
 .form-container input[type="number"] {
 font-size: 16px;
 }

 .banner-slider {
 --visible: 2;
 }
}

/* =====================================================================
 5. ≤ 600px — телефоны
 ===================================================================== */
@media (max-width: 600px) {
 p {
 text-align: left; /* выравнивание по ширине на узком экране даёт «дыры» */
 }

 article {
 flex-wrap: wrap;
 gap: 10px;
 }

 /* Сетки в одну колонку */
 .blocks,
 .iframe-section > .blocks,
 .news #allEntries,
 .arti #allEntries,
 .arti-other #allEntries,
 .school-body,
 .school-container,
 .admin-blocks,
 .reception-blocks,
 .contact-info-container,
 .dept-contact {
 grid-template-columns: 1fr;
 }

 .news #allEntries > div:first-of-type,
 .arti #allEntries > div:first-of-type {
 grid-column: auto;
 height: 280px;
 }

 .news #allEntries > div:first-of-type h2,
 .arti #allEntries > div:first-of-type h2 {
 font-size: 1.25rem;
 }

 .inf1-block {
 width: 100%;
 }

 .banner-slider {
 --visible: 1;
 }

 .school {
 min-height: 200px;
 }

 /* Карточки администрации: ограничиваем ширину, чтобы фото не растягивалось */
 .admin-block {
 max-width: 400px;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
 }

 /* Блок «контакты»: картинка сверху */
 .contact-block {
 flex-direction: column;
 }

 .contact-block-img {
 width: 100%;
 min-height: 180px;
 background-size: cover;
 border-radius: 15px 15px 0 0;
 }

 .contact-block:hover .contact-block-img {
 background-size: cover;
 }

 .contact-block-container {
 width: 100%;
 padding: 15px;
 }

 .contact-slide {
 height: auto;
 min-height: 420px;
 padding: 20px;
 }

 /* Карточки с фото слева → фото сверху */
 .dept-main-2,
 .pay-doctor,
 .arti-footer > div {
 padding: 200px 12px 12px;
 background-image:
 linear-gradient(180deg, rgba(0, 106, 165, 0) 0, rgba(0, 106, 165, 0) 110px, rgba(0, 106, 165, 1) 190px),
 var(--bg-image);
 background-size: 100% 100%, 100% auto;
 background-position: center top, center top;
 }

 .dept-main-2:hover,
 .pay-doctor:hover,
 .arti-footer > div:hover {
 background-size: 100% 100%, 100% auto;
 background-position: center top, center top;
 }

 .dept-iframe {
 height: 320px;
 }

 /* Вакцинация */
 .forms-vac {
 flex-direction: column;
 gap: 8px;
 }

 .forms-vac a {
 width: 100%;
 }

 /* Платные услуги */
 .pay-1 {
 height: auto;
 min-height: 0;
 padding: 30px 0;
 }

 .pay-1-1 {
 width: 100%;
 padding: 0 3%;
 }

 .pay-1 h1 {
 font-size: 1.5rem;
 }

 .pay-1-1-1 {
 flex-direction: column;
 gap: 15px;
 }

 .pay-1-1-1 > div {
 width: 100%;
 padding: 10px 0;
 }

 .pay-1-1-1 > div:nth-of-type(2) {
 border-right: 0;
 border-left: 0;
 border-top: 1px solid #006aa5;
 border-bottom: 1px solid #006aa5;
 }

 .popup-box,
 .popup-pay-box {
 width: calc(100% - 24px);
 padding: 15px;
 }

 .popup-pay-box {
 padding-top: 40px;
 }

 .close-btn-pay {
 top: 12px;
 right: 12px;
 }

 .max-banner {
 height: 200px;
 }

 /* Школа пациентов */
 .desk {
 padding: 10px 5%;
 }

 .desk-title {
 font-size: 2.6rem;
 margin-bottom: 20px;
 }

 /* Дневник */
 .new-diary-rec {
 grid-template-columns: 1fr;
 }

 #patient-school-registration {
 padding: 1rem;
 }

 /* Слайдер */
 .slide-title {
 padding: 20px 4% 0 30%;
 }

 .overlay-icon {
 left: 0;
 }
}

/* =====================================================================
 6. ≤ 450px — узкие телефоны
 ===================================================================== */
@media (max-width: 450px) {
 /* Вместо body{overflow:hidden}: не ломает sticky-шапку и прокрутку,
 но всё равно не даёт странице «ехать» вбок */
 html {
 overflow-x: hidden;
 }

 body {
 overflow: visible;
 overflow-x: clip;
 max-width: 100%;
 }

 h1 {
 font-size: 1.35rem;
 }

 h2 {
 font-size: 1.2rem;
 }

 h3 {
 font-size: 1.05rem;
 }

 blockquote {
 padding: 1rem 1rem 1rem 60px;
 }

 blockquote::before {
 left: 1rem;
 }

 .btn-popup a {
 width: 100%;
 }

 .diary-rec {
 grid-template-columns: 1fr;
 }

 .diary summary {
 font-size: 1rem;
 }

 .news #allEntries > div:first-of-type,
 .arti #allEntries > div:first-of-type {
 height: 260px;
 }

 .help-now {
 font-size: 1rem;
 }

 .desk-title {
 font-size: 2.2rem;
 }
}

/* Только портретные телефоны: у нижнего меню высота 65px,
 поэтому плавающую кнопку поднимаем и уменьшаем */
@media (max-width: 450px) and (orientation: portrait) {
 .pulse-button {
 left: 12px;
 bottom: 80px;
 width: 70px;
 height: 70px;
 font-size: 9px;
 }
}

/* dvh учитывает адресную строку мобильного браузера */
@supports (height: 100dvh) {
 @media (max-width: 450px) and (orientation: portrait) {
 .slider-container {
 height: calc(100dvh - 110px);
 }
 }
}


/* =========================================================
 P56 · ЕДИНЫЙ СОВРЕМЕННЫЙ СТИЛЬ ПОЛЕЙ ВВОДА
 Вставить в самый конец основного CSS сайта
 Цвета: #006aa5 / #24baa6
 ========================================================= */

/* 1. Общие стили полей ввода */
:root {
 --p56-field-border: #dce7ef;
 --p56-field-border-hover: #a9cbdc;
 --p56-field-focus: #006aa5;
 --p56-field-accent: #24baa6;
 --p56-field-text: #244b62;
 --p56-field-placeholder: #8b9ca8;
 --p56-field-bg: #ffffff;
 --p56-field-disabled: #f2f6f8;
 --p56-field-radius: 12px;
 --p56-field-shadow: 0 2px 8px rgba(0, 106, 165, 0.04);
 --p56-field-focus-shadow: 0 0 0 3px rgba(0, 106, 165, 0.12);
 --p56-field-transition: border-color 0.2s ease,
 box-shadow 0.2s ease,
 background-color 0.2s ease;
}

/* Текстовые поля, поиск, телефон, email, пароль, дата и время */
input:not([type="checkbox"])
 :not([type="radio"]) {
 /* Не используется: оставлено пустым намеренно */
}

/* Перечисляем только поля, которые должны выглядеть как текстовые */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="url"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input:not([type]),
select,
textarea {
 display: block;
 width: 100%;
 max-width: 100%;
 min-width: 0;
 min-height: 46px;
 padding: 11px 14px;

 box-sizing: border-box;
 border: 1.5px solid var(--p56-field-border);
 border-radius: var(--p56-field-radius);

 background-color: var(--p56-field-bg);
 color: var(--p56-field-text);

 font-family: 'Noto Sans', sans-serif;
 font-size: 0.95rem;
 font-weight: 400;
 line-height: 1.45;

 box-shadow: var(--p56-field-shadow);
 transition: var(--p56-field-transition);

 cursor: auto;
 user-select: auto;
}

/* Многострочные поля */
textarea {
 min-height: 110px;
 resize: vertical;
}

/* Выпадающие списки */
select {
 cursor: pointer;
}

/* 2. Поле при наведении */
input[type="text"]:hover,
input[type="tel"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
input[type="search"]:hover,
input[type="url"]:hover,
input[type="date"]:hover,
input[type="time"]:hover,
input[type="datetime-local"]:hover,
input[type="month"]:hover,
input[type="week"]:hover,
input:not([type]):hover,
select:hover,
textarea:hover {
 border-color: var(--p56-field-border-hover);
}

/* 3. Активное поле — фирменная синяя рамка и мягкое свечение */
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input:not([type]):focus,
select:focus,
textarea:focus {
 outline: none;
 border-color: var(--p56-field-focus);
 box-shadow: var(--p56-field-focus-shadow);
 background-color: #ffffff;
}

/* Дополнительная индикация фокуса при навигации с клавиатуры */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
 outline: 2px solid rgba(36, 186, 166, 0.65);
 outline-offset: 2px;
}

/* 4. Подсказки внутри полей */
input::placeholder,
textarea::placeholder {
 color: var(--p56-field-placeholder);
 opacity: 1;
}

/* 5. Выпадающий список: цвет невыбранного значения */
select:required:invalid {
 color: var(--p56-field-placeholder);
}

select option {
 color: var(--p56-field-text);
 background-color: #ffffff;
}

/* 6. Поля, недоступные для редактирования */
input:disabled,
select:disabled,
textarea:disabled,
input[readonly],
textarea[readonly] {
 background-color: var(--p56-field-disabled);
 border-color: #e3eaee;
 color: #84939c;
 cursor: not-allowed;
 box-shadow: none;
 opacity: 1;
}

input[readonly],
textarea[readonly] {
 cursor: default;
}

/* 7. Поле с ошибкой — можно добавить класс is-invalid из JS */
input.is-invalid,
select.is-invalid,
textarea.is-invalid,
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
 border-color: #dc6262;
 background-color: #fffafa;
 box-shadow: 0 0 0 3px rgba(220, 98, 98, 0.09);
}

input.is-invalid:focus,
select.is-invalid:focus,
textarea.is-invalid:focus,
input[aria-invalid="true"]:focus,
select[aria-invalid="true"]:focus,
textarea[aria-invalid="true"]:focus {
 border-color: #dc6262;
 box-shadow: 0 0 0 3px rgba(220, 98, 98, 0.13);
}

/* 8. Поля с ошибкой после попытки отправки формы
 Поддерживается современными браузерами */
input:user-invalid,
select:user-invalid,
textarea:user-invalid {
 border-color: #dc6262;
}

/* 9. Чекбоксы и радиокнопки оставляем компактными */
input[type="checkbox"],
input[type="radio"] {
 width: 18px;
 height: 18px;
 min-height: 0;
 min-width: 18px;
 padding: 0;
 border-radius: 4px;
 box-shadow: none;
 accent-color: var(--p56-field-focus);
 cursor: pointer;
 vertical-align: middle;
}

/* 10. Поля загрузки файлов не растягиваем до обычного поля */
input[type="file"] {
 max-width: 100%;
 font-family: 'Noto Sans', sans-serif;
 font-size: 0.9rem;
 color: var(--p56-field-text);
}

/* 11. Кнопки внутри форм не превращаем в поля ввода */
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="image"],
input[type="hidden"],
input[type="range"],
input[type="color"] {
 min-height: 0;
 box-shadow: none;
}

/* 12. Мобильные устройства */
@media (max-width: 600px) {
 input[type="text"],
 input[type="tel"],
 input[type="email"],
 input[type="password"],
 input[type="number"],
 input[type="search"],
 input[type="url"],
 input[type="date"],
 input[type="time"],
 input[type="datetime-local"],
 input[type="month"],
 input[type="week"],
 input:not([type]),
 select,
 textarea {
 font-size: 16px;
 padding: 11px 12px;
 border-radius: 11px;
 }

 textarea {
 min-height: 100px;
 }
}

/* 13. Учитываем настройки пользователя, отключающего анимацию */
@media (prefers-reduced-motion: reduce) {
 input,
 select,
 textarea {
 transition: none;
 }
}