.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

body .jGrowl-notification {
    padding: 20px 40px 20px 20px;
    color: #fff;
    font-size: 15px;
    line-height: 20px;
    border-radius: 0px;
    border: none;
    box-shadow: 0 0 10px 0px rgb(0 0 0 / 0.1);
    opacity: 1;
	font-family: 'Montserrat';
    position: relative;
}

body .jGrowl-notification.af-message-success, body .ms2-message-success {
    background-color: #3cf914 !important;
    background: -webkit-linear-gradient(135deg, rgb(38, 255, 0), rgb(229, 255, 0));
    background: -moz-linear-gradient(135deg, rgb(38, 255, 0), rgb(229, 255, 0));
    background: linear-gradient(135deg, rgb(38, 255, 0), rgb(229, 255, 0));
    color: #006f01 !important;
}
body .jGrowl-notification.af-message-error, body .ms2-message-error {
    background-color: #d11a00 !important;
    background: -webkit-linear-gradient(315deg, rgb(255, 79, 0), rgb(187, 0, 0));
    background: -moz-linear-gradient(315deg, rgb(255, 79, 0), rgb(187, 0, 0));
    background: linear-gradient(315deg, rgb(255, 79, 0), rgb(187, 0, 0));
}
body .jGrowl-notification.af-message-info, body .ms2-message-info {
    background-color: #00a6ff !important;
    background: -webkit-linear-gradient(135deg, rgb(0, 166, 255), rgb(48, 230, 121));
    background: -moz-linear-gradient(135deg, rgb(0, 166, 255), rgb(48, 230, 121));
    background: linear-gradient(135deg, rgb(0, 166, 255), rgb(48, 230, 121));
}

body .jGrowl-notification .jGrowl-close {
    position: absolute;
    right: 0;
    top: 0;
    margin: 10px;
    font-size: 18px;
    font-weight: normal;
    color: #fff;
}

body .jGrowl-notification {
	font-family: 'Montserrat';
}

body .jGrowl-notification.af-message-success .jGrowl-close {
    color: #006f01;
}

html, body {
    width: 100%;
    color: #000;
    font-family: 'Montserrat';
    height: 100vh;
    background: #fff;
}

hr.clear {
    display: block;
    margin: 0;
    border: none;
    height: 0;
    width: 100%;
    clear: both;
}

a.search_btn {
    width: 20px;
    display: flex;
}

a.search_btn img {
    width: 100%;
}

header .adaptive {
    display: flex;
    justify-content: space-between;
    height: 130px;
    align-items: stretch;
}

.adaptive {
    width: 1720px;
    margin: 0 auto;
}

header .middle {
    width: 300px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

header .left {
    width: 710px;
    display: flex;
    flex-direction: row;
    align-items: center;
}

header .right {
    width: 710px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

header .telephone {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

header .btns {
    display: flex;
    padding: 0 0 0 30px;
}

header ul.menu {
    display: flex;
}

header ul.menu a {
    text-decoration: none;
    color: #000;
}

header ul.menu li a {
    color: #000;
    font-size: 18px;
}

header ul.menu li {
    margin: 0 20px 0 0;
}

header {
    box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 10%);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #ffffff;
    z-index: 200;
}

header .telephone a.tel {
    font-weight: 500;
    font-size: 22px;
    text-decoration: none;
    color: #000;
    margin: 0 0 2px;
    line-height: 24px;
}

header .telephone span {
    color: #7e979e;
    font-size: 12px;
}

header .btns a {
    height: 50px;
    padding: 0 25px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    border: 1px solid #7398a0;
    border-radius: 100px;
    box-sizing: border-box;
    transition: 0.3s;
    background: #7398a0;
}

header .btns a.search_btn {
    width: 50px;
    height: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #7398a0;
    box-sizing: border-box;
    border-radius: 100px;
    margin: 0 0 0 20px;
}

header .btns a.search_btn img {
    width: 20px;
    display: block;
}

section.welcome {
    padding: 90px 0 90px;
}

section.welcome .adaptive {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    min-height: 760px;
    align-items: stretch;
}

section.welcome .adaptive .right {
    width: 965px;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

section.welcome .adaptive .right span.back {
    background: #7398a0;
    display: flex;
    height: 120%;
    width: 120%;
    border-radius: 20px;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease-out;
}

section.welcome .adaptive .left {
    width: 755px;
    box-sizing: border-box;
    padding: 0 40px 0 0;
}

section.welcome .adaptive .left .title {
    font-size: 75px;
    font-weight: 500;
    color: #464646;
    margin: 0 0 30px;
}

section.welcome .adaptive .left .title strong {
    font-size: 80px;
    font-weight: 700;
    color: #7398a0;
}

section.welcome .adaptive .left .desc {
    font-size: 18px;
    line-height: 24px;
    color: #464646;
    margin: 0 0 40px;
}

section.welcome .txt {
    padding: 0 0 70px;
}

section.welcome .txt .btns {
    display: flex;
    flex-wrap: wrap;
}

section.welcome .txt .btns a {
    height: 50px;
    display: flex;
    padding: 0 30px;
    margin: 0 15px 15px 0;
    flex-direction: row;
    align-items: center;
    text-decoration: none;
    color: inherit;
    border: 1px solid #7398a0;
    border-radius: 100px;
    font-weight: 500;
    transition: 0.3s;
    width: 248px;
    font-size: 14px;
    justify-content: center;
}

section.welcome .txt .btns a.lastbtn {
    background: #7398a0;
    color: #fff;
}

section.welcome .adaptive .left .slider {position: relative;height: 360px;width: 100%;overflow: hidden;border-radius: 20px;}

section.welcome .adaptive .left .slider span.back {
    height: 360px;
    border-radius: 20px;
    display: flex;
    background: #7398a0;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease-out;
    height: 120%;
    width: 120%;
}

section.sec_entermap {
    padding: 80px 0;
}

section.sec_entermap .title {
    font-size: 65px;
    font-weight: 600;
    padding: 0 0 20px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

section.sec_entermap .title strong {
    color: #7398a0;
}

section.sec_entermap .desc {
    width: 50%;
    margin: 0 0 40px;
    font-size: 18px;
    line-height: 24px;
    white-space: break-spaces;
}

section.sec_entermap .entermap {
    border-radius: 20px;
    overflow: hidden;
    height: 400px;
}

section.sec_form {
    height: 280px;
}

section.sec_form .txt {
    width: 500px;
    height: 280px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    color: #fff;
    background: #7398a0;
}

section.sec_form .txt .title {
    font-size: 48px;
    font-weight: 500;
    margin: 0 0 20px;
}

section.sec_form .txt .title strong {
    font-weight: 700;
}

section.sec_form .txt .desc {
    font-size: 22px;
    line-height: 30px;
}

footer .cont {
    height: 290px;
    padding: 50px 0 0;
    box-sizing: border-box;
}

footer .cont .adaptive {
    display: flex;
    justify-content: space-between;
}

footer .bottom {
    height: 60px;
    background: #7398a0;
    color: #fff;
    font-size: 15px;
}

footer {
    height: 350px;
    background: #f4fbfa;
    margin: -350px 0 0;
    position: relative;
    z-index: 2;
}

footer .bottom .adaptive {
    display: flex;
    height: 100%;
    justify-content: space-between;
    align-items: center;
}

footer .bottom .adaptive a {
    text-decoration: none;
    color: inherit;
}

footer .cont .adaptive .info {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 380px;
    box-sizing: border-box;
    padding: 0 30px 0 0;
    text-align: center;
}

footer .menum {}

footer .menum ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}

footer .menum {
    width: 760px;
}

footer .menur {
    width: 580px;
}

footer .menum ul li {
    margin: 0 40px 20px 0;
}

footer .menum ul li a {
    box-sizing: border-box;
1px:
    solid black;1px:
    solid black;1px:
    solid blac;1px:
    solid bla;1px:
    solid bl;1px:
    solid b;1px:
    solid;1px:
    solid;1px:
    soli;1px:
    sol;1px:
    so;1px:
    unset;1px:
    unset;1px:
    s;
    border: 1px solid #7398a0;
    width: 310px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    height: 50px;
    text-decoration: none;
    border-radius: 100px;
    color: inherit;
    font-size: 15px;
    font-weight: 500;
    transition: 0.3s;
}

footer .menur ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}

footer .menur ul li {
    margin: 0;
    width: 50%;
    padding: 0 40px 20px 0;
    box-sizing: border-box;
}

footer .menur ul li a {
    text-decoration: none;
    color: inherit;
    font-weight: 500;
    font-size: 15px;
}

footer .menur .title {
    padding: 0 0 20px;
    font-size: 22px;
    font-weight: 500;
}

footer .cont .adaptive .info a.tel {
    font-size: 22px;
    text-transform: uppercase;
    text-decoration: none;
    margin: 0 0 10px;
    font-weight: 600;
    color: inherit;
}

footer a.logotype {
    margin: 0 0 20px;
    height: 80px;
    display: block;
}

footer p.hours {
    font-size: 15px;
    color: #5a5a5a;
    margin: 0 0 10px;
    font-weight: 500;
}

footer p.address {
    font-size: 15px;
    font-weight: 500;
    line-height: 17px;
}

footer .menum ul li a.mainback {
    background: #7398a0;
    color: #fff;
}

section.services {
    padding: 0 0 80px;
}

section.services .top .left, section.personal .top .left {
    width: 60%;
}

section.services .top .title, section.personal .top .title, section.home_article .top .title {
    font-size: 65px;
    font-weight: 600;
    padding: 0 0 20px;
}

section.services .top .desc, section.personal .top .desc {
    margin: 0 0 40px;
    font-size: 18px;
    line-height: 24px;
}

section.services .top .title strong, section.personal .top .title strong, section.home_article .top .title strong {
    color: #7398a0;
}

section.services .line {
    display: flex;
    position: relative;
}

section.services .line .owl-carousel {
    width: 1215px;
    position: relative;
    z-index: 0;
}

section.services .line .benefits {
    padding: 0 30px 0 0;
    width: 415px;
    overflow: hidden;
    box-sizing: border-box;
    background: #fff;
    position: relative;
    z-index: 2;
}

section.services .line .owl-carousel .owl-item {
    height: 546px;
}

section.services .line .benefits img {display: block;}

section.services .line .owl-carousel .owl-stage-outer {
    overflow: visible;
}

.wrapper {
    width: 100%;
    overflow: hidden;
    min-height: 100vh;
    position: relative;
}

section.services .line .owl-carousel .owl-item .item {
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
}

section.services .line:before {
    content: "";
    position: absolute;
    right: 100%;
    height: 100%;
    background: #ffffff;
    width: 100%;
    z-index: 2;
}

section.services .owl-carousel .owl-item img {
    height: 546px !important;
    border-radius: 10px;
}

.srvBlock {
    position: relative;
}

.srvBlock .txt {
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 50%);
    display: flex;
    box-sizing: border-box;
    padding: 30px 30px;
    align-items: flex-start;
    justify-content: flex-end;
    color: #fff;
    transition: 0.3s;
    position: absolute;
    left: 0;
    top: 0;
    flex-direction: column;
}

.srvBlock:hover .txt {
    background: rgb(36 56 60 / 80%);
}

section.personal {
    padding: 80px 0 0;
}

.personaBlock h3 {
    font-size: 24px;
    font-weight: 600;
    padding: 20px 0 10px;
    text-align: center;
}

.personaBlock h4 {
    font-size: 16px;
    text-align: center;
}

hr.clear.footer {
    height: 350px;
}

section.pagetitle .inside_back {
    height: 350px;
    display: block;
    width: 100%;
    position: relative;
    margin: 0 0 30px;
}

section.pagetitle .inside_back .jarallax {
    height: 350px;
    border-radius: 15px;
    overflow: hidden;
}

section.pagetitle {
    padding: 50px 0 100px;
    position: relative;
    z-index: 100;
}

section.pagetitle .inside_back h1 {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #fff;
    z-index: 200;
    font-size: 75px;
    font-weight: 700;
    padding: 20px 40px 0 0;
    border-top-right-radius: 20px;
}

section.pagetitle .breadcrumb {
    display: flex;
}

section.pagetitle .breadcrumb li {margin: 0 12px 0 0;}

section.pagetitle .breadcrumb li * {
    padding: 6px 30px;
    font-size: 16px;
    border: 1px solid #7398a0;
    border-radius: 100px;
    line-height: 22px;
    display: flex;
}

section.pagetitle .breadcrumb li a {
    background: #7398a0;
    color: #fff;
    text-decoration: none;
}

section.pagetitle .inside_back h1 strong {
    color: #7398a0;
}

article.article h2 {
    font-size: 28px;
    font-weight: 500;
    margin: 0 0 20px;
}

article.article h3 {
    font-size: 20px;
    margin: 0 0 20px;
    font-weight: 500;
}

article.article p {
    font-size: 16px;
    line-height: 25px;
    margin: 0 0 20px;
}

article.article strong {
    font-weight: 500;
}

article.article li {
    font-size: 16px;
    line-height: 25px;
    list-style-type: square;
}

article.article ul {
    padding: 0 0 0 25px;
    margin: 0 0 20px;
}

article.article li::marker {
    color: #7398a0;
}

article.article blockquote {
    background: #f4fbfa;
    padding: 15px 20px 1px 20px;
    border-left: 4px solid #7398a0;
    margin: 0 0 20px;
}

.rows.grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
}

.rows.grid .srvBlock {
    margin: 0 30px 30px 0;
    width: 320px;
    /* height: 546px; */
}

.rows.grid .srvBlock:nth-child(5n) {
    margin: 0 0 30px;
}

.rows.grid .srvBlock img {
    display: block;
    width: 100%;
    height: 100%;
}

body.inside_page section.container {
    padding-bottom: 80px;
}

.pricelist .ltitle {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background: #7398a0;
    align-items: center;
    padding: 20px 20px;
    font-size: 24px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.pricelist li.sub_prcBlock {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgb(115 152 160 / 10%);
    padding: 15px 20px;
    font-size: 18px;
    font-weight: 500;
}

.pricelist li.sub_prcBlock h3 {
    display: none;
}

.pricelist .prcBlock {
    background: #f4fbfa;
    margin: 0 0 20px;
    border-radius: 10px;
    overflow: hidden;
}

.pricelist .prcBlock li.sub_prcBlock:last-child {
    border: none;
}

.pricelist .prcBlock li.sub_prcBlock.headprc {
    display: none;
}

.pricelist .prcBlock .ltitle.act i {
    transform: rotateZ(0deg);
}

.pricelist .prcBlock .ltitle i {
    transform: rotateZ(180deg);
}

.personaBlock {
    display: flex;
    width: 407.5px;
    margin: 0 30px 30px 0;
}

.personaBlock .img {
    display: block;
    width: 100%;
    position: relative;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid #e5e5e5;
}

.personaBlock .img img {
    display: block;
    width: 100%;
}

.personaBlock .js-video-hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
}

.personaBlock:nth-child(4n) {
    margin: 0 0 30px;
}

.personaBlock a {
    text-decoration: none;
    color: inherit;
    transition: 0.3s;
}

.personaBlock a:hover {
    color: #7398a0;
}

section.persona_cont {
    background: #f4fbfa;
    margin: 0 0 70px;
}

section.persona_cont .adaptive {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

a.zoomphoto {
    position: relative;
    display: flex;
}

a.zoomphoto i {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgb(0 0 0 / 50%);
    color: #fff;
    font-size: 50px;
    transition: 0.3s;
    opacity: 0;
}

a.zoomphoto:hover i {
    opacity: 1;
}

section.persona_cont .adaptive .right {
    padding: 50px 0px 50px 50px;
}

section.persona_cont .adaptive .right h2 {
    font-size: 50px;
    font-weight: 600;
    margin: 0 0 30px;
    display: none;
}

section.persona_cont .adaptive .right .info {}

section.persona_cont .adaptive .right .info p {
    font-size: 42px;
    font-weight: 500;
    margin: 0 0 26px;
    color: #7398a0;
}

section.perona_article .top {
    background: #fff;
}

section.perona_article .top .adaptive {
    font-size: 40px;
    padding: 0 0 30px;
    font-weight: 600;
    color: #7398a0;
}

section.perona_article {}

section.perona_article .cont {
    padding: 0 0 50px;
}

body.persona_page.inside_page section.personal {
    padding: 0 0 80px;
}

.srvBlock .txt h3 {
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 34px;
    margin: 0 0 10px;
}

.srvBlock .txt h4 {
    font-size: 20px;
    line-height: 24px;
}

section.persona_cont .photo video {
    /* display: none; */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
}

section.persona_cont .photo img {
    display: block;
}

section.persona_cont .photo {
    background-size: cover;
    background-position: center;
    position: relative;
}

section.pagetitle .inside_back h1.bigtitle {
    font-size: 54px;
}

.benBlock {
    background: #7398a0;
    margin: 0 0 30px;
    height: 114px;
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    transition: 0.3s;
    overflow: hidden;
}

.benBlock:last-child {
    margin: 0;
}

.benBlock .numb {
    color: #fff;
    font-size: 130px;
    padding: 0;
    font-weight: bold;
    width: 105px;
}

.benBlock h3 {
    font-size: 20px;
    color: #fff;
    width: 280px;
    line-height: 25px;
    font-weight: 500;
}

.benBlock .numb strong {
    font-size: 180px;
    position: relative;
    left: -30px;
}

.benBlock:first-child .numb strong {
    left: -10px;
    top: 10px;
}

body.category_page.inside_page {}

body.category_page.inside_page .subcategory {padding: 0 0 50px;}

body.category_page.inside_page .subcategory .title {
    margin: 0 0 40px;
    font-size: 40px;
    font-weight: 600;
    color: #7398a0;
}

.grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
}

section.welcome .txt .btns a:hover {
    background: #7398a0;
    color: #fff;
}

section.services .top, section.personal .top, section.home_article .top {
    display: flex;
}

.arrows a {
    display: flex;
    flex-direction: column;
    width: 95px;
    height: 95px;
    position: relative;
    background: #ecf8f8;
    border-radius: 100%;
    margin: 0 10px 0 0;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 2px solid #ecf8f8;
    box-sizing: border-box;
    transition: 0.3s;
}

.arrows a img {
    position: absolute;
    top: 30px;
    width: 60%;
}

.arrows {
    display: flex;
}

.arrows a.next img {
    right: -20px;
}

.arrows a.next {
    align-items: flex-end;
    padding: 0 15px;
}

.arrows a.prev {
    align-items: flex-start;
    padding: 0 15px;
}

.arrows a.prev img {
    left: -20px;
    transform: rotateZ(180deg);
}

.arrows a span {
    padding: 0 0 6px;
    font-size: 16px;
    font-weight: 600;
    color: #7398a0;
}

.arrows a:hover {
    border: 2px solid #7398a0;
}

hr.clear.header {
    height: 130px;
}

.benBlock:hover {
    background: #ecf8f8;
}

.benBlock * {
    cursor: default;
    transition: 0.3s;
}

.benBlock:hover * {
    color: #7398a0;
}

header ul.menu li.active a {
    color: #7398a0;
}

.portBlock a {
    background-size: cover;
    background-position: center center;
    border-radius: 20px;
    overflow: hidden;
}

a.popup-youtube i, a.mobile_play i {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 70px;
    background: rgb(0 0 0 / 50%);
    transition: 0.3s;
    opacity: 0;
}

a.popup-youtube:hover i, a.mobile_play:hover i {
    opacity: 1;
}

a.popup-youtube, a.mobile_play {
    position: relative;
    display: flex;
    background-size: cover !important;
    background: rgb(0 0 0 / 10%);
    overflow: hidden;
}

section.videos .title, section.gallery .title, section.docs .title, section.faq .title {
    margin: 0 0 40px;
    font-size: 40px;
    font-weight: 600;
    color: #7398a0;
}

section.videos {
    padding: 0 0 100px;
}

section.gallery {
    padding: 0 0 50px;
}

.portBlock {
    margin: 0 30px 30px 0px;
    width: 385px !important;
}

.portBlock:nth-child(4n) {
    margin: 0 0 30px;
}

.portBlock img {
    display: block;
    width: 100%;
}

.portBlock h3 {
    padding: 20px 0 0;
    text-align: center;
    font-size: 16px;
}

section.sec_form .form {
    padding: 0 0 0 150px;
}

section.sec_form .adaptive {
    display: flex;
    align-items: center;
    background: #ecf8f8;
    position: relative;
    z-index: 2;
}

section.sec_form .form .line {
    margin: 0 0 20px;
    display: flex;
}

section.sec_form .form .line .input_text {
    margin: 0 20px 0 0;
}

section.sec_form .form .line .input_text input {
    height: 50px;
    box-sizing: border-box;
    padding: 0 20px;
    width: 360px;
    border: none;
    border-bottom: 2px solid #7398a0;
    border-radius: 4px;
    font-family: 'Montserrat';
    font-size: 15px;
    transition: 0.3s;
    outline: none;
}

section.sec_form .form .line button {
    width: 360px;
    height: 50px;
    box-sizing: border-box;
    border: none;
    background: #7398a0;
    font-family: 'Montserrat';
    padding: 0;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
    border-radius: 4px;
    cursor: pointer;
    transition: 0.3s;
}

section.sec_form .form p {
    font-size: 15px;
}

section.sec_form .form p a {
    color: #7398a0;
}

section.sec_form .form .line button:hover {
    background: #5a7e86;
}

section.sec_form .form .line .input_text input:focus {
    border-color: #7398a0;
}

section.sec_form .form p a:hover {
    color: #7398a0;
}

section.welcome .txt .btns a.lastbtn:hover {
    background: #76c395;
    border-color: #76c395;
}

section.persona_cont .adaptive .right .form {
    padding: 90px 0 0;
}

section.persona_cont .adaptive .right .form .title {
    font-size: 30px;
    font-weight: 500;
    padding: 0 0 20px;
}

section.persona_cont .adaptive .right .form .line {
    display: flex;
    padding: 0 0 30px;
}

section.persona_cont .adaptive .right .form .line .input_text {
    margin: 0 30px 0 0;
}

section.persona_cont .adaptive .right .form .line .input_text input {
    height: 50px;
    padding: 0 20px;
    box-sizing: border-box;
    width: 320px;
    border: none;
    background: #fff;
    border-bottom: 2px solid #7398a0;
    border-radius: 4px;
    font-size: 15px;
    font-family: 'Montserrat';
    outline: none;
    transition: 0.3s;
}

section.persona_cont .adaptive .right .form .line button {
    height: 50px;
    border: none;
    background: #7398a0;
    box-sizing: border-box;
    padding: 0;
    width: 320px;
    font-size: 15px;
    text-transform: uppercase;
    color: #fff;
    font-family: 'Montserrat';
    border-radius: 4px;
    transition: 0.3s;
    cursor: pointer;
}

section.persona_cont .adaptive .right .form p {
    font-size: 16px;
}

section.persona_cont .adaptive .right .form p a {
    color: #7398a0;
}

section.persona_cont .adaptive .right .form .line .input_text input:focus {
    border-color: #76c395;
}

section.persona_cont .adaptive .right .form .line button:hover {
    background: #76c395;
}

section.persona_cont .adaptive .right .form p a:hover {
    color: #76c395;
    text-decoration: none;
}

footer a.logotype img {
    height: 100%;
    display: block;
}

.docBlock {
    width: 320px;
    margin: 0 30px 30px 0;
}

.docBlock a {
    display: flex;
}

.docBlock a img {
    display: block;
    width: 100%;
}

section.docs {
    padding: 0 0 50px;
}

.docBlock:nth-child(5n) {
    margin: 0 0 30px;
}

.fix_bottom {
    position: fixed;
    bottom: 50px;
    right: 50px;
    z-index: 60;
    display: flex;
    flex-direction: column;
}

.fix_bottom a {
    width: 64px;
    margin: 10px 0 0px;
    box-shadow: 0px 0px 10px 0px rgb(255 255 255 / 10%);
    border-radius: 16px;
    transition: 0.3s;
    position: relative;
}

.fix_bottom a img {
    display: block;
    width: 100%;
}

.fix_bottom a:hover {
    transform: scale(0.9);
}

header ul.menu li a.sale {
    color: red;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.modal_window1, .modal_window2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 240;
    display: none;
}

.modal_window1.act, .modal_window2.act {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.modal_back_close {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.modal_block {
    position: relative;
    z-index: 2;
    background: #fff;
    width: 620px;
    box-sizing: border-box;
    display: inline-block;
    padding: 0;
    box-shadow: 2px 2px 20px 0px rgb(0 0 0 / 10%);
    border-radius: 20px;
}

.modal_but_close {
    position: absolute;
    top: -25px;
    right: -25px;
    color: #242424;
    cursor: pointer;
    transition: 0.2s;
    background: #fff;
    width: 50px;
    height: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    font-size: 30px;
    font-weight: 400;
    border: 2px solid #7398a0;
    box-shadow: 0 0 0 3px #fff;
    transition: 0.3s;
}

.modal_block .cont {
    padding: 50px 50px 30px;
    background: #f4fbfa;
    border-top-left-radius: 20px;
}

.modal_block .bottom {
    display: flex;
    padding: 40px 50px;
}

.modal_block .bottom a {
    display: flex;
    align-items: center;
    margin: 0 40px 0 0;
    text-decoration: none;
}

.modal_block .bottom a img {
    height: 54px;
    margin: 0 15px 0 0;
}

.modal_block .bottom a span {
    font-size: 16px;
    line-height: 22px;
    color: #464646;
}

.modal_block .bottom a span strong {
    font-weight: 500;
}

.modal_block .cont .title {
    font-size: 30px;
    font-weight: 500;
    margin: 0 0 30px;
}

.modal_block .cont .line {
    display: flex;
    margin: 0 0 30px;
}

.modal_block .cont .line .input_text {
    margin: 0 20px 0 0;
}

.modal_block .cont .line .input_text input {
    height: 46px;
    font-size: 15px;
    padding: 0 20px;
    box-sizing: border-box;
    width: 260px;
    border: none;
    border-bottom: 2px solid #88e58a;
    transition: 0.3s;
    border-radius: 4px;
    font-family: 'Montserrat';
    outline: none;
}

.modal_block .cont .line button {
    height: 46px;
    box-sizing: border-box;
    width: 220px;
    font-size: 15px;
    text-transform: uppercase;
    border: none;
    background: #88e58a;
    color: #fff;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 4px;
    font-family: 'Montserrat';
}

.modal_block .cont p {
    font-size: 15px;
    line-height: 20px;
}

.modal_block .cont p a {
    color: #76c395;
}

header .btns a:hover {
    background: #fff;
    color: inherit;
}

.modal_block .cont .line button:hover {
    background: #7398a0;
}

.modal_block .cont .line .input_text input:focus {
    border-color: #7398a0;
}

.modal_block .cont p a:hover {
    text-decoration: none;
    color: #7398a0;
}

.modal_but_close:hover {
    background: #7398a0;
    color: #fff;
}

body.ovhidden {
    overflow: hidden;
}

.fileBlock a {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    text-decoration: none;
    position: relative;
    color: inherit;
}

.fileBlock a .left {
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    z-index: 2;
    background: #fff;
    padding: 0 20px 0 0;
    transition: 0.3s;
}

.fileBlock a:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    height: 0;
    border-bottom: 1px dashed #a8dabf;
    width: 100%;
    z-index: 0;
    transition: 0.3s;
}

.fileBlock a .right {
    background: #fff;
    z-index: 2;
    position: relative;
    padding: 0 0 0 20px;
}

.fileBlock a .right span {
    height: 40px;
    background: #ecf8f8;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 120px;
    font-size: 15px;
    color: #000;
    border-radius: 100px;
    transition: 0.3s;
}

.fileBlock {
    padding: 0 0 10px;
}

.fileBlock a:hover .right span {
    background: #7398a0;
    color: #fff;
}

.fileBlock a:hover:before {
    border-bottom: 1px dashed #7398a0;
}

.fileBlock a:hover .left {
    color: #7398a0;
}

.fileBlock a .left i {
    margin: 0 15px 0 0;
    font-size: 30px;
}

body.docs_page.inside_page section.docs_list .list {
    padding: 30px 50px 20px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    margin: 0 0 50px;
    border-radius: 20px;
    box-sizing: border-box;
    border: 1px solid #e8f6ee;
    transition: 0.3s;
}

body.docs_page.inside_page section.docs_list .list:hover {
    border: 1px solid #fff;
    box-shadow: 2px 2px 15px 0px rgb(0 0 0 / 10%);
}

body.ovhidden .fix_bottom {
    display: none;
}

body.media_page.inside_page section.container .grid .portBlock {
    width: 407.5px !important;
}

footer .menum ul li a:hover {
    background: #7398a0;
    color: #fff;
}

footer .menum ul li a.mainback:hover {
    background: #76c395;
    border: 1px solid #76c395;
}

body.contacts_page.inside_page {}

body.contacts_page.inside_page section.container {
    padding: 0;
}

body.contacts_page.inside_page section.container .adaptive {
    display: flex;
    align-items: stretch;
    flex-direction: row;
    justify-content: space-between;
}

body.contacts_page.inside_page section.container .adaptive .telephone {
    font-size: 40px;
    font-weight: 600;
    margin: 0 0 30px;
    display: flex;
    flex-direction: column;
}

body.contacts_page.inside_page section.container .adaptive .telephone a {
    text-decoration: none;
    color: inherit;
    margin: 0 0 10px;
}

body.contacts_page.inside_page section.container .adaptive .hours {
    font-size: 20px;
    margin: 0 0 20px;
}

body.contacts_page.inside_page section.container .adaptive .address {
    font-size: 26px;
    font-weight: 500;
    margin: 0 0 30px;
    line-height: 34px;
}

body.contacts_page.inside_page section.container .adaptive .contact_info {
    white-space: break-spaces;
    font-size: 18px;
    line-height: 34px;
    background: #ecf8f8;
    padding: 40px;
    border-radius: 20px;
}

body.contacts_page.inside_page section.container .adaptive .left {
    width: 990px;
}

body.contacts_page.inside_page section.container .adaptive .right {
    width: 680px;
    position: relative;
}

body.contacts_page.inside_page section.container .adaptive .right span.back {
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 20px;
    background-size: cover;
    background-position: center;
}

section.home_article {
    padding: 0px 0 80px;
}

section.home_article .top {
    padding: 0 0 40px;
}

.articleBlock {
    width: 320px;
    margin: 0 30px 30px 0;
}

.articleBlock .img {}

.articleBlock .img img {
    width: 100%;
    display: block;
}

.articleBlock a {
    height: 100%;
    background: #f4fbfa;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

.articleBlock:nth-child(5n) {
    margin: 0 0 30px;
}

.articleBlock a .txt {
    padding: 20px 20px;
}

.articleBlock a .txt h3 {
    font-size: 18px;
    margin: 0 0 15px;
    font-weight: 500;
}

.articleBlock a .txt p {
    opacity: 0.7;
    font-size: 15px;
    line-height: 20px;
}

body.reviews_page.inside_page section.container .adaptive {
    display: flex;
    justify-content: space-between;
}

body.reviews_page.inside_page section.container .adaptive .left {
    width: 50%;
}

body.reviews_page.inside_page section.container .adaptive .right {
    width: 50%;
}

.review_entermap {
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e6e6e6;
}

.review_list {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0 100px 0 0;
}

.modal_block.pain_form .cont .line button {
    background: #fff;
    color: red;
    font-weight: 600;
}

.modal_block.pain_form .cont {
    background-image: url(../images/back1.png);
    background-position: center;
    background-size: cover;
}

.modal_block.pain_form .modal_but_close {
    border: 2px solid #f14d4d;
}

.modal_block.pain_form .modal_but_close:hover {
    background: #f14d4d;
}

.modal_block.pain_form .cont .title {
    color: #fff;
}

.modal_block.pain_form .cont p {
    color: #fff;
}

.modal_block.pain_form .cont p a {
    color: yellow;
}

.modal_block.pain_form .cont .line .input_text input {
    border-color: yellow;
}

.modal_block.pain_form .cont .title {
    margin: 0 0 20px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 36px;
}

.modal_block.pain_form .cont .desc {
    margin: 0 0 30px;
    color: #fff;
    font-size: 24px;
    line-height: 30px;
}

.fix_bottom a.tooth_alert {
    background-image: url(../images/back1.png);
    background-position: center;
    background-size: cover;
    height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 0 30px;
    border-radius: 100px;
}

.fix_bottom a.tooth_alert img {
    width: 42px;
}

.fix_bottom a.tooth_alert i {
    width: 30px;
    height: 30px;
    position: absolute;
    right: -5px;
    top: -5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    color: #dd250c;
    font-weight: 800;
    background: #fff;
    border: 2px solid #fa6c01;
    box-sizing: border-box;
    z-index: 222;
}

.fix_bottom a.tooth_alert::after,
.fix_bottom a.tooth_alert::before {
  content: '';
  position: absolute;
  border: 2px solid #fa6c01;
  left: -20px;
  opacity: 0;
  right: -20px;
  top: -20px;
  bottom: -20px;
  border-radius: 50%;
  animation: pulse 2.5s linear infinite;
}

.fix_bottom a.tooth_alert::after {
  animation-delay: 1.25s;
}

@keyframes pulse {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}

article.article a.leftimg {
    float: left;
    margin: 0 30px 20px 0;
    box-shadow: 2px 2px 10px 0 rgb(0 0 0 / 10%);
}

article.article a.leftimg {
    float: left;
    margin: 0 30px 30px 0;
    box-shadow: 2px 2px 10px 0px rgb(0 0 0 / 10%);
}

.faqBlock {
    background: #f4fbfa;
    margin: 0 0 20px;
    overflow: hidden;
    border-radius: 25px;
}

.faqBlock .question {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    padding: 11px 30px;
    height: auto;
    color: #000;
    font-size: 20px;
    cursor: pointer;
    border-radius: 25px;
    border: 1px solid #7398a0;
    transition: 0.3s;
    line-height: 26px;
}

.faqBlock .question.act i {
    transform: rotateZ(180deg);
}

.faqBlock .answer {
    display: none;
}

.faqBlock .answer article {
    padding: 25px 30px 0;
}

section.faq {
    padding-bottom: 80px;
}

.faqBlock .question.act {
    background: #7398a0;
    color: #fff;
}

.pricelist li.sub_prcBlock p a {
    color: #40c295;
    text-decoration: none;
    display: flex;
    flex-direction: row;
    align-items: center;
}

section.sec_entermap .title button {
    background: transparent;
    height: 50px;
    padding: 0 20px;
    border: 1px solid #7398a0;
    border-radius: 100px;
    font-family: 'Montserrat';
    font-size: 16px;
    color: #000;
    font-weight: 500;
    transition: 0.3s;
    background: #7398a0;
    color: #fff;
}

section.sec_entermap .title button:hover {
    background: transparent;
    color: #000;
}

body.ba_page {}

body.ba_page section.container .list {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.baBlock {
    width: 960px;
    margin: 0 0 80px;
}

.baBlock .imgs {
    /* border-radius: 20px; */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.baBlock .imgs img {
    display: block;
}

.baBlock h3 {
    text-align: center;
    padding: 20px 0 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 18px;
}

div#pdopage ul.pagination {
    display: flex;
    justify-content: center;
}

div#pdopage ul.pagination li * {
    background: transparent;
    padding: 10px 10px;
    text-decoration: none;
    font-weight: 500;
    color: #000;
    min-width: 39px;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
    border: 1px solid #ecf8f8;
    transition: 0.3s;
    font-size: 15px;
}

div#pdopage ul.pagination li {
    margin: 0 5px;
}

div#pdopage ul.pagination li a:hover {
    color: #fff;
    background: #7398a0;
    border: 1px solid #7398a0;
}

.pricelist .prcBlock .subcont {
    display: none;
}

section.personal .owl-carousel {
    overflow: visible;
}

section.personal .owl-carousel .owl-stage-outer {
    overflow: visible;
}

.baBlock .imgs img.twentytwenty-before, .baBlock .imgs img.twentytwenty-after {
    width: 100%;
}

.pricelist li.sub_prcBlock p a i {
    margin: 0 5px 0 0;
}

section.persona_cont .photo a.mobile_play {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.srvBlock:hover a {
    transform: scale(0.95);
}

.srvBlock a {
    display: flex;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    transition: 0.3s;
    height: 100%;
}

article.article a {
    color: #7398a0;
}

article.article a:hover {
    text-decoration: none;
}

.fancybox__content {
    width: auto !important;
    height: auto !important;
    max-width: 90vw;
    max-height: 90vh;
}
.fancybox__container video {
    width: 100% !important;
    height: auto !important;
    display: block;
}

@media only screen and (min-width: 1300px) {
    
    body.home_page .wrapper section.arrived {
        opacity: 1;
    }
    
    body.home_page .wrapper section {
        opacity: 0;
        transition: 0.8s;
    }
    
    body.home_page .wrapper section.welcome {
        opacity: 1;
    }
    
    body.home_page section.services .top .title, body.home_page section.personal .top .title, body.home_page section.home_article .top .title, body.home_page section.sec_entermap .title {
        transform: scale(0.8);
        opacity: 0;
        transform-origin: left center;
        transition-duration: 0.8s;
        transition-delay: 0s;
    }
    
    body.home_page section.services.arrived .top .title, body.home_page section.personal.arrived .top .title, body.home_page section.home_article.arrived .top .title, body.home_page section.sec_entermap.arrived .title {
        transform: scale(1);
        opacity: 1;
    }
    
    body.home_page section.services .top .desc, body.home_page section.personal .top .desc, body.home_page section.sec_entermap .desc {
        transform: scale(0.8);
        opacity: 0;
        transform-origin: left center;
        transition-duration: 0.8s;
        transition-delay: 0.4s;
    }
    
    body.home_page section.services.arrived .top .desc, body.home_page section.personal.arrived .top .desc, body.home_page section.sec_entermap.arrived .desc {
        transform: scale(1);
        opacity: 1;
    }
    
    body.home_page section.services .line, body.home_page section.personal .line {
        position: relative;
        top: 100px;
        opacity: 0;
        transition-duration: 0.8s;
        transition-delay: 0.8s;
    }
    
    body.home_page section.services.arrived .line, body.home_page section.personal.arrived .line {
        opacity: 1;
        top: 0;
    }
    
    body.home_page section.home_article .cont {
        top: 100px;
        position: relative;
        opacity: 0;
        transition-duration: 0.8s;
        transition-delay: 0.4s;
    }
    
    body.home_page section.home_article.arrived .cont {
        opacity: 1;
        top: 0;
    }
    
    body.home_page section.sec_entermap .entermap {
        position: relative;
        top: 100px;
        opacity: 0;
        transition-duration: 0.8s;
        transition-delay: 0.8s;
    }
    
    body.home_page section.sec_entermap.arrived .entermap {
        opacity: 1;
        top: 0;
    }
    
    body.home_page section.sec_form {
        transition-duration: 0.8s;
        transform: scale(1.5);
        opacity: 0;
    }
    
    body.home_page section.sec_form.arrived {
        opacity: 1;
        transform: scale(1);
    }

   body.home_page  section.welcome .txt, body.home_page section.welcome .adaptive .left .slider, body.home_page section.welcome .adaptive .right {
        transform: scale(0.8);
        transition-duration: 0.8s;
        opacity: 0;
    }
    
    body.home_page section.welcome .txt {
        transition-delay: 0s;
    }
    
    body.home_page section.welcome .adaptive .left .slider {
        transition-delay: 0.8s;
    }
    
    body.home_page section.welcome .adaptive .right {
        transition-delay: 0.4s;
    }
    
    body.home_page section.welcome.loaded .txt, body.home_page section.welcome.loaded .adaptive .left .slider, body.home_page section.welcome.loaded .adaptive .right {
        transform: scale(1);
        opacity: 1;
    }
    
}

.steps {
    position: relative;
    padding: 80px 0 0;
    max-width: 1200px;
    margin: 0 auto;
}

.steps .line {
    left: 50%;
    position: absolute;
    height: auto;
    width: 2px;
    background: #ecf8f8;
    margin: 0 0 0 -1px;
    top: 50px;
    bottom: 0;
    box-sizing: border-box;
}

.stepBlock {
    width: 50%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row-reverse;
    position: relative;
    padding: 0 0 20px;
}

.stepBlock .number {
    width: 60px;
    height: 60px;
    background: #7398a0;
    min-width: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    position: relative;
    right: -30px;
    font-size: 24px;
    font-weight: 600;
    color: #fff;
}

.stepBlock:nth-child(even) {
    flex-direction: row;
    left: 50%;
}

.stepBlock .text {
    text-align: right;
    background: #ffffff;
    padding: 0px 0px 0;
    border-radius: 10px;
    /* box-shadow: 0px 0px 15px 0px rgb(0 0 0 / 10%); */
    /* border: 1px solid #ecf8f8; */
    box-sizing: border-box;
    background: #fff;
}

.stepBlock:nth-child(even) .text {
    text-align: left;
}

.stepBlock:nth-child(even) .number {
    right: auto;
    left: -30px;
}

.stepBlock:last-child {
    background: #ffffff;
    box-shadow: 0px 5px 0px 5px #ffffff;
}

.steps_title {
    font-size: 36px;
    text-align: center;
    padding: 0 0 50px;
    font-weight: 500;
}

.steps .cont {
    position: relative;
}

article.article img {
    margin: 0 40px 0 0;
    border-radius: 15px;
    height: auto !important;
    max-width: 100%;
}

.pricelist .prcBlock.idx1 .ltitle {
    background-image: url(../images/back1.png);
    background-position: center;
    background-size: cover;
}

section.sec_form {
    background: #ecf8f8;
    position: relative;
}

section.sec_form:before {
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    background: #7398a0;
    position: absolute;
    left: 0;
    top: 0;
}

header .btns a.mainback {
    margin: 0 0 0 10px;
}

footer .bottom .adaptive .left {
    display: flex;
}

footer .bottom .adaptive .left p {
    margin: 0 20px 0 0;
}