/* site styles */

:root {
  --color-1: #0B1E4E;
  --color-2: #BCA061;

  --navy: #0B1E4E;
  --navy-mid: #071C61;
  --navy-light: #2A4A72;
  --gold: #B8934A;
  --gold-light: #C9A96A;
  --gold-subtle: #F0E6D3;
  --gold-bg: #F7F4EC;
  --white: #FFFFFF;
  --off-white: #FAF8F3;
  --cream: #F5F0E8;
  --beige-bg: #F7F2E8;
  --text: #071C61;
  --text-mid: #071C61;
  --text-soft: #7A7A7A;
  --border: rgba(184, 146, 74, 0.18);
  --border-nav: rgba(14, 35, 64, 0.1);
}

/* common */
@font-face {font-family: 'GT America'; src: url('../fonts/GT-America-Standard-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal;}
@font-face {font-family: 'GT America'; src: url('../fonts/GT-America-Standard-Regular-Italic.woff2') format('woff2'); font-weight: 400; font-style: italic;}
@font-face {font-family: 'GT America'; src: url('../fonts/GT-America-Standard-Bold.woff2') format('woff2'); font-weight: 600; font-style: normal;}
@font-face {font-family: 'GT America'; src: url('../fonts/GT-America-Standard-Bold-Italic.woff2') format('woff2'); font-weight: 600; font-style: italic; font-display: swap;}

html, body {height: 100%;}
body {margin: 0; padding: 0; min-height: 100%; min-width: 360px; position: relative; font-family: "GT America", Arial, sans-serif; font-size: 17px; line-height: 1.6; color: var(--text); background: var(--white);}

.box {max-width: 1200px; margin: auto; padding-left: 15px; padding-right: 15px;}
.footer {padding-top: 10px; padding-bottom: 10px; min-height: 100px;}
.pageMainContent *:first-child {margin-top: 0;}

#codeigniter_profiler, #codeigniter_profiler legend {font-size: 13px !important;}
#codeigniter_profiler code {background: none !important;}
.clearfix:before, .clearfix:after {display: table; content: " ";}
.clearfix:after {clear: both;}
.block_info {position: relative; width: 0; height: 0; display: inline;}
.block_info div, .page_info {padding: 1px; text-align: left; color: black !important; font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 1em; background: white;}
.block_info div {position: absolute; z-index: 10000; padding-right: 25px; opacity: 0.4; display: inline-block; vertical-align: top;}
.block_info div:hover {opacity: 1;}
.block_info div span {white-space: nowrap; color: black !important;}
.block_info .edit, .page_info .edit {margin: 0 4px 0 0 !important; float: left !important;}
.block_info span, .page_info span {display: block;}
.page_info {padding-bottom: 5px;}

.icon16 {display: inline-block; width: 20px; height: 20px; margin: 0; background-position: center; background-repeat: no-repeat; vertical-align: middle; background-color: #F5F5F5; border-radius: 3px;}
a.icon16:hover {background-color: #EEEEEE;}
.icon16.edit {background-image: url(../admin/images/edit16.png);}

.noContent {color: #999999; margin: 15px 0;}
.hidden {display: none;}
.fancybox img {cursor: zoom-in;}
img {max-width: 100%;}

a {text-decoration: underline; color: var(--gold);}
a:visited, a:active {color: var(--gold);}
a:hover {color: var(--gold-light);}

h1, h2, h3, h4, h5, h6 {margin: 1.2em 0 0.8em; line-height: 1.2; word-wrap: break-word; color: var(--navy); font-family: "GT America", Arial, sans-serif; font-weight: 500;}
h1 {font-size: 54px; font-weight: 700; color: var(--gold);}
h2 {font-size: 45px; font-weight: 700; color: var(--gold);}
h3 {font-size: 22px; font-weight: 600; color: var(--navy);}
h4 {font-size: 18px; font-weight: 500; color: var(--navy);}
h5 {font-size: 18px; font-weight: 500;}
h6 {font-size: 16px;}

h1 span {color: var(--navy); font-style: normal;}
.home h2 {text-align: left; color: var(--navy); font-size: 36px; margin: 0 0 40px;}

.breadcrumbs {margin: 0 0 20px; padding: 0; font-size: 12px; color: var(--gold);}
.breadcrumbs li {display: inline; list-style: none; margin: 0; padding: 0;}
.breadcrumbs li:not(:last-child):after {content: ">"; display: inline-block; margin: 0 5px;}
.breadcrumbs a {color: var(--gold); text-decoration: none;}
.breadcrumbs a:hover {color: var(--navy);}

.wait, .wait input, .wait textarea, .wait select, .wait button, .wait label {cursor: wait;}
.loading {background: url(../images/loading.gif) center no-repeat;}
[id] {scroll-margin-top: 116px;}

.scroll_to_top {position: fixed; bottom: 15px; right: 15px; z-index: 1100; width: 30px; height: 30px; text-align: center; padding: 5px; border-radius: 10000px; background: rgba(14, 35, 64, 0.6); color: white !important; text-decoration: none !important; font-size: 12px; line-height: normal; display: none;}
.scroll_to_top.visible {display: block;}

.grecaptcha-badge {display: none;}
.recaptcha_terms {font-size: 12px;}
.clearfix:before, .clearfix:after, .clear:before, .clear:after {content: ""; clear: both; display: table;}

/* accordion / faq */
.accordion {border: none;}
.accordion h3 {padding: 20px 48px 20px 20px; margin: 0 0 10px; border: 1px solid var(--gold-subtle); cursor: pointer; position: relative; transition: color .2s; border-radius: 18px;}
.accordion h3:hover {background: var(--off-white);}
.accordion h3:after {position: absolute; content: ""; width: 20px; height: 20px; right: 10px; top: 20px; transform: translateY(-50%); background-image: url(../images/icon-arrow-gold-left.svg); rotate: -90deg; background-size: contain; background-repeat: no-repeat; background-position: center; transition: transform .25s;}
.accordion h3.open {background: var(--off-white); color: var(--navy);}
.accordion h3.open:after {transform: translateY(-50%) rotate(180deg);}
.accordion h3 + div {margin: -10px 0 10px; padding: 5px 20px 20px; color: var(--text-mid);}

.image_cover {position: absolute; left: 0; right: 0; top: 0; bottom: 0;}
.image_cover * {width: 100%; height: 100%; object-fit: cover;}
.image_cover.left {right: 50%;}
.image_cover.right {left: 50%;}

.sticky_element {position: absolute; top: 0; left: 0; right: 0; z-index: -1; opacity: 0;}
.sticky_element.sticky_active {position: fixed; z-index: 1000; opacity: 1; box-shadow: 0 2px 16px rgba(11,30,78,0.10);}

.icon_phone_black {background-image: url(../images/icon_phone_black.svg); background-position: 0 center; background-repeat: no-repeat; background-size: 14px; padding-left: 22px !important;}
.icon_phone_white {background-image: url(../images/icon_phone_white.svg); background-position: 0 center; background-repeat: no-repeat; background-size: 14px; padding-left: 22px !important;}
.icon_email_black {background-image: url(../images/icon_email_black.svg); background-position: 0 center; background-repeat: no-repeat; background-size: 14px; padding-left: 22px !important;}
.icon_email_white {background-image: url(../images/icon_email_white.svg); background-position: 0 center; background-repeat: no-repeat; background-size: 14px; padding-left: 22px !important;}
.icon_calendar_black {background-image: url(../images/icon_calendar_black.svg); background-position: 0 center; background-repeat: no-repeat; background-size: 14px; padding-left: 22px !important;}
.icon_calendar_white {background-image: url(../images/icon_calendar_white.svg); background-position: 0 center; background-repeat: no-repeat; background-size: 14px; padding-left: 22px !important;}

/* common menus */
.horizontal_menu, .horizontal_menu ul {padding-left: 0;}
.horizontal_menu li {list-style: none; display: inline; margin: 1px;}
.horizontal_menu li a, ul.horizontal_menu li span {display: inline-block;}
.horizontal_menu li a {text-decoration: none; color: inherit;}
.subMenu a, .subMenu span {padding: 3px 12px 0; height: 18px; color: black; background: #F5F5F5; border-radius: 5px; font-weight: bold;}
.subMenu .active a, .subMenu .active span, .subMenu a:hover {background: var(--navy); color: white;}
.menu_buton {display: none;}

.icon16 {display: inline-block; width: 20px; height: 20px; margin: 0; background-position: center; background-repeat: no-repeat; vertical-align: middle;}
.icon16.delete {background-image: url(../admin/images/cross16.png);}
a.icon16:hover {background-color: #F5F5F5; border-radius: 3px;}
.fa.icon16 {font-size: 18px; color: var(--navy); text-decoration: none;}
.fa.icon16.yellow {color: var(--gold);}
.block_info .icon16, .page_info .icon16 {margin-right: 4px; float: left;}

/* system messages */
.sysmessage {background: var(--navy);}
.alert {padding: 15px; margin: 10px 0; border: 1px solid transparent; border-radius: 0; font-size: 15px; line-height: normal;}
.alert-dismissable {padding-right: 35px;}
.alert-dismissable .close {position: relative; right: -21px; color: inherit; -webkit-appearance: none; padding: 0; cursor: pointer; background: 0 0; border: 0; float: right; font-size: 21px; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: .2;}
.alert-success {color: #3c763d; background-color: #dff0d8; border: 1px solid currentcolor;}
.alert-info {color: #31708f; background-color: #d9edf7; border: 1px solid currentcolor;}
.alert-warning {color: #8a6d3b; background-color: #fdeb90; border: 1px solid currentcolor;}
.alert-danger {color: #6b211f; background-color: #fd7f7f; border: 1px solid currentcolor;}

/* common forms */
.form_item {margin: 12px 0;}
.form_item label {display: block; padding-top: 4px; font-size: 90%;}
.form_item .fieldBox label {display: inline; width: auto; margin: 0; padding: 0; float: none;}
.form_item.text label, .form_item.password label, .form_item.select label {padding-top: 3px;}
.form_item.text input, .form_item.password input, .form_item textarea, .form_item select, .form_item .dropzone {font-family: inherit; border: 1px solid rgba(14, 35, 64, 0.2); border-radius: 9px; padding: 12px 20px; font-size: 14px; line-height: 1.2; transition: border-color .2s; background: white;}
.form_item.text input:focus, .form_item.password input:focus, .form_item textarea:focus {border-color: var(--gold); outline: none;}
.form_item.text input, .form_item textarea, .form_item select {width: 100%; box-sizing: border-box;}
.form_item select {height: 44px; padding-top: 0; padding-bottom: 0; border-radius: 999px;}
.form_item.password input {width: 200px;}
.form_item textarea {resize: vertical; height: 100px; border-radius: 16px;}
.form_item input[type=checkbox], .form_item input[type=radio] {margin-left: 0; position: relative; top: 1px;}
.form_item span label {margin: 0 10px 0 0;}
.fieldBox .fileInputBox div {margin: 0 0 3px;}
.form_error {display: block; margin: 3px 0; font-size: 90%; color: red;}
.fieldBox span.form_error {margin: 3px 0;}
.form_item .imageThumbs {margin: 0 0 3px;}
.form_item .imageThumbs > span {display: inline-block; text-align: center; padding: 0 0 5px;}
.form_item .imageThumbs img {display: block; margin: 0 0 3px;}
.form_item .imageThumbs input[type=checkbox] {display: inline; vertical-align: middle; top: 0; margin: 0 2px 0 0;}
.form_item .imageThumbs label .icon16 {display: inline-block; vertical-align: middle;}
.form_item.plain .fieldBox {padding-top: 4px;}
.form_item.plain .fieldBox p {margin-top: 0;}
.form_item.radio .fieldBox label {margin-right: 1em;}
.form_item.checkbox label {float: none; width: auto;}
.form_item.required label:after {content: " *";}
.form_item.protection {display: none;}
.form_item.captcha input {width: 140px; text-transform: uppercase;}
.form_item.captcha img {margin: 0 0 3px 0; vertical-align: top;}
.form_note {font-size: 90%;}
.form_item.buttons {margin-top: 20px;}
.dropzone {background: linear-gradient(180deg, #F5F5F5 0%, #DDDDDD 100%) !important; font-size: 22px !important; min-height: 200px !important; padding: 10px !important;}
.dropzone .dz-message {margin: 30px 0 !important;}
.dropzone .dz-message .dz-button {padding: 70px 0 10px !important; color: #c1c1c1 !important; font-weight: bold !important; background: url("../images/icon_upload_gray.svg") top no-repeat !important; background-size: 50px !important;}
.dropzone .dz-preview.dz-image-preview {background: transparent !important;}
.dropzone .dz-preview .dz-error-message {margin-top: 13px;}
.help-block {display: block; margin: 3px 0; font-size: 90%; color: red;}

/* buttons */
.button, a.button {display: inline-block; border-radius: 999px; border: 1px solid var(--gold); padding: 11px 28px; color: var(--navy); background: white; font-size: 15px; font-weight: 600; letter-spacing: 0.05em; text-transform: none; line-height: 1.2; text-decoration: none; cursor: pointer; box-sizing: border-box; transition: background .2s, color .2s, border-color .2s;}
.button, a.button {background-color: transparent;}
.button:hover, a.button:hover {background-color: var(--navy); border-color: var(--navy); color: white; filter: none;}
.button_2, a.button_2 {background-color: white; color: var(--gold);}
.button_2:hover, a.button_2:hover {}
.button_3, a.button_3 {background-color: transparent; color: white; border: 1px solid var(--gold);}
.button_3:hover, a.button_3:hover {background-color: var(--gold);}
.button_4, a.button_4 {background: white; border: 1px solid var(--navy); color: var(--navy);}
.button_4:hover, a.button_4:hover {background-color: var(--navy); color: white; border-color: var(--navy);}
.button_5, a.button_5 {background: transparent; border: 1px solid white; color: white;}
.button_5:hover, a.button_5:hover {background-color: white; color: var(--navy);}
.button_6, a.button_6 {background: var(--navy); border: 1px solid var(--navy); color: white;}
.button_6:hover, a.button_6:hover {background-color: white; color: var(--navy);}

/* checkbox / radio */
.form_item label.checkbox_custom {position: relative; cursor: pointer; user-select: none; padding-left: 22px; min-height: 13px; margin-bottom: 0.5em; font-size: 12px;}
.checkbox_custom input {position: absolute !important; left: 0; top: 0; opacity: 0; cursor: pointer; height: 0; width: 0;}
.checkbox_custom .checkmark {position: absolute; top: 3px; left: 0; box-sizing: border-box; width: 14px; height: 14px; background-color: white; border: 1px solid var(--navy); border-radius: 0;}
.checkbox_custom:hover input ~ .checkmark {border-color: var(--gold);}
.checkbox_custom input:checked ~ .checkmark {background-color: var(--gold); border-color: var(--gold);}
.checkbox_custom .checkmark:after {content: ""; position: absolute; display: none;}
.checkbox_custom input:checked ~ .checkmark:after {display: block;}
.checkbox_custom .checkmark:after {left: 3px; top: 0; width: 3px; height: 7px; border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg);}
.form_item label.radio_custom {position: relative; cursor: pointer; user-select: none; padding-left: 20px; min-height: 13px; margin-bottom: 0.5em;}
.radio_custom input {position: absolute !important; left: 0; top: 0; opacity: 0; cursor: pointer; height: 0; width: 0;}
.radio_custom .checkmark {position: absolute; top: 3px; left: 0; box-sizing: border-box; height: 13px; width: 13px; background-color: white; border-radius: 50%; border: 1px solid #767676;}
.radio_custom:hover input ~ .checkmark {border-color: var(--navy);}
.radio_custom input:checked ~ .checkmark {background-color: var(--gold); border-color: var(--gold);}
.radio_custom .checkmark:after {content: ""; position: absolute; display: none;}
.radio_custom input:checked ~ .checkmark:after {display: block;}
.radio_custom .checkmark:after {top: 0; left: 0; width: 7px; height: 7px; border-radius: 50%; border: 2px solid white;}

/* common lists / tables */
.listTable {border-collapse: collapse; width: 100%; margin: 10px 0 0;}
.listTable th, .listTable td {border: 1px solid white;}
.listTable th {padding: 9px 4px 8px; background: var(--navy); color: white; text-align: left;}
.listTable td {padding: 4px; background-color: #FAFAFA;}
.listTable tr:nth-child(odd) td {background-color: #F2F2F2;}
.listTable tr:hover td {background-color: var(--gold-subtle);}
.listTable .narrow {width: 20px;}
.listTable .icons {padding: 1px 4px 0; width: 20px; white-space: nowrap;}
.noContent.table {background: #FAFAFA; border: 1px solid white; border-top: none; text-align: center; padding: 5px 0;}

/* header */
.header {background: var(--white);}
.header > .box {position: relative;}
.header .logo {display: inline-block; margin: 22px 0 18px; text-decoration: none; color: var(--navy); width: 240px; max-width: 100%;}
.header .logo img {display: block; max-width: 100%;}
.header_right {text-align: right;}

.header_right_top {margin: 12px 0 6px; display: flex; justify-content: flex-end; align-items: center; gap: 8px; flex-wrap: wrap;}
.header_right_top > span {display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end;}
.header .button {padding: 9px 22px; margin-left: 0; font-size: 14px; font-weight: 700;}
.header .button:first-child {margin-left: 0;}
.button_phone {text-decoration: none; margin-right: 10px;}

.header .button_3, .header a.button_3 {background-color: transparent; color: var(--navy); border: none; border-bottom: 1px solid var(--navy); border-radius: 0; padding: 4px 2px; font-size: 13px; font-weight: 500;}
.header .button_3:hover, .header a.button_3:hover {background-color: transparent; color: var(--gold); border-bottom-color: var(--gold);}

.header_right_top_sticky {padding: 2px 0;}
.header_right_top_sticky.sticky_element {padding: 2px 15px; background: white;}

/* language menu */
.language_menu_box {height: 36px; position: relative;}
.language_menu {display: inline-block; position: relative; height: 36px; box-sizing: border-box; margin: 0; vertical-align: middle; overflow: hidden; border: 1px solid var(--gold); border-radius: 20px; background: white;}
.language_menu_rollup_button {position: absolute; top: 13px; right: 10px; display: block; background: none; margin: 0; z-index: 1;}
.language_menu_rollup_button::after {content: ''; display: block; width: 8px; height: 8px; border-right: 1.5px solid var(--gold); border-bottom: 1.5px solid var(--gold); transform: rotate(45deg); transition: transform .2s;}
.language_menu_rollup_button.open::after {transform: rotate(-135deg); margin-top: 4px;}
.language_menu.open {height: auto; z-index: 1;}
.language_menu ul {list-style: none; margin: 0; padding: 0; box-sizing: border-box; text-align: left;}
.language_menu ul li:before {display: none;}
.language_menu ul li a {display: block; box-sizing: border-box; height:35px; padding: 6px 25px 6px 10px; text-decoration: none; color: var(--gold); font-size: 14px; line-height: 23px; font-weight: bold;}
@media (max-width: 991px) {
  .main_menu .language_menu_mobile_li {padding: 20px 0 15px 0; z-index: 1; }
  .main_menu .language_menu_mobile .language_menu {display: inline-block; margin: 0; width: auto;}
  .language_menu.open {height: 36px;}
  .main_menu .language_menu_mobile a {padding: 0 !important; display: inline-block; border-bottom: none;}
  .main_menu .language_menu_mobile ul {display: block; margin: 0; padding: 0; width: auto; background: white !important;}
  .main_menu .language_menu_mobile ul li {padding: 0; text-align: center; clear: none;}
  .main_menu .language_menu_mobile ul li a {width: 35px; display: block; line-height: 33px; font-weight: bold; color: var(--gold);}
  .main_menu .language_menu_mobile .language_menu.open ul li {display: inline-block; float: left;}
  .language_menu_rollup_button {position: static;}
  .language_menu_rollup_button::after {transform: rotate(-45deg); margin-left: 3px;}
  .language_menu_rollup_button.open::after {transform: rotate(135deg); margin-left: 7px;}
}

/* footer */
.footer_1 {padding: 60px 0 40px; background: var(--gold); font-size: 14px; color: white;}
.footer_1 a {color: white; text-decoration: none;}
.footer_1 a:hover {color: var(--navy);}
.footer_1 h3 {color: white; font-size: 16px; letter-spacing: 0.08em; text-transform: uppercase; font-family: "GT America", Arial, sans-serif; font-weight: 600; margin-bottom: 14px;}
.footer_1 h3:first-child {margin-top: 0;}
.footer_1 p {font-weight: 300; line-height: 1.7; color: white; margin: 0.6em 0;}
.footer_1 b {font-weight: 500;}

.footer_1 .social {margin-top: 18px;}
.footer_1 .social a {display: inline-block; width: 36px; height: 36px; border: 1px solid white; border-radius: 50%; margin-right: 8px; text-align: center; line-height: 36px; vertical-align: middle; transition: background .2s;}
.footer_1 .social a:hover {background: #ffffff66;}
.footer_1 .social img {filter: brightness(0) invert(1); opacity: 1; height: 16px !important; vertical-align: middle !important; position: relative; top: -3px;}
.footer_1 .social a:hover img {filter: none;}

.footer_1 .newsletter h3 {margin: 0 0 14px;}
.footer_1 .newsletter .form_item.text input {background: rgba(255, 255, 255, 0.15); border: none; color: white; padding: 10px 18px;}
.footer_1 .newsletter .form_item.text input::placeholder {color: rgba(255, 255, 255, 0.7);}
.footer_1 .newsletter .form_item.buttons {margin-top: 10px;}
.footer_1 .newsletter .button, .footer_1 .newsletter a.button {background: transparent; color: white; border: 1px solid white;}
.footer_1 .newsletter .button:hover {background: #ffffff66;}
.footer_1 .newsletter .checkbox_custom .checkmark {border-color: white; background: transparent;}
.footer_1 .newsletter .checkbox_custom input:checked ~ .checkmark {background-color: white; border-color: white;}
.footer_1 .newsletter .checkbox_custom .checkmark:after {border-color: var(--gold-bg);}
.footer_1 .newsletter label {color: white; font-size: 12px;}
.footer_1 .newsletter label a {color: white; text-decoration: underline;}

.footer_1 .footer-brand {text-align: center; margin: 60px 0 10px; padding-top: 40px;}
.footer_1 .footer-brand img {max-width: 320px; width: 80%; filter: brightness(0) invert(1); opacity: 0.95;}

.footer_2 {padding: 15px 0; background: var(--gold); font-size: 12px; color: rgba(255, 255, 255, 0.85);}
.footer_2 a {color: rgba(255, 255, 255, 0.85);}
.footer_2 .logo_footer {width: 200px; margin: 10px auto 70px;}

/* main menu */
.menu ul {padding: 0; margin: 0;}
.menu_button {display: none;}
.main_menu, .sub_menu {background: white; padding: 0;}
.main_menu ul {position: relative; right: -10px;}
.sub_menu {border-bottom: 1px solid var(--border-nav);}
.main_menu li, .sub_menu li {list-style: none; margin-right: 2px; font-size: 20px; font-weight: 700; display: inline-block; margin-left: 15px;}
.main_menu li:first-child, .sub_menu li:first-child {margin-left: 0;}
.main_menu li a, .sub_menu li a {display: inline-block; text-decoration: none; color: var(--navy); padding: 15px 0 5px; font-weight: 700; font-size: 15px; border-bottom: 2px solid var(--gold-subtle); transition: color .2s, border-color .2s;}
.main_menu li.active > a, .main_menu li a:hover, .sub_menu li.active a, .sub_menu li a:hover {color: var(--navy); border-bottom-color: var(--gold);}
.main_menu ul li, .sub_menu ul li {position: relative;}
.main_menu ul ul, .sub_menu ul ul {display: none; position: absolute; z-index: 100; left: 0; width: 300px; background: white; text-align: left; margin: -2px -5px 0; box-shadow: 0 8px 24px rgba(14, 35, 64, 0.12); border-top: 2px solid var(--gold);}
.main_menu ul ul li, .sub_menu ul ul li {display: block; margin: 0;}
.main_menu ul ul li a, .sub_menu ul ul li a {display: block; padding: 10px 16px; font-weight: 400; color: var(--text-mid); border-bottom: 1px solid var(--border-nav);}
.main_menu ul ul li a:hover {color: var(--navy); background: var(--cream);}
.main_menu ul ul.open, .sub_menu ul ul.open {display: block;}
.main_menu ul ul ul {top: 0; left: 100%; margin-left: 0;}
.main_menu ul ul ul a {font-weight: normal;}
.main_menu a span {position: absolute; top: 0.95em; right: 0; text-align: center; line-height: 28px; transform: rotate(90deg) scale(0.5, 1.0);}
.main_menu li.has_submenu {padding-right: 8px;}
.main_menu li a span:after {content: ">"; color: var(--navy); font-size: 18px; line-height: normal; position: relative; left: 0; top: -7px; font-weight: normal;}
.main_menu .has_submenu a span {display: inline-block;}
.main_menu ul ul .has_submenu a span {display: none;}
.main_menu ul.wide_popup_submenu {width: 600px; padding: 10px 15px;}
.main_menu ul.wide_popup_submenu ul {display: block !important; position: static; padding-left: 0; padding-right: 0; background: transparent; border: none; box-shadow: none; margin-left: -15px;}
.main_menu ul.wide_popup_submenu li {width: auto; padding-left: 0; padding-right: 0;}
.main_menu ul.wide_popup_submenu li li {padding: 0 !important;}
.main_menu ul.wide_popup_submenu li li:last-child a {border: none;}
.main_menu ul.wide_popup_submenu h3 {padding: 0; margin: 10px 0 15px;}
.main_menu li.border {position: relative;}
.main_menu li.border:before {content: ""; position: absolute; left: -10px; top: 18px; bottom: 10px; border-left: 1px solid var(--navy);}

/* sidebar */
.sidebar {padding-right: 0;}
.sidebar_box {margin: 0 0 20px; padding: 28px 30px; border-radius: 18px;}
.sidebar_box h3:first-child {margin-top: 0;}
.sidebar_box h3 {font-size: 22px; font-weight: 600; margin-bottom: 10px;}
.sidebar_box p {margin: 0 0 16px; font-size: 15px; line-height: 1.6;}

.sidebar_box_1 {background: var(--beige-bg); border: none; text-align: left;}
.sidebar_box_1 h3 {color: var(--navy);}

.sidebar_box_2 {background: var(--navy); text-align: left; color: white;}
.sidebar_box_2, .sidebar_box_2 a:not(.button) {color: white;}
.sidebar_box_2 h3 {color: white; font-size: 28px;}
.sidebar_box_2 a.button_3 {color: white;}
.sidebar_box_2 a.button_4 {background: var(--gold); color: white; border: 1px solid var(--gold);}
.sidebar_box_2 a.button_4:hover {background: white; color: var(--navy); border-color: white;}

.sidebar_box_3 {background: white; border: 1px solid var(--gold); text-align: left;}

.sidebar .newsletter {margin: 0 0 20px; padding: 28px 30px; text-align: left; background: var(--beige-bg); border: none; border-radius: 18px;}
.sidebar .newsletter h3 {margin-top: 0;}

.content_box_1 {background: var(--off-white); padding: 20px 24px; margin: 20px 0; border-left: 3px solid var(--gold);}
.content_box_2 {background: var(--navy); color: white; padding: 20px 24px; margin: 20px 0; border-radius: 12px;}
.content_box_3 {background: white; border: 1px solid var(--navy); padding: 20px 24px; margin: 20px 0; border-radius: 12px;}

/* page header */
.page_header {padding-top: 20px; padding-bottom: 20px; position: relative; overflow: visible; height: auto; box-sizing: border-box; background: white;}
.page_header img {border-radius: 18px;}
.page_header h1 {color: var(--navy); margin: 20px 0 20px; font-size: 69px;}
.page_header h2 {margin: 20px 0 20px; padding: 0; color: var(--gold);}
.page_header h3 {margin: 0 0 20px; font-size: 17px; padding: 0; font-family: "GT America", Arial, sans-serif; font-style: normal; font-weight: 300; line-height: 1.6; color: var(--text-mid);}
.page_header_mini .page_header {height: auto; overflow: visible;}

.page_header .image_cover {position: relative; left: auto; right: auto; top: auto; bottom: auto; border-radius: 18px; overflow: hidden;}
.page_header .image_cover img {width: 100%; height: 100%; object-fit: cover; border-radius: 18px;}

.sub_menu {border-bottom: none; padding: 0 0 20px; margin: 30px 0 15px;}
.sub_menu ul {padding: 0; margin: 0;}
.sub_menu li {display: inline-block; margin-left: 8px; margin-bottom: 8px;}
.sub_menu li a {display: inline-block; padding: 8px 18px; font-size: 14px; font-weight: bold; color: var(--gold); border: 1px solid var(--gold); border-radius: 10000px; background: white; transition: all .2s; text-decoration: none;}
.sub_menu li.active a, .sub_menu li a:hover {color: var(--navy);}

/* home about */
.home_about {margin: 60px 0; padding: 0; position: relative; min-height: auto;}
.home_about img {border-radius: 18px; margin: 0 0 20px;}
.home_about .col-md-6:not(:first-child), .home_about .col-md-6:not(:last-child) {display: flex; flex-direction: column;}
.home_about h2 {text-align: left; font-size: 57px; margin: 0 0 24px; color: var(--gold); text-align: left;}
.home_about h2 span {color: var(--navy);}
.home_about p {color: var(--text-mid);}

/* home faq */
.faq {padding: 70px 0; margin: 0; background: white;}
.home .faq h2 {text-align: center; margin: 0 0 40px; color: var(--gold); font-weight: bold; font-size: 57px;}
.faq h2:first-child {margin-top: 0;}
.faq h3 {font-size: 19px;}
.faq .accordion {text-align: left; margin: 0 auto; max-width: 800px;}
.faq h3 + div {margin: 5px 0 15px;}


/* home visual */
.home_visual {position: relative; width: 100%; overflow: hidden; min-height: 700px; margin: 60px 0 0;}
.home_visual .box {padding-top: 1px;}
.home_visual .strip {width: 100000px; position: absolute; left: 0; top: 0; bottom: 60px;}
.home_visual .slide {height: 100%; float: left; position: relative; overflow: hidden;}

.home_visual .image_cover {position: absolute; top: 0; overflow: hidden; border-radius: 18px;}
.home_visual .image_cover.right {left: 50%; right: max(0px, calc((100% - 1200px) / 2));}
.home_visual .image_cover.left {right: 50%; left: max(0px, calc((100% - 1200px) / 2));}
.home_visual .image_cover img {width: 100%; height: 100%; object-fit: cover;}

.home_visual .text {position: relative; z-index: 2; padding: 120px 0 40px;}

.home_visual h1 {font-size: 55px; font-weight: 600; color: var(--gold); line-height: 1.1; margin: 20px 0 24px;}
.home_visual h1 span {font-style: normal; color: var(--navy); display: inline;}
.home_visual h3 {color: var(--gold); font-size: 14px; font-weight: normal; margin: 0 0 15px; text-align: center;}
.home_visual p {color: var(--navy); font-size: 19px; line-height: 1.6; margin-bottom: 30px;}
.home_visual .button {margin: 0.5em 0; font-size: 17px; padding: 15px 50px; border-width: 2px;}

.home_visual .cta-micro {display: block; margin-top: 10px; font-size: 11px; color: var(--text-soft); letter-spacing: 0.05em;}

.home_visual .nav {position: absolute; bottom: 8px; opacity: 1; cursor: pointer; width: 36px; height: 36px; border: none; border-radius: 0; background: white no-repeat center / contain; transition: opacity .2s; z-index: 10; border: 1px solid var(--gold); border-radius: 10000px; background-size: 20px; background-position: center; opacity: 0.8;}
.home_visual .nav.prev {left: auto; right: max(54px, calc((100% - 1200px) / 2 + 54px)); background-image: url(../images/icon-arrow-gold-left.svg);}
.home_visual .nav.next {right: max(4px, calc((100% - 1200px) / 2 + 4px)); background-image: url(../images/icon-arrow-gold-right.svg);}
.home_visual .nav.prev:before, .home_visual .nav.next:before {display: none;}
.home_visual:hover .nav {opacity: 1;}

.home_visual .nav_icons {position: absolute; bottom: 10px; left: 0; right: 0; width: 100%; text-align: center; z-index: 1; padding: 0;}
.home_visual .nav_icons span {display: inline-block; cursor: pointer; border-radius: 50%; width: 12px; height: 12px; border: 1px solid var(--gold); background-color: transparent; margin: 0 4px; transition: background .2s;}
.home_visual .nav_icons span.active {background-color: var(--navy); border-color: var(--navy);}

.video_control {cursor: pointer; position: absolute; top: 15px; right: 15px; opacity: 0.7; padding: 5px;}
.video_control:hover {opacity: 1;}
.video_control:after {content: ""; display: inline-block; width: 16px; height: 16px; background: url(../images/icon_video_pause_white.svg) center no-repeat; background-size: contain;}
.video_control.stop:after {background: url(../images/icon_video_play_white.svg) no-repeat center; background-size: contain;}

/* light slider */
.light_slider {position: relative; overflow: hidden;}
.light_slider .strip {width: 100000px; position: absolute; left: 0; top: 0;}
.light_slider img {float: left; filter: grayscale(100%);}
.light_slider img:hover {filter: grayscale(0%);}
.light_slider .nav {position: absolute; top: 50%; margin-top: -35px; opacity: 0; cursor: pointer; font-size: 70px; line-height: 1em; color: black;}
.light_slider .nav.prev, .light_slider .nav.next {opacity: 0;}
.light_slider:hover .nav {opacity: 1;}
.light_slider .nav.prev {left: 20px;}
.light_slider .nav.next {right: 20px;}
.light_slider .nav.prev:before, .light_slider .nav.next:before {display: inline-block; transform: scale(0.5, 1.0); color: black; font-size: 60px; font-weight: normal; line-height: 1em; font-family: Times, serif;}
.light_slider .nav.prev:before {content: "<";}
.light_slider .nav.next:before {content: ">";}

/* home reference slider */
.home_reference_slider {position: relative; font-size: 15px; margin: 0;}
.home_reference_slider > .box > div {padding: 70px 10px; background: var(--navy-mid); border-radius: 18px;}
.home_reference_slider h2 {color: white; font-size: 50px; margin: 0 0 40px; text-align: center;}
.home_reference_slider a {text-decoration: none;}

.home_reference_slider .frame {position: relative; overflow: hidden;}
.home_reference_slider .strip {position: absolute; left: 0; width: 100000px; overflow: hidden; box-sizing: content-box;}

.home_reference_slider .slide {float: left; box-sizing: border-box; padding: 0 10px; opacity: 0.4; transition: opacity .35s;}
.home_reference_slider .slide.active {opacity: 1;}
.home_reference_slider .slide-inner {border: 1px solid var(--gold); border-radius: 14px; padding: 28px 24px; box-sizing: border-box; display: flex; flex-direction: column;}
.home_reference_slider .image {float: none; margin: 0 0 18px;}
.home_reference_slider img {width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--gold); object-fit: cover; display: block;}
.home_reference_slider .perex {font-family: "GT America", Arial, sans-serif; font-size: 21px; font-style: normal; color: white; flex: 1; display: flex; flex-direction: column;}
.home_reference_slider .perex em {font-style: italic; font-size: 14px; display: block; margin-top: auto;}
.home_reference_slider .name {font-size: 13px; font-weight: 500; color: white; margin-top: 16px; line-height: normal;}
.home_reference_slider .name span {display: block; font-weight: normal; margin-top: 4px; color: var(--gold-light); font-size: 11px; letter-spacing: 0.05em;}
.home_reference_slider .more_all {text-align: center; margin: 40px 0 0 calc(50% + 40px);}
.home_reference_slider .more_all .button {background-color: transparent;}
.home_reference_slider .more_all .button:hover {border-color: var(--gold);}
.home_reference_slider .nav {position: absolute; bottom: -3px; left: 50%; opacity: 1; cursor: pointer; width: 36px; height: 36px; border: none; border-radius: 0; background: none no-repeat center / contain; transition: opacity .2s; z-index: 10; border: 1px solid var(--gold); border-radius: 10000px; background-size: 20px; background-position: center; opacity: 0.8;}
.home_reference_slider .nav.prev {background-image: url(../images/icon-arrow-gold-left.svg); margin-left: -45px;}
.home_reference_slider .nav.next {background-image: url(../images/icon-arrow-gold-right.svg);  margin-right: -45px;}

/* home treatments */
.home_treatments {padding: 40px 0 20px; background: white;}
.home_treatments .pageListItem {background: var(--gold-bg) !important; min-height: 480px; position: relative;}
.home_treatments .more {position: absolute; bottom: 15px; right: 15px; padding: 0;}
.home_treatments .more:before {content: ""; display: inline-block; width: 36px; height: 36px; background: url(../images/icon-arrow-gold-right.svg) center no-repeat; border: 1px solid var(--gold); border-radius: 10000px; background-size: 20px; background-position: center;}

/* pagelist */
.pageListTop {margin-bottom: 20px;}
.pageListTop h3 {min-height: 0;}

.pageListItem {text-decoration: none; display: block; border: 1px solid var(--gold); overflow: hidden; transition: box-shadow .3s, transform .3s; background: white; position: relative; border-radius: 18px; padding: 15px 15px 60px;}

.pageListItem .date {margin: 1em 0 0.3em; font-size: 13px; font-weight: 500; color: var(--gold);}
.pageListItem .perex {font-weight: 300; color: var(--text-soft); font-size: 15px; line-height: 1.7;}
.pageListItem:not(a) .more {display: none;}
.pageListTop .pageListItem {margin-bottom: 24px; background: white;}
.pageListTop .pageListItem img {display: block; object-fit: cover; transition: transform .4s; width: 100%; border-radius: 18px;}
.pageListTop .pageListItem h3 {font-size: 18px; font-weight: 600; color: var(--navy); margin: 0.2em 0 0.4em; line-height: 1.2;}
a.pageListItem h3 {color: var(--navy);}
a.pageListItem:hover {box-shadow: 0 8px 24px rgba(14, 35, 64, 0.08); transform: translateY(-3px);}
a.pageListItem:hover .pageListItem img {transform: scale(1.04);}
.condition-cat {font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px;}
.pageListTop .pageListItem .condition-cat {padding: 16px 20px 0;}
.pageListTop .pageListItem {position: relative;}
.pageListTop .pageListItem h3 {padding: 14px 0 0;}
.pageListTop .pageListItem .date {padding: 0 20px;}
.pageListTop .pageListItem .perex {padding: 8px 0; min-height: 6.2em;}
.pageListEvent .pageListTop .pageListItem .page_motto {padding: 14px 0 0; color: var(--gold); font-size: 15px; line-height: 1.4; font-weight: bold;}
.pageListEvent .pageListTop .pageListItem .page_motto + h3 {padding-top: 4px;}
.pageListEvent .pageListTop .eventBadgeLabel {position: absolute; top: 27px; left: 27px; z-index: 2; display: inline-flex; align-items: center; max-width: calc(100% - 54px); padding: 5px 14px; border-radius: 999px; color: white; background: var(--gold); font-size: 12px; font-weight: bold; line-height: 1.1; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.pageListEvent .pageListTop .eventBadgeLive .eventBadgeLabel {background: var(--navy);}
.pageListEvent .pageListTop .eventBadgeLive .eventBadgeLabel:before {content: ""; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: white; flex: 0 0 auto;}
.pageListEvent .pageListTop .eventBadgeOpen .eventBadgeLabel {background: var(--gold);}
.pageListEvent .pageListTop .eventBadgeSoon .eventBadgeLabel {border: 1px solid var(--gold); color: var(--navy); background: white;}
.pageListTop .more {position: absolute; bottom: 15px; right: 15px; padding: 0;}
.pageListTop .more:before {content: ""; display: inline-block; width: 36px; height: 36px; background: url(../images/icon-arrow-gold-right.svg) center no-repeat; border: 1px solid var(--gold); border-radius: 10000px; background-size: 20px; background-position: center;}

.pageListDoctor .pageListItem h3 {min-height: 2.8em;}
.pageListDoctor .pageListItem .perex {min-height: 4.6em;}

.condition-more {display: flex; align-items: center; gap: 6px; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--navy); font-weight: 500; transition: color .2s;}
a.pageListItem:hover .condition-more {color: var(--gold);}

.pageListNonTop {margin: 20px 0 40px;}
.pageListNonTop .pageListItem {display: block; margin: 0; padding: 12px; border: 0; border-bottom: 1px solid var(--gold-subtle); border-radius: 0; box-shadow: none; transform: none; text-decoration: none; color: var(--navy); transition: color .2s, background .2s;}
.pageListNonTop .pageListItem h3 {margin: 0; padding: 0; color: var(--navy); font-size: 17px;  line-height: 1.3;}
.pageListNonTop a.pageListItem:hover,
.pageListTreatment .pageListNonTop h5 a:hover {background: white; box-shadow: none; transform: none; color: var(--gold);}
.pageListNonTop a.pageListItem:hover h3 {color: var(--gold);}
.pageListTreatment .pageListNonTop .row {display: block; margin-right: 0; margin-left: 0;}
.pageListTreatment .pageListNonTop .col-md-6 {max-width: none; padding-right: 0; padding-left: 0;}
.pageListTreatment .pageListNonTop h5 span {display: block; margin: 0; padding: 12px; border-bottom: 1px solid var(--gold-subtle); color: var(--navy); font-size: 17px; font-weight: 400; line-height: 1.3;}
.pageListEvent .pageListNonTopTitle {margin: 0 0 30px; color: var(--gold); font-size: 30px; line-height: 1.2;}
.pageListEvent .pageListNonTopYear {margin: 34px 0 16px; padding: 0 0 8px; border-bottom: 2px solid var(--gold-subtle); color: var(--navy); font-size: 21px; font-weight: bold; line-height: 1.2;}
.pageListEvent .pageListNonTop .pageListItem {display: flex; align-items: baseline; gap: 14px; padding: 12px 0;}
.pageListEvent .pageListNonTop .pageListItemMain {display: flex; flex: 1 1 auto; align-items: baseline; gap: 14px; min-width: 0;}
.pageListEvent .pageListNonTop .page_motto {color: var(--gold); font-size: 15px; line-height: 1.4; font-weight: bold; overflow-wrap: anywhere;}
.pageListEvent .pageListNonTop .page_title {min-width: 0;}
.pageListEvent .pageListNonTop .pageListItemLink {margin-left: auto; padding-left: 18px; color: var(--gold); font-size: 15px; font-weight: bold; white-space: nowrap;}
.pageListEvent .pageListNonTop a.pageListItem:hover .pageListItemLink {color: var(--navy);}
@media (min-width:768px) {
  .pageListEvent .pageListNonTop .page_motto {flex: 0 1 300px; min-width: 280px; max-width: 260px;}
}
@media (max-width:767px) {
  .pageListEvent .pageListNonTop .pageListItem,
  .pageListEvent .pageListNonTop .pageListItemMain {display: block;}
  .pageListEvent .pageListNonTop .page_motto,
  .pageListEvent .pageListNonTop .page_title,
  .pageListEvent .pageListNonTop .pageListItemLink {display: block;}
  .pageListEvent .pageListNonTop .pageListItemLink {margin-left: 0; padding-left: 0; padding-top: 4px;}
}

.motto {padding: 24px; border: 1px solid var(--border); background: var(--off-white); margin: 15px 0;}
.motto h2:first-child, .motto h3:first-child {margin-top: 0;}
.fastInfo {padding: 0 30px 15px; border: 1px solid var(--border-nav); margin: 30px 0;}
.fastInfo ul {padding-left: 15px;}

.pageListVideo .video {position: relative;}
.pageListVideo .pageListTop .pageListItem {padding-bottom: 15px;}
.pageListVideo .pageListTop .pageListItem h3 {min-height: 0;}
.pageListVideo .pageListTop .pageListItem .perex {min-height: 7.8em;}
.pageListVideo a {text-decoration: none;}
.pageListVideo .video iframe {display: block;}
.pageListVideo .overlay {position: relative;}
.pageListVideo .overlay div {position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; cursor: pointer;}
.pageListVideo .overlay div::after {content: ""; position: absolute; top: 50%; left: 50%; width: 80px; height: 80px; margin-top: -40px; margin-left: -40px; background: url(../images/icon_video_play_white.svg) 27px center no-repeat #0006; background-size: 33px; border-radius: 10000px; opacity: 0.8;}
.pageListVideo .overlay div:hover:after {opacity: 1;}
.pageVideo .video {margin: 0 0 30px;}

.gallery img {margin-bottom: 15px;}
.pageMainContent .perex {font-weight: 500; margin-bottom: 0.8em; color: var(--navy);}

.pageListTop .more {margin: 10px 0 0;}
.pageListNonTop .more {margin: 10px 0 0;}
.pageListDoctor .doctorJob {font-weight: bold; color: var(--gold);}
.pageListDoctor .pageListItem {border-color: var(--gold); border-radius: 18px;}
.pageListTreatment .pageListNonTop a {text-decoration: none;}

/* home specialization */
.home .sidebar_box_1 {background: white; border: 1px solid var(--gold); border-radius: 18px; padding: 32px 28px; text-align: left; position: relative;}
.home .sidebar_box_1 h3 {color: var(--navy); font-size: 22px; font-weight: 600; text-align: left; margin: 0 0 14px; line-height: 1.2;}
.home .sidebar_box_1 p {color: var(--text-mid); font-size: 14px; line-height: 1.7;}
.home .sidebar_box_1 .more {margin-top: 20px;}

.home_benefits {text-align: left; padding: 60px 0;}
.home_benefits h2 {color: var(--navy); font-size: 32px; margin: 0 0 80px;}
.home_benefits h4 {font-size: 20px;}
.home_benefits .icon {display: inline-block; padding: 15px; box-sizing: border-box; width: 66px; height: 66px; border-radius: 10000px; background: #F0F1F6;}

.home_specialization {padding: 40px 0; color: var(--navy); font-size: 15px;}
.home_specialization .item {border: 1px solid var(--gold); border-radius: 18px; padding: 40px 15px 60px; min-height: 470px; position: relative; margin: 0 0 20px;}
.home_specialization h2 {text-align: center; color: var(--gold); font-size: 50px; margin: 0 0 60px;}
.home_specialization h3 {font-size: 36px; min-height: 2.4em;}
.home_specialization .more {position: absolute; bottom: 15px; right: 15px; padding: 0;}
.home_specialization .more a {display: inline-block; width: 36px; height: 36px; background: url(../images/icon-arrow-gold-right.svg) center no-repeat; border: 1px solid var(--gold); border-radius: 10000px; background-size: 20px; background-position: center;}


.home .sidebar_box_1 .more .button,
.home .sidebar_box_1 .more a.button,
.home .sidebar_box_1 .more .button_4,
.home .sidebar_box_1 .more a.button_4 {display: inline-block; width: 40px; height: 40px; padding: 0; border-radius: 50%; border: 1px solid var(--gold); background: white; font-size: 0; text-indent: -9999px;
  background-image: url(../images/icon_arrow_right_gold.svg);
  background-position: center; background-size: 14px; background-repeat: no-repeat;}
.home .sidebar_box_1 .more .button:hover,
.home .sidebar_box_1 .more a.button:hover,
.home .sidebar_box_1 .more .button_4:hover,
.home .sidebar_box_1 .more a.button_4:hover {background-color: var(--gold); background-image: url(../images/icon_arrow_right_white.svg);}

/* home treatment features */
.feature-wrap {padding: 30px 20px 30px 0; border-right: none; transition: none;}
.feature-wrap:last-child {border-right: none;}
.feature-wrap:hover {background: transparent;}
.feature-wrap img {width: 28px; height: 28px; display: block; margin-bottom: 18px;}
.feature-wrap h4, .feature-wrap h5 {font-size: 15px; font-weight: 500; color: var(--navy); margin: 0 0 4px; line-height: 1.4; text-align: left;}
.feature-wrap p {font-size: 13px; color: var(--text-soft); line-height: 1.7; font-weight: 300;}

.pageListTop > .box > .row > .col-md-3 {text-align: left !important; padding: 20px 20px 20px 15px;}
.pageListTop > .box > .row > .col-md-3 img {display: block; margin: 0 0 18px 0;}
.pageListTop > .box > .row > .col-md-3 h4 {font-size: 15px; font-weight: 500; color: var(--navy); margin: 0; line-height: 1.4; text-align: left !important;}

/* pages */
.page {padding-top: 40px; padding-bottom: 40px;}
.pageMainContent > h1:first-child, .pageMainContent > h2:first-child, .pageMainContent > h3:first-child {margin-top: 0;}
.pageMainContent p {margin: 0.8em 0; color: var(--text-mid);}
.pageMainContent ul li {margin-bottom: 0.4em; line-height: 1.7;}
.pageMainContent img {border-radius: 18px;}

.users_reference {margin: 60px 0 0;}
.users_reference h2 {text-align: center;}
.relatedPages {background: var(--off-white);}
.relatedPages h2 {text-align: center;}

.highlight_1 {padding: 30px; background: var(--off-white); border-left: 3px solid var(--gold);}
.highlight_1 h2:first-child, .highlight_1 h3:first-child, .highlight_1 h4:first-child {margin-top: 0;}
.highlight_2 {padding: 30px; background: var(--navy); color: white;}
.highlight_2 h2:first-child, .highlight_2 h3:first-child, .highlight_2 h4:first-child {margin-top: 0; color: white;}

table {width: 100%; border-collapse: collapse; background: var(--off-white);}
table th {text-align: left; background: var(--navy); color: white;}
table td, table th {padding: 10px 20px; vertical-align: top;}
table tr {border-bottom: 1px solid var(--border-nav); text-align: left;}
table tr:first-child {border-top: 1px solid var(--border-nav);}
table.price td {padding: 18px 20px;}
table.price td:nth-child(2), table.price th:nth-child(2) {text-align: right;}

/* popup / glightbox */
#glightbox-body .gslide-description {position: relative;}
#glightbox-body .gslide-description span.before, #glightbox-body .gslide-description span.after {position: absolute; top: -35px; text-align: center; color: #000000; text-shadow: 0 0 6px white; font-size: 20px; font-weight: bold; z-index: 1;}
#glightbox-body .gslide-description span.before {left: 0; right: 51%;}
#glightbox-body .gslide-description span.after {right: 0; left: 51%;}
.gallery_image {position: relative;}
.gallery_image .watermark {position: absolute; right: 5px; bottom: 20px; font-size: 16px; font-weight: bold; color: #000; text-shadow: 0 0 6px white;}

/* contact forms */
.contact_form, .online_consult_form {position: relative; padding: 40px; background: var(--off-white); border: 1px solid var(--gold); border-radius: 18px;}
.contact_form .form_item .fieldBox {margin-left: 0;}

/* search */
.search_form {margin: 0 0 60px;}
.search_form .form_item {position: relative;}
.search_form input[type=text] {border-radius: 999px; padding-right: 70px;}
.search_form .button {width: auto; font-size: 17px; position: absolute; top: 2px; right: 2px; padding: 7px 25px 3px;}
.search_form .button:before {content: ""; display: inline-block; width: 22px; height: 22px; background: url(../images/icon_magnifier_white.svg) no-repeat;}
.pageSearch h3 {margin-bottom: 0;}
.js_search {margin: 0 0 60px; position: relative;}
.js_search select {width: 100%;}
.js_search input[type=text] {border-radius: 999px; padding-right: 70px;}
.js_search .form_item .button {width: auto; font-size: 17px; position: absolute; top: 2px; right: 2px; padding: 7px 25px 3px;}
.js_search .form_item .button:before {content: ""; display: inline-block; width: 22px; height: 22px; background: url(../images/icon_magnifier_white.svg) no-repeat;}
.ui-menu .ui-menu-item:before {display: none;}

/* pagination */
.pagination {display: block; text-align: center; list-style: none; margin: 25px 0 15px;}
.pagination li {display: inline;}
.pagination a, .pagination a:visited {display: inline-block; padding: 6px 12px; background-color: var(--off-white); border: 1px solid var(--border-nav); border-radius: 999px; text-decoration: none; color: var(--navy); margin: 0 2px; font-size: 13px; transition: background .2s;}
.pagination .active a, .pagination a:hover {background-color: var(--navy); color: white; border-color: var(--navy);}
.pagination span {padding: 0; background: transparent;}

/* responsive design */
@media only screen and (min-width: 992px) {
  .mobile {display: none;}
}

@media only screen and (max-width: 991px) {
  .desktop {display: none;}

  h1 {font-size: 30px;}
  h2 {font-size: 26px;}
  h3 {font-size: 19px;}
  h4 {font-size: 17px;}
  h5 {font-size: 16px;}
  h6 {font-size: 15px;}
  [id] {scroll-margin-top: 35px;}

  .header {padding: 10px 0;}
  .header .logo {margin: 10px 0; width: 120px;}

  .main_menu_button {display: inline-block; padding: 8px 10px; line-height: 1em; color: var(--navy); text-align: center; position: absolute; top: 0; right: 7px; text-decoration: none; color: var(--gold) !important; font-weight: bold; font-size: 14px;}
  .main_menu_button:after {display: inline-block; content: ""; width: 30px; height: 30px; background: url(../images/icon_menu.svg) no-repeat center; background-size: contain; vertical-align: middle; margin-left: 10px;}
  .main_menu_button.open:after {background-image: url(../images/icon_close.svg); color: var(--navy); position: relative; top: 0px; width: 30px; line-height: 24px;}

  .main_menu {margin-left: 0; margin-right: 0; background: white; z-index: 1000; padding: 10px 30px 30px; box-sizing: border-box; display: none; overflow-y: auto;}
  .main_menu.open {display: block;}
  .main_menu ul {display: block; padding: 0; text-align: left; position: static; right: auto;}
  .main_menu li {display: block; margin: 0; border-bottom: 1px solid var(--border-nav);}
  .main_menu li:last-child {border-bottom: none;}
  .main_menu li a {display: block; padding: 18px 0; font-size: 18px; color: var(--navy); font-weight: 400; border-bottom: 1px solid var(--gold);}
  .main_menu li.active > a, .main_menu li a:hover {color: var(--gold);}
  .main_menu ul ul, .sub_menu ul ul {position: static; border: none; width: 100%; margin: 0; box-shadow: none; box-sizing: border-box; border-top: none; padding: 10px 0; display: none;}
  .main_menu ul ul.open {display: block;}
  .main_menu ul ul ul {padding: 0 0 0 15px; width: calc(100% + 30px);}
  .main_menu ul ul li a {font-size: 15px; padding: 10px 15px;}
  .main_menu li.has_submenu {padding-right: 0; position: relative;}
  .main_menu a span {width: 44px; height: 44px; position: absolute; top: 8px; right: 0; text-align: center; line-height: 44px; transform: none; cursor: pointer; background: url(../images/icon_chevron_down.svg) center no-repeat; background-size: 15px; transition: transform .2s, margin .2s;}
  .main_menu li.open > a span {transform: rotate(180deg);}
  .main_menu a span:after {display: none;}
  .main_menu .has_submenu a span, .main_menu ul ul .has_submenu a span {display: inline-block;}
  .main_menu ul.wide_popup_submenu {width: auto;}
  .main_menu li.border:before {display: none;}

  .sub_menu {}
  .sub_menu li {margin-left: 0;}

  .header .header_right_top {margin: 0 0 10px; font-size: 0; display: flex; gap: 3px; flex-wrap: nowrap; justify-content: flex-end;}
  .header .header_right_top .button {display: inline-block; width: auto; flex: 1; box-sizing: border-box; text-align: center; margin: 0; padding: 10px 0; font-size: 14px; font-weight: bold; background-image: none; border-radius: 999px;}
  .header .header_right_top .button:nth-of-type(2) {margin: 0;}
  .header_right_top_sticky {display: flex; gap: 3px; flex-wrap: nowrap; width: 100%; padding: 2px 0;}
  .header_right_top_sticky.sticky_element {padding: 4px 15px; background: white; box-shadow: 0 2px 8px rgba(0,0,0,0.05);}

  .page_header {padding: 0 0 20px; height: auto; border-bottom: none;}
  .page_header h1 {margin: 0 0 0.5em; font-size: 39px;}
  .page_header h3 {font-size: 15px; margin-top: 10px; margin-bottom: 15px; line-height: 1.5;}
  .page_header .image_cover {position: relative; width: calc(100% - 30px); height: auto; margin: 0 15px 20px; left: auto; right: auto; top: auto; bottom: auto; border-radius: 12px;}
  .page_header .image_cover img {width: 100%; height: auto; border-radius: 12px;}
  .page_header .mobile img {width: 100%; border-radius: 12px; margin-bottom: 20px;}
  .breadcrumbs {display: none;}

  .home_visual {height: auto; margin: 0; min-height: auto; margin: 0 0 40px;}
  .home_visual .slide {height: auto; min-height: auto;}
  .home_visual .image_cover, .home_visual .nav_cont {position: relative; left: auto; right: 0; top: auto; bottom: auto; width: calc(100% - 150px); aspect-ratio: .9; margin: 0 15px 20px 135px; border-radius: 18px;}
  .home_visual .image_cover img {object-position: top right;}
  .home_visual .text {position: relative; padding: 0 0 20px;}
  .home_visual h1 {width: auto; font-size: 33px; margin-bottom: 16px;}
  .home_visual p {font-size: 14px; margin-bottom: 20px;}
  .home_visual .slide .text {position: relative; left: auto; right: auto; bottom: auto; z-index: 1;}
  .home_visual .image_cover:after {content: none;}
  .nav.prev, .nav.next {opacity: 1;}
  .home_visual .nav_icons {display: none;}
  .home_visual .nav.prev, .home_visual .nav.next {bottom: 10px; left: -120px;}
  .home_visual .nav.next {left: -75px;}

  .home_benefits {padding: 20px 0;}
  .home_benefits h2 {font-size: 33px; margin: 0 0 30px;}
  .home_benefits .col-md-3 {margin-bottom: 20px;}
  .home_benefits .icon {float: left; margin: 5px 15px 10px 0;}

  .home_specialization h2 {font-size: 39px; margin: 0 0 40px;}
  .home_specialization h3 {font-size: 33px; margin-top: 0;}
  .home_specialization .item {min-height: auto;}

  .home_about {margin: 0 0 40px;}
  .home_about h2 {font-size: 26px; text-align: left; margin: 0 0 7px;}
  .home_visual h2 span {color: var(--navy);}

  /* reference slider */
  .home_reference_slider {padding: 0 0 60px; font-size: 14px;}
  .home_reference_slider h2 {margin: 0 0 24px;}
  .home_reference_slider .slide {opacity: 1;}
  .home_reference_slider .slide.active {opacity: 1;}
  .home_reference_slider .prev, .home_reference_slider .next {width: 34px; height: 34px;}
  .home_reference_slider .more_all {position: relative; top: 60px; margin: 0;}
  .home_reference_slider > .box > div {padding-bottom: 100px;}


  .page {padding-top: 20px; padding-bottom: 20px;}
  .pageListTop h3 {min-height: 0;}
  .pageListTop .pageListItem {min-height: auto;;}
  .pageListTop .pageListItem h3 {min-height: 0;}
  .pageListTop .pageListItem .perex {min-width: 0; min-height: auto;}

  .sidebar {margin-top: 30px;}
  .sidebar_box {padding: 24px 20px;}

  .faq {padding: 40px 0;}
  .faq h2 {text-align: center; font-size: 24px; margin-bottom: 24px;}

  .footer_1 {padding: 40px 0 20px;}
  .footer_1 h3 {margin: 20px 0 14px !important;}
  .footer_1 .footer-brand {margin: 40px 0 0;}

  #cboxTitle {position: static !important; width: 100%; background-color: black !important;}
  #colorbox, #cboxWrapper, #cboxContent, #cboxLoadedContent {max-width: 100% !important;}
}

/* tigris cms */
.icon16 {display: inline-block; width: 20px; height: 20px; margin: 0; background-position: center; background-repeat: no-repeat;}
a.icon16:hover {background-color: #F5F5F5; border-radius: 3px;}
.fa.icon16 {font-size: 18px; color: var(--navy); text-decoration: none;}
.fa.icon16.yellow {color: var(--gold);}
.block_info .icon16, .page_info .icon16 {margin-right: 4px; float: left;}
.clearfix:before, .clearfix:after {display: table; content: " ";}
.clearfix:after {clear: both;}