/* ===--- Resets---=== */
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
font,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
hr,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
meter,
nav,
object,
ol,
output,
p,
pre,
progress,
q,
rp,
rt,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video,
xmp {
    border: 0;
    margin: 0;
    padding: 0;
    font-size: 100%;
}
html {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    font-size: 62.5%;
}
html,
body {
    height: 100%;
}
body {
    min-height: 100svh;
    background: var(--color-bg);
    color: var(--font-color-body);
    font-family: var(--font-body);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-body);
    line-height: var(--font-lh-body);
    font-style: normal;
    font-optical-sizing: auto;
    padding: 0;
    margin: 0;
    overflow-x: hidden !important;
    width: 100%;
    text-shadow: none;
    -webkit-text-size-adjust: none;
}
#page {
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
b,
strong {
  font-weight: bold;
}
img {
  color: transparent;
  font-size: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}
li {
  display: list-item;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th,
td,
caption {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
}
q {
  quotes: none;
}
q:before,
q:after {
  content: "";
  content: none;
}
sub,
sup,
small {
  font-size: 75%;
}
sub,
sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
svg {
  overflow: hidden;
}
pre {
  white-space: pre-wrap;
  white-space: -moz-pre-wrap !important;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  word-wrap: break-word;
  width: 100%;
}
input[name="hp_comment_verification"] {
  position: absolute !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}
mark {
  background: var(--color-main);
  color: white;
}
/* ===--- Generic Tags ---=== */
*,
*:before,
*:after {
  box-sizing: border-box;
  font-size: 100%;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}
::-moz-selection {
  background: hsla(0 0% 0% / 0.72);
  color: white;
}
::selection {
  background: hsla(0 0% 0% / 0.72);
  color: white;
}
hr {
  border: none;
  border-top-width: var(--border-hr-width);
  border-top-color: var(--color-border);
  border-top-style: solid;
  margin: var(--hr-margin) auto;
}
.light hr{
  border-top-color: var(--color-border-light);
}
.dark hr{
  border-top-color: var(--color-border-dark);
}
.main hr{
  border-top-color: var(--color-border-main);
}
a {
  color: var(--font-color-body);
}
a:hover {
  color: var(--font-color-body);
  text-decoration: none;
}
.dark a {
  color: var(--font-color-body-dark);
}
.dark a:hover {
  color: var(--font-color-body-dark);
  text-decoration: none;
}
.main a {
  color: var(--font-color-body-main);
}
.main a:hover {
  color: var(--font-color-body-main);
  text-decoration: none;
}
a[href^="x-apple-data-detectors:"] {
  color: inherit;
  text-decoration: inherit;
}
.clear {
  clear: both;
}
/* ===--- Typography ---=== */
body,
p,
ol li,
ul li,
pre,
input,
textarea,
select {
  font-family: var(--font-body);
  line-height: var(--font-lh-body);
  margin: var(--font-margin-body);
  color: var(--font-color-body);
  font-weight: var(--font-weight-body);
  text-transform: var(--font-transform-body);
  letter-spacing: var(--font-ls-body);
  font-size: var(--font-size-body);
}
.light body,
.light p,
.light ol li,
.light ul li,
.light pre,
.light input,
.light textarea,
.light select {
  color: var(--font-color-body-light);
}
.dark body,
.dark p,
.dark ol li,
.dark ul li,
.dark pre,
.dark input,
.dark textarea,
.dark select {
  color: var(--font-color-body-dark);
}
.main body,
.main p,
.main ol li,
.main ul li,
.main pre,
.main input,
.main textarea,
.main select {
  color: var(--font-color-body-main);
}
.h0,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4 {
  font-family: var(--font-heading);
  line-height: var(--font-lh-heading);
  margin: var(--font-margin-heading);
  color: var(--font-color-heading);
  font-weight: var(--font-weight-heading);
  text-transform: var(--font-transform-heading);
  letter-spacing: var(--font-ls-heading);
}
.light .h0,
.light h1,
.light .h1,
.light h2,
.light .h2,
.light h3,
.light .h3,
.light h4,
.light .h4{
  color: var(--font-color-heading-light);
}
.dark .h0,
.dark h1,
.dark .h1,
.dark h2,
.dark .h2,
.dark h3,
.dark .h3,
.dark h4,
.dark .h4{
  color: var(--font-color-heading-dark);
}
.main .h0,
.main h1,
.main .h1,
.main h2,
.main .h2,
.main h3,
.main .h3,
.main h4,
.main .h4{
  color: var(--font-color-heading-main);
}
h5,
.h5,
h6,
.h6 {
  font-family: var(--font-accent);
  line-height: var(--font-lh-accent);
  margin: var(--font-margin-accent);
  color: var(--font-color-accent);
  font-weight: var(--font-weight-accent);
  text-transform: var(--font-transform-accent);
  letter-spacing: var(--font-ls-accent);
}
.light h5,
.light .h5,
.light h6,
.light .h6 {
  color: var(--font-color-accent-light);
}
.dark h5,
.dark .h5,
.dark h6,
.dark .h6 {
  color: var(--font-color-accent-dark);
}
.main h5,
.main .h5,
.main h6,
.main .h6 {
  color: var(--font-color-accent-main);
}
.h0{
  font-size: var(--font-size-h0);
}
h1,
.h1 {
  font-size: var(--font-size-h1);
}
h2,
.h2 {
  font-size: var(--font-size-h2);
}
h3,
.h3 {
  font-size: var(--font-size-h3);
}
h4,
.h4 {
  font-size: var(--font-size-h4);
}
h5,
.h5 {
  font-size: var(--font-size-h5);
}
h6,
.h6 {
  font-size: var(--font-size-h6);
}
p,
pre{
  margin: var(--font-margin-body);
}
ul {
  list-style: disc outside none;
  margin: 0 0 1.2rem 2rem;
}
ul li {
  padding: 0;
  margin: 0 0 .8rem;
}
ol{
  list-style: decimal outside none;
  margin: 0 0 1.2rem 2rem;
}
ol li {
  padding: 0;
  margin: 0 0 .8rem;
}
/* ===--- Section Spacing ---=== */
section.content_container{
    width: 100%;
    background: var(--color-bg);
    padding: var(--section-block-md) var(--section-inline);
}
section.content_container.light{
    background: var(--color-bg-light);
}
section.content_container.dark{
    background: var(--color-bg-dark);
}
section.content_container.main{
    background: var(--color-main);
}
section.content_container.spacious{
    padding: var(--section-block-xl) var(--section-inline);
}
section.content_container.relaxed{
    padding: var(--section-block-lg) var(--section-inline);
}
section.content_container.compact{
    padding: var(--section-block-sm) var(--section-inline);
}
.content{
    width: 100%;
    margin: 0 auto;
    max-width: var(--content-width-lg);
}
.content-xl .content{
    max-width: var(--content-width-xl);
}
.content-md .content{
    max-width: var(--content-width-md);
}
.content-sm .content{
    max-width: var(--content-width-sm);
}
.content-xs .content{
    max-width: var(--content-width-xs);
}
/* ===--- Text Alignment ---=== */
.align-left {
  text-align: left;
}
.align-center {
  text-align: center;
}
.align-center img {
  margin-left: auto;
  margin-right: auto;
  max-width: 80%;
}
.align-center figcaption {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.align-right {
  text-align: right;
}
.align-right img {
  margin-left: auto;
}
.align-right figcaption {
  text-align: right;
  margin-left: auto;
}
.align-justify {
  text-align: justify;
}
.float-left {
  float: left;
  margin-right: 1em;
  margin-bottom: 1em;
  max-width: 200px;
}
.float-right {
  float: right;
  margin-left: 1em;
  margin-bottom: 1em;
  max-width: 200px;
}
.valign-top {
  align-items: start;
}
.valign-middle {
  align-items: center;
}
.valign-bottom {
  align-items: end;
}
.outset-right {
  position: relative;
  width: calc(100% + 24px);
  max-width: calc(100% + 24px);
  transform: translateX(24px) translate3d(0, 0, 0);
  left: calc(24px * -1);
}
.outset-left {
  width: calc(100% + 24px);
  max-width: calc(100% + 24px);
  transform: translateX(calc(24px * -1)) translate3d(0, 0, 0);
}
.outset-both {
  position: relative;
  width: calc(100% + 24px + 24px);
  max-width: calc(100% + 24px + 24px);
  transform: translateX(-50%) translate3d(0, 0, 0);
  left: 50%;
}
.center-list {
  justify-content: center;
}
/* ===--- Editable Content  ---=== */
.editable_content::after {
    content: '';
    clear: both;
    display: block;
}
.editable_content > *:last-child {
    margin-bottom: 0;
}
.editable_content ul {
    list-style: disc outside none;
    margin: 0 0 1.6rem 2rem;
}
.editable_content ul li {
    padding: 0;
    margin: 0 0 .8rem;
}
.editable_content ol {
    list-style: decimal outside none;
    margin: 0 0 1.6rem 2rem;
}
.editable_content ol li {
    padding: 0;
    margin: 0 0 .8rem;
}
.editable_content figure {
    display: block;
}
.editable_content figure.float-left {
    float: left;
    margin: .8rem .8rem .8rem 0;
}
.editable_content figure.float-right {
    float: right;
    margin: .8rem 0 .8rem .8rem;
}
.editable_content figure.wrap-center {
    margin: .8rem auto
}
.editable_content iframe,
.editable_content img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}
.editable_content table{
    margin: var(--font-margin-body);
    width: 100%;
    display: table;
    border-left: 2px solid var(--color-bg);
}
.editable_content table tr th,
.editable_content table thead tr td {
    font-weight: var(--font-weight-heading);
    font-family: var(--font-heading);
    color: var(--color-bg-light);
    background: var(--color-bg-dark);
    border: none;
    border-right: 2px solid var(--color-bg);
    border-bottom: 2px solid var(--color-bg);
    padding: .8rem;
}
.editable_content table tr td {
    border-right: 2px solid var(--color-bg);
    border-bottom: 2px solid var(--color-bg);
    background: var(--color-bg-light);
    padding: .8rem;
}
@media screen and (max-width: 1024px) {
  .editable_content figure {
    margin: .8rem 0;
  }
  .editable_content figure.float-left,
  .editable_content figure.float-right {
    float: none;
  }
  .editable_content figure.wrap-center {
    margin: .8rem auto;
  }
  .editable_content table thead{
    display: none;
  }
  .editable_content table tbody tr td::before {
    content: attr(data-cell)':';
    font-weight: var(--font-weight-heading);
    font-family: var(--font-heading);
    color: var(--color-font-heading);
    margin: 0 .4rem 0 0;   
  }
  .editable_content table tbody{
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
  .editable_content table tbody tr{
    display: flex;
    flex-direction: column;
    gap: .2rem;
  }
  .editable_content table tbody tr td{
    width: 100%;
  }
}
@media screen and (max-width: 560px){
  .editable_content table tbody tr td::before{
    display: block;
  }
}
.light .editable_content table{
    border-left: 2px solid var(--color-bg-light);
}
.light .editable_content table tr th,
.light .editable_content table thead tr td {
    color: var(--color-bg);
    border-right: 2px solid var(--color-bg-light);
    border-bottom: 2px solid var(--color-bg-light);
}
.light .editable_content table tr td {
    border-right: 2px solid var(--color-bg-light);
    border-bottom: 2px solid var(--color-bg-light);
    background: var(--color-bg);
}
.dark .editable_content table{
    border-left: 2px solid var(--color-bg-dark);
}
.dark .editable_content table tr th,
.dark .editable_content table thead tr td {
    background: var(--color-bg);
    color: var(--font-color-heading);
    border-right: 2px solid var(--color-bg-dark);
    border-bottom: 2px solid var(--color-bg-dark);
}
.dark .editable_content table tr td {
    border-right: 2px solid var(--color-bg-dark);
    border-bottom: 2px solid var(--color-bg-dark);
    background: var(--color-border-dark);
    color: var(--font-color-body-dark);
}
.main .editable_content table{
    border-left: 2px solid var(--color-main);
}
.main .editable_content table tr th,
.main .editable_content table thead tr td {
    background: var(--color-bg);
    color: var(--font-color-heading);
    border-right: 2px solid var(--color-main);
    border-bottom: 2px solid var(--color-main);
}
.main .editable_content table tr td {
    border-right: 2px solid var(--color-main);
    border-bottom: 2px solid var(--color-main);
    background: var(--color-border-main);
    color: var(--font-color-body-main);
}
/* ===--- Top Header ---=== */
.top-header {
  background: var(--color-bg-light);
  padding: .8rem var(--section-inline);
}
.top-header .content {
  display: flex;
  justify-content: flex-end;
  gap: 1.6rem;
  align-items: center;
}
.top-header .content .language {
  font-size: 1.4rem;
  line-height: 1;
  display: flex;
  gap: .8rem;
  margin-right: auto;
}
.top-header .content .language span {
  display: block;
}
.top-header .content .language span:first-of-type {
  padding-right: .8rem;
  border-right: 2px solid var(--color-border-light);
}
.top-header .content>ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.6rem;
}
.top-header .content>ul li {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1;
}
.top-header .content>ul li a:hover {
  color: var(--color-main);
}
.top-header .content .social_media ul {
  gap: .8rem;
  margin: 0;
  padding: 0;
}
.top-header .content .social_media ul li {
  margin: 0;
  padding: 0;
}
.top-header .content .social_media ul li a {
  width: 2.8rem;
  height: 2.8rem;
  background: var(--color-body);
  color: var(--color-bg-light);
}
.top-header .content .social_media ul li a:hover {
  background: var(--color-main);
}
.top-header .content .social_media ul li a i {
  font-size: 1.2rem;
}
@media screen and (max-width: 1024px) {
  .top-header {
    display: none;
  }
}
/* ===--- Full Header ---=== */
.full_header {
  display: none;
  background: var(--color-bg);
  width: 100%;
  z-index: 999;
  top: 0;
  position: sticky;
  padding: 0 var(--section-inline);
  box-shadow: var(--shadow);
}
.jqueryslidemenu {
  width: 100%;
  max-width: var(--content-width-md);
  padding: 0;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.jqueryslidemenu a.logo {
  width: var(--logo-width);
  display: block;
  margin: 0;
  padding: 0;
}
.jqueryslidemenu a.logo img {
  width: 100%;
  height: auto;
}
.jqueryslidemenu nav {
  width: calc(100% - var(--logo-width) - 32px);
}
.jqueryslidemenu ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.jqueryslidemenu ul li {
  position: relative;
  margin: 0;
  padding: 0;
}
.jqueryslidemenu ul li a {
  padding: var(--header-nav-padding);
  font-weight: var(--header-nav-weight);
  font-family: var(--header-nav-family);
  color: var(--header-nav-color);
  font-size: var(--header-nav-size);
  width: 100%;
  display: block;
  line-height: 1;
  text-decoration: none;
  position: relative;
}
.jqueryslidemenu ul li a:hover,
.jqueryslidemenu ul li:hover a,
.jqueryslidemenu ul li.Selected a,
.jqueryslidemenu ul li:has(ul li.Selected) a,
.jqueryslidemenu ul li.Selected a:hover {
  color: var(--header-nav-color-hover);
}
.jqueryslidemenu ul li a::after {
  content: "";
  display: var(--header-nav-after-active);
  background: var(--header-nav-after-bg);
  width: 0;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
  transition: var(--animate-medium);
}
.jqueryslidemenu ul li a:hover::after,
.jqueryslidemenu ul li:hover a::after,
.jqueryslidemenu ul li.Selected a::after,
.jqueryslidemenu ul li:has(ul li.Selected) a::after,
.jqueryslidemenu ul li.Selected a:hover::after {
  width: 100%;
}
/* ----- FIRST DROP-DOWN LAYER ----- */
.jqueryslidemenu ul li ul {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  position: absolute;
  left: 0;
  display: block;
  visibility: hidden;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: none;
  width: 256px;
  background: var(--header-dropdown-bg);
}
.jqueryslidemenu nav > ul > li:last-child ul{
  left: auto;
  right: 0;
}
.jqueryslidemenu ul li ul li {
  display: list-item;
  float: none;
  border: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  margin: 0;
  padding: 0;
}
.jqueryslidemenu ul li ul li a {
  color: var(--header-dropdown-color);
  padding: 1.6rem;
  margin: 0;
  background: none;
}
.jqueryslidemenu ul li ul li a::after {
  display: none;
}
.jqueryslidemenu ul li:hover ul {
  visibility: visible;
}
.jqueryslidemenu ul li:hover ul li a {
  color: var(--header-dropdown-color);
  padding: 1.6rem;
  margin: 0;
  background: none;
}
.jqueryslidemenu ul li.Selected ul li a:hover,
.jqueryslidemenu ul li ul li a:hover {
  color: var(--header-dropdown-color);
  text-decoration: none;
  background: var(--header-dropdown-hover);
}
/* ----- SUB DROP-DOWN LAYERS AFTER 1ST ----- */
.jqueryslidemenu nav ul li ul li ul {
  top: 0;
  margin: 0;
  left: auto;
  right: 100%;
  display: none;
}
.jqueryslidemenu nav > ul > li:last-child ul li ul{
  left: auto;
  right: 100%;
}
.jqueryslidemenu ul li ul li:hover ul{
  display: block;
}
@media (min-width:1024px) {
  .full_header {
    display: inherit;
  }
}
/* ----- Cart Button ----- */
.jqueryslidemenu a.cart_button {
  position: absolute;
  bottom: -44px;
  right: 0;
  background: var(--color-main);
  color: var(--color-bg);
  padding: .8rem 1.6rem;
  border-radius: 0 0 .4rem .4rem;
  font-size: 2rem;
  text-decoration: none;
  transition: var(--animate-medium);
}
.jqueryslidemenu a.cart_button:hover {
  background: var(--color-bg-dark);
}
.jqueryslidemenu a.cart_button span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-9px, calc(-50% + 3px));
  width: 18px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1;
  color: var(--color-main);
  background: var(--color-bg);
  transition: var(--animate-medium);
}
.jqueryslidemenu a.cart_button:hover span {
  color: var(--color-bg-dark);
}
/* ----- Mega Menu ----- */
header.mega-menu .jqueryslidemenu ul li:hover ul li ul,
header.mega-menu .jqueryslidemenu ul li:hover ul li ul li ul{
  visibility: visible;
  display: block;
}
header.mega-menu .jqueryslidemenu ul li:hover ul li ul,
header.mega-menu .jqueryslidemenu ul li:hover ul li ul li ul{
  position: initial;
}
header.mega-menu .jqueryslidemenu nav > ul > li{
  position: initial;
}
header.mega-menu .jqueryslidemenu nav > ul > li > ul{
  padding: .8rem 1.6rem;
  width: 100%;
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
header.mega-menu .jqueryslidemenu nav > ul > li > ul > li{
  width: calc(100% / 4 - calc(1.6rem * 3 / 4));
}
header.mega-menu .jqueryslidemenu nav > ul > li > ul > li > a{
  font-size: 1.6rem;
  line-height: 1.1;
  padding: .8rem 0;
  border-bottom: 1px solid hsla(0 0% 100% / .16);
}
header.mega-menu .jqueryslidemenu ul li ul li{
  position: initial;
}
header.mega-menu .jqueryslidemenu ul li ul li a{
  padding: 0;
}
header.mega-menu .jqueryslidemenu ul li ul li a:hover{
  background: none;
  color: hsla(0 0% 100% / .72);
}
header.mega-menu .jqueryslidemenu ul li ul li ul{
  width: 100%;
}
header.mega-menu .jqueryslidemenu ul li ul li ul li{
  padding:0;
}
header.mega-menu .jqueryslidemenu ul li ul li ul li a{
  padding: .8rem 0;
  font-size: 1.4rem;
  font-weight: 400;
}
header.mega-menu .jqueryslidemenu ul li ul li ul li ul{
  width: 100%;
}
/* ---------- 6. Mobile Header & Navigation ---------- */
.mobile_header {
  background: var(--color-bg);
  box-shadow: var(--shadow);
  padding: .8rem var(--section-inline);
  width: 100%;
  z-index: 999;
  position: sticky;
  display: inherit;
  top: 0;
}
@media (min-width: 1024px) {
  .mobile_header {
    display: none;
  }
}
.mobile_header .logo_area {
  padding: 0;
  width: 100%;
  display: flex;
  justify-content: center;
}
.mobile_header .logo_area>a {
  width: var(--logo-width-mobile);
  display: block;
  margin: 0 auto;
}
.mobile_header .logo_area img {
  width: 100%;
  height: auto;
}
.mobile_header a.menu-btn,
.mobile_header a.cart_link {
  color: var(--color-body);
  left: 2.4rem;
  position: absolute;
  text-decoration: none;
  top: 50%;
  transform: translate(0, -50%);
  font-size: 2.4rem;
}
.mobile_header a.cart_link {
  left: auto;
  right: .8rem;
}
#menu .mm-list a {
  color: var(--header-mobile-nav-color);
  font-family: var(--header-nav-family);
  padding: 1.6rem;
  font-size: var(--header-nav-size);
  line-height: 1;
  font-weight: var(--header-nav-weight);
  text-decoration: none;
  display: block;
  text-transform: none;
}
.mm-ismenu {
  background: var(--header-mobile-nav-bg);
}
.mm-menu {
  color: hsl(0 0% 100%);
}
.mm-menu .mm-list>li:after {
  border-color: rgba(0, 0, 0, 0.15);
}
.mm-menu .mm-list>li>a.mm-subclose {
  background: rgba(0, 0, 0, 0.1);
  color: rgba(255, 255, 255, 0.3);
}
.mm-menu .mm-list>li>a.mm-subopen:after,
.mm-menu .mm-list>li>a.mm-subclose:before {
  border-color: #fff;
}
.mm-menu .mm-list>li>a.mm-subopen:before {
  border-color: rgba(0, 0, 0, 0.15);
}
.mm-menu .mm-list>li.mm-selected>a:not(.mm-subopen),
.mm-menu .mm-list>li.mm-selected>span {
  background: rgba(0, 0, 0, 0.1);
}
.mm-menu .mm-list li.mm-label {
  background: rgba(255, 255, 255, 0.05);
}
.mm-menu.mm-vertical .mm-list li.mm-opened>a.mm-subopen,
.mm-menu.mm-vertical .mm-list li.mm-opened>ul {
  background: rgba(255, 255, 255, 0.05);
}
/* ---------- 7. Footer ---------- */
footer {
  background: var(--footer-bg);
  margin-top: auto;
  padding: 3.2rem var(--section-inline) 1.6rem;
}
footer .content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.6rem 3.2rem;
}
footer a.logo {
  width: 17rem;
  display: block;
}
footer a.logo img {
  width: 100%;
  height: auto;
}
footer .h4 {
  color: var(--footer-heading-color);
  font-size: var(--footer-heading-size);
  line-height: 1;
  margin: 0 0 .8rem;
}
footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
footer ul li,
footer ul li a {
  margin: 0;
  padding: 0;
  color: var(--footer-body-color);
  font-size: var(--footer-body-size);
}
footer ul li a {
  text-decoration: none;
}
footer ul li a:hover {
  color: var(--footer-body-color-hover);
}
footer .sitemap {
  width: 32rem;
}
footer .sitemap ul {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.6rem;
}
footer .sitemap ul li {
  width: calc(50% - (1.6rem * 2 / 3));
}
footer .footer-contact,
footer .footer-social {
  width: auto;
}
footer .social_media ul {
  gap: calc(1.6rem / 2);
  justify-content: flex-start;
}
footer .social_media ul li a {
  width: 2.8rem;
  height: 2.8rem;
}
footer .social_media ul li a {
  background: var(--footer-social-bg);
  color: var(--footer-social-color);
}
footer .social_media ul li a:hover {
  background: var(--footer-social-bg-hover);
  color:  var(--footer-social-color-hover);
}
footer .social_media ul li a i {
  font-size: 1.6rem;
}
footer p.signature {
  width: 100%;
  text-align: center;
  color: var(--footer-body-color);
  font-size: var(--footer-signature-size);
  line-height: 1.2;
  padding-top: 1.6rem;
  border-top: 2px solid hsla(0 0% 100% / .08);
  margin: 0;
}
footer p.signature a {
  color: var(--footer-body-color);
  text-decoration: none;
}
footer p.signature a:hover {
  color: var(--footer-body-color-hover);
}
footer .brand-wrapper{
  width: 24rem;
}
footer .brand-wrapper p{
    margin: 3.2rem 0 0;
    padding: 0;
    color: var(--footer-body-color);
    font-size: var(--footer-body-size);
    line-height: 1.4;
}
footer .footer-social{
  min-width: 22rem;
}
footer .footer-social > ul{
  padding: 0 0 2.4rem;
  margin: 0 0 2.4rem;
  border-bottom: 2px solid hsla(0 0% 100% / .08);
}
footer .content .footer-social .button{
  margin-top: 0;
    font-size: var(--footer-body-size);
}
footer .content .footer-social .button:hover{
  color: var(--color-ink);
  background: white;
}
footer .content .signature-strip{
  grid-column: span 4;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-top: 1.6rem;
  border-top: 2px solid hsla(0 0% 100% / .08);
  margin: 0;
}
footer .content .signature-strip ul{
  display: flex;
  gap: 1.6rem;
  align-items: center;
  margin: 0;
  padding: 0;
}
footer .content .signature-strip ul li{
  margin: 0;
  padding: 0;
}
footer .content .signature-strip ul li a{
  font-size: var(--footer-signature-size);
  line-height: 1.2;
}
footer .content .signature-strip p.signature{
  padding: 0;
  border: none;
  width: auto;
}
/* Vertical Footer */
footer.vertical-footer .content{
  flex-direction: column;
  gap: 2.4rem;
  align-items: center;
}
footer.vertical-footer .sitemap,
footer.vertical-footer .footer-contact,
footer.vertical-footer .footer-social{
  width: 100%;
  padding-top: 2.4rem;
  border-top: 2px solid hsla(0 0% 100% / .08);
}
footer.vertical-footer .sitemap ul{
  justify-content: space-around;
}
footer.vertical-footer .sitemap ul li{
  width: auto;
}
footer.vertical-footer .footer-contact ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
footer.vertical-footer .footer-contact li{
  text-align: center;
  width: 33.3333%;
}
footer.vertical-footer .footer-contact strong{
  display: block;
}
footer.vertical-footer .h4{
  text-align: center;
  margin: 0 0 1.2rem;
}
footer.vertical-footer .social_media ul{
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  footer{
    padding: 2.4rem 2.4rem 1.6rem;
  }
  footer .content {
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    text-align: center;
  }
  footer .footer-social,
  footer .footer-contact,
  footer .sitemap,
  footer .sitemap ul li {
    width: 100%;
  }
  footer .social_media ul {
    justify-content: center;
  }
  footer.vertical-footer .footer-contact li,
  footer.vertical-footer .sitemap ul li{
    width: 100%;
  }
  footer.vertical-footer .footer-contact ul,
  footer.vertical-footer .sitemap ul{
    gap: 1.2rem;
  }
}
/* ---=== Text Link ===--- */
.button.text-link {
    line-height: 1;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    transition: var(--animate-medium);
    background: none;
    border: none;
    color: var(--font-color-heading);
    padding: 0 0 .8rem;
    height: auto;
    transform: none !important;
    font-size: 1.4rem;
    position: relative;
}
.button.text-link:hover {
    color: var(--color-main);
    background: none;
    box-shadow: none;
    gap: .8rem;
}
.button.text-link::before {
    content: '';
    position: absolute;
    width: 0;
    height: .1rem;
    background: var(--color-main);
    left: 0;
    bottom: 0;
    transition: var(--animate-medium);
}
.button.text-link:hover::before {
    width: 100%;
}
.button.text-link::after{
  font-family: "Font Awesome 7 Pro", "Font Awesome 5 Pro", "FontAwesome";
  font-weight: 600;
  content: "\f061";
  font-size: 1.2rem;
  margin-left: .8rem;
  transition: transform .3s ease;
}
/* ===--- Hero Styles ---=== */
.banner-container-constrained{
  position: relative;
  height: var(--hero-height);
  background: var(--color-bg);
}
.banner-container-constrained.colour{
  background: var(--color-main);
}
.banner-container-constrained.dark{
  background: var(--color-bg-dark);
}
.banner-container-constrained.light{
  background: var(--color-bg-light);
}
ul.ms-banner-constrained{
  display: inline-flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin: 0;
}
ul.ms-banner-constrained li{
  list-style: none;
  width: 100%;
  flex-shrink: 0;
  position: relative;
  margin: 0;
  opacity: 0;
}
.banner-container-constrained li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background: var(--color-bg);
  opacity: var(--hero-overlay-opacity);
}
.banner-container-constrained.light li:after{
  background: var(--color-bg-light);
}
.banner-container-constrained.dark li:after{
  background: var(--color-bg-dark);
}
.banner-container-constrained.colour li:after{
  background: var(--color-main);
}
.banner-container-constrained .img-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.banner-container-constrained .img-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.banner-container-constrained .banner-details{
  position: absolute;
  width: 100%;
  max-width: 126.4rem;
  padding-inline: 3.2rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.banner-container-constrained .banner-left .banner-details{
  justify-content: flex-start;
  text-align: left;
}
.banner-container-constrained .banner-right .banner-details{
  justify-content: flex-end;
  text-align: right;
}
.banner-container-constrained .banner-content{
  width: 100%;
  max-width: 72rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.banner-container-constrained .banner-left .banner-content{
  align-items: flex-start;
}
.banner-container-constrained .banner-right .banner-content{
  align-items: flex-end;
}
.banner-container-constrained .h6{
  margin: 0;
}
.banner-container-constrained .h0{
  margin: 0 0 2.4rem;
}
.banner-container-constrained p{
  margin: 0 0 3.2rem;
  max-width: 42rem;
  width: 100%;
}
.banner-container-constrained .button{
  margin: 0;
}
.banner-container-constrained.banner-bar li:after {
  display: none;
}
.banner-container-constrained.banner-bar .img-wrapper{
  width: 60%;
  left: 40%;
}
.banner-container-constrained.banner-bar .banner-right .img-wrapper{
  left: 0%;
}
.banner-container-constrained.banner-bar .img-wrapper:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background: var(--color-bg);
  opacity: var(--hero-overlay-opacity);
}
.banner-container-constrained.banner-bar.light .img-wrapper:after{
  background: var(--color-bg-light);
}
.banner-container-constrained.banner-bar.colour .img-wrapper:after{
  background: var(--color-main);
}
.banner-container-constrained.banner-bar.dark .img-wrapper:after{
  background: var(--color-bg-dark);
}
.banner-container-constrained.banner-bar .banner-details{
  justify-content: flex-start;
  text-align: left;
}
.banner-container-constrained.banner-bar .banner-right .banner-details {
  justify-content: flex-end;
  text-align: right;
}
.banner-container-constrained.banner-bar .banner-content{
  align-items: flex-start;
  max-width: 100%;
}
.banner-container-constrained.banner-bar .banner-right .banner-content{
  align-items: flex-end;
}
.banner-container-constrained.banner-bar .h6,
.banner-container-constrained.banner-bar .h0{
  max-width: 72rem;
}
.banner-container-constrained.banner-bar p{
  max-width: 100%;
  width: 40%;
  padding-right: 4rem;
}
.banner-container-constrained.banner-bar .banner-right p{
  padding-inline: 4rem 0;
}
.banner-container-constrained.banner-bar.banner-trans-bar .img-wrapper {
  width: 100%;
  left: 0;
}
.banner-container-constrained.banner-bar.banner-trans-bar .img-wrapper:before{
  content: "";
  position: absolute;
  width: 40%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background: var(--color-bg);
  opacity: var(--hero-overlay-opacity);
}
.banner-container-constrained.banner-bar.banner-trans-bar.light .img-wrapper:before{
  background: var(--color-bg-light);
}
.banner-container-constrained.banner-bar.banner-trans-bar.colour .img-wrapper:before{
  background: var(--color-main);
}
.banner-container-constrained.banner-bar.banner-trans-bar.dark .img-wrapper:before{
  background: var(--color-bg-dark);
}
.banner-container-constrained.banner-bar.banner-trans-bar .banner-right .img-wrapper:before{
  left: auto;
  right: 0;
}
.banner-container-constrained.banner-box-content li:after{
  display: none;
}
.banner-container-constrained.banner-box-content .banner-content{
  max-width: 102.4rem;
  padding: 3.2rem;
  position: relative;
  z-index: 1;
}
.banner-container-constrained.banner-box-content .banner-content::after{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background: var(--color-bg);
  opacity: var(--hero-overlay-opacity);
}
.banner-container-constrained.banner-box-content.light .banner-content::after{
  background: var(--color-bg-light);
}
.banner-container-constrained.banner-box-content.colour .banner-content::after{
  background: var(--color-main);
}
.banner-container-constrained.banner-box-content.dark .banner-content::after{
  background: var(--color-bg-dark);
}
.banner-container-constrained.banner-float li:after{
  display: none;
}
.banner-container-constrained.banner-float .img-wrapper {
  width: 40%;
  max-width: 48rem;
  height: calc(100% - 6.4rem);
  position: absolute;
  top: 3.2rem;
  left: 60%;
  z-index: 0;
}
.banner-container-constrained.banner-float .banner-right .img-wrapper{
  left: auto;
  right: 60%;
}
.banner-container-constrained.banner-float .banner-details{
  justify-content: flex-start;
  text-align: left;
}
.banner-container-constrained.banner-float .banner-right .banner-details {
  justify-content: flex-end;
  text-align: right;
}
.banner-container-constrained.banner-float .banner-content{
  width: 60%;
  padding-right: 8rem;
  align-items: flex-start;
}
.banner-container-constrained.banner-float .banner-right .banner-content {
  align-items: flex-end;
  padding-inline: 8rem 0;
}
.banner-container-constrained .banner-next,
.banner-container-constrained .banner-previous,
.banner-container-constrained .banner-pause {
    top: var(--hero-nav-next-postition-top);
    right: var(--hero-nav-next-postition-right);
    bottom: var(--hero-nav-next-postition-bottom);
    left: var(--hero-nav-next-postition-left);
    border-top: var(--hero-nav-border-top);
    border-right: var(--hero-nav-border-right);
    border-bottom: var(--hero-nav-border-bottom);
    border-left: var(--hero-nav-border-left);
    border-radius: var(--hero-nav-radius);
    background: var(--hero-nav-bg);
    width: var(--hero-nav-width);
    height: var(--hero-nav-height);
    opacity: 0;
    position: absolute;
    display: flex !important;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    transition: var(--animate-medium);
    z-index: 2;
}
.banner-container-constrained .banner-next:hover,
.banner-container-constrained .banner-previous:hover,
.banner-container-constrained .banner-pause:hover{
  background: var(--hero-nav-bg-hover);
}
.banner-container-constrained .banner-previous {
    top: var(--hero-nav-prev-postition-top);
    right: var(--hero-nav-prev-postition-right);
    bottom: var(--hero-nav-prev-postition-bottom);
    left: var(--hero-nav-prev-postition-left);
}
.banner-container-constrained .banner-pause {
    top: var(--hero-nav-pause-postition-top);
    right: var(--hero-nav-pause-postition-right);
    bottom: var(--hero-nav-pause-postition-bottom);
    left: var(--hero-nav-pause-postition-left);
    color: var(--hero-nav-color);
}
.banner-container-constrained.dark .banner-pause,
.banner-container-constrained.colour .banner-pause{
    color: var(--hero-nav-color-hover);
}
.banner-container-constrained:hover .banner-next,
.banner-container-constrained:hover .banner-previous,
.banner-container-constrained:hover .banner-pause {
  opacity: 1;
  cursor: pointer;
}
.banner-container-constrained .banner-next svg,
.banner-container-constrained .banner-previous svg {
  width: auto;
  height: var(--hero-nav-icon-height);
  fill: var(--hero-nav-color);
  transition: var(--animate-medium);
}
.banner-container-constrained.dark .banner-next svg,
.banner-container-constrained.dark .banner-previous svg,
.banner-container-constrained.colour .banner-next svg,
.banner-container-constrained.colour .banner-previous svg{
  fill: var(--hero-nav-color);
}
.banner-container-constrained .banner-next svg {
  transform: rotate(180deg);
}
.banner-container-constrained .banner-next:hover svg,
.banner-container-constrained .banner-previous:hover svg {
  fill: var(--hero-nav-color-hover);
}
.banner-container-constrained.dark .banner-next:hover svg,
.banner-container-constrained.dark .banner-previous:hover svg,
.banner-container-constrained.colour .banner-next:hover svg,
.banner-container-constrained.colour .banner-previous:hover svg {
  fill: var(--hero-nav-color-hover);
}
@media screen and (max-width: 1264px){
  .banner-container-constrained.banner-float .img-wrapper{
    left: auto;
    right: 3.2rem;
    width: calc(40% - 3.2rem);
  }
  .banner-container-constrained.banner-float .banner-right .img-wrapper {
    left: 3.2rem;
    right: auto;
    width: calc(40% - 3.2rem);
  }
}
@media screen and (max-width: 1024px){
  .banner-container-constrained{
    height: auto;
  }
  .banner-container-constrained li::after {
    display: none;
  }
  .banner-container-constrained .img-wrapper {
    position: initial;
    aspect-ratio: 1366 / 768;
    width: 100%;
    height: auto;
  }
  .banner-container-constrained.banner-bar .img-wrapper{
    width: 100%;
    position: relative;
    left: 0;
  }
  .banner-container-constrained .banner-details,
  .banner-container-constrained .banner-left .banner-details,
  .banner-container-constrained .banner-right .banner-details {
    position: initial;
    transform: none;
    padding: 4.8rem 3.2rem;
    justify-content: center;
    text-align: center;
  }
  .banner-container-constrained.banner-bar .banner-right .banner-details,
  .banner-container-constrained.banner-bar .banner-details{
    justify-content: center;
    text-align: center;
    padding-top: 0;
    margin-top: -6.5rem;
    position: relative;
    z-index: 2;
    top: auto;
    left: auto;
  }
  .banner-container-constrained.banner-bar p{
    padding: 0;
  }
  .banner-container-constrained.banner-box-content .banner-content::after,
  .banner-container-constrained.banner-bar.banner-trans-bar .img-wrapper:before{
    display: none;
  }
  .banner-container-constrained .banner-details .banner-content,
  .banner-container-constrained .banner-left .banner-details .banner-content,
  .banner-container-constrained .banner-right .banner-details .banner-content {
    width: 100%;
    align-items: center;
  }
  .banner-container-constrained.banner-float li{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3.2rem;
  }
  .banner-container-constrained.banner-float .banner-right .img-wrapper,
  .banner-container-constrained.banner-float .img-wrapper{
    position: initial;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }
  .banner-container-constrained.banner-float .banner-right .banner-details,
  .banner-container-constrained.banner-float .banner-details{
    justify-content: center;
    text-align: center;
    padding: 3.2rem 0 0;
  }
  .banner-container-constrained.banner-float .banner-right .banner-content,
  .banner-container-constrained.banner-float .banner-content{
    padding: 0;
  }
  .banner-container-constrained .banner-next,
  .banner-container-constrained .banner-previous,
  .banner-container-constrained .banner-pause {
    display: none !important;
  }
}
/* ----- Banner pagination ----- */
.banner_pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  position: absolute;
  bottom: 1rem;
  color: var(--hero-pagination-color);
  z-index: 1;
}
.banner_pagination>div {
  margin: 0 .3rem;
  cursor: pointer;
}
.banner_pagination>div:hover {
  color: var(--hero-pagination-color-hover);
}
.banner_pagination>.active {
  color: var(--hero-pagination-color-active);
}
@media screen and (max-width: 1024px) {
  .banner_pagination {
    display: none;
  }
}
/* ===--- Inner Header ---=== */
.inner_header {
  width: 100%;
  height: var(--inner-header-height);
  min-height: 24rem;
  background: url(/assets/images/layout/inner_header.jpg) center center no-repeat;
  background-size: cover;
}
/* ===--- Forms ---=== */
form{
  /* Row gap + the value the half/third-width calc()s subtract. Without this
     definition var(--form-gap) is invalid, which zeroes the gap AND voids the
     width calc()s — collapsing half/third fields to content width. (admin.css
     already defines its own.) Inherits to form .half_width / .third_width. */
  --form-gap: 1.6rem;
  display: flex;
  gap: var(--form-gap);
  flex-wrap: wrap;
}
fieldset{
  width: 100%;
  border: none;
  margin: 0;
  padding: 0;
  position: relative;
}
label{
  font-size: 1.4rem;
  line-height: 1;
  color: var(--font-color-body);
  opacity: .64;
  position: absolute;
  top: .8rem;
  left: .8rem;
  z-index: 1;
}
textarea,
input{
  background: var(--color-bg);
  border: 2px solid var(--color-border);
  border-radius: .4rem;
  width: 100%;
  padding: 2.8rem .8rem .8rem;
}
textarea:focus,
textarea:focus-within,
textarea:focus-visible,
textarea:target,
input:focus,
input:focus-within,
input:focus-visible,
input:target,
.light textarea:focus,
.light textarea:focus-within,
.light textarea:focus-visible,
.light textarea:target,
.light input:focus,
.light input:focus-within,
.light input:focus-visible,
.light input:target{
  outline: none;
  border-color: var(--color-main);
  box-shadow: var(--shadow);
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--font-color-body) !important;
  background: var(--color-bg) !important;
  color: var(--font-color-body) !important;
  -webkit-box-shadow: 0 0 0px 40rem var(--color-bg) inset !important;
}
.form_holder .message {
  margin: 0 0 1.6rem 0;
}
.form_holder .form_error {
  background: var(--color-danger);
  color: white;
  padding: 1.6rem;
  margin: 0 0 1.6rem;
}
form .form-terms {
  font-size: 1.2rem;
  line-height: 1.1;
  margin: 0;
  width: 100%;
  text-align: left;
  color: var(--font-color-body);
}
.light form .form-terms{
  color: var(--font-color-body-light);
}
.dark form .form-terms{
  color: var(--font-color-body-dark);
}
.main form .form-terms{
  color: var(--font-color-body-main);
}
/* The width wrappers are flex COLUMNS so their <fieldset> (and the input inside it)
   always stretch to the wrapper's full width. A plain block <fieldset> can fail to
   fill a flex-item wrapper in some browsers — leaving the input at roughly half the
   column even though the wrapper itself is the right width. min-width:0 lets the
   fieldset shrink to the wrapper instead of its min-content. */
form .full_width,
form .half_width,
form .third_width{
  display: flex;
  flex-direction: column;
}
form .full_width > fieldset,
form .half_width > fieldset,
form .third_width > fieldset{
  min-width: 0;
}
form .full_width{
  width: 100%;
}
form .half_width{
  width: calc(50% - calc(var(--form-gap) / 2));
}
form .third_width{
  width: calc(33.333% - calc(var(--form-gap) * 2 / 3));
}
@media screen and (max-width: 1024px) {
  form .half_width,
  form .third_width{
    width: 100%;
  }
}
/* Dynamic-form section heading (the 'heading' field type) — groups the inputs
   beneath it (e.g. REFERRAL INFORMATION). Full width via .full_width; the title
   reads as an eyebrow rule. Colours inherit so it works in every section theme. */
.form-section-heading{
  margin: 2.4rem 0 0.8rem;
}
.form-section-heading:first-child{
  margin-top: 0;
}
.form-section-heading .form-section-heading-title{
  margin: 0;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid var(--color-border);
  color: var(--font-color-body);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 1.2rem;
  font-weight: 700;
}
/* Custom Form Checkbox */
.checkbox-container {
  display: block;
  position: relative;
  padding-left: 32px;
  color: var(--font-color-body);
  margin-bottom: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  height: 2.4rem;
  display: flex;
  align-items: center;
}
.light .checkbox-container{
  color: var(--font-color-body-light);
}
.main .checkbox-container{
  color: var(--font-color-body-main);
}
.dark .checkbox-container{
  color: var(--font-color-body-dark);
}
.checkbox-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 2.4rem;
  width: 2.4rem;
  background-color: var(--color-bg);
  border: 2px solid var(--color-border);
  border-radius: .4rem;
}
.light .checkmark {
  background-color: var(--color-bg-light);
  border: 2px solid var(--color-border-light);
}
.main .checkmark {
  background-color: var(--color-bg-main);
  border: 2px solid var(--color-border-main);
}
.dark .checkmark {
  background-color: var(--color-bg-dark);
  border: 2px solid var(--color-border-dark);
}
.checkbox-container:hover input ~ .checkmark,
.light .checkbox-container:hover input ~ .checkmark,
.dark .checkbox-container:hover input ~ .checkmark {
  border-color: var(--color-main);
}
.main .checkbox-container:hover input ~ .checkmark {
  border-color: var(--color-bg);
}
.checkbox-container input:checked ~ .checkmark,
.light .checkbox-container input:checked ~ .checkmark,
.dark .checkbox-container input:checked ~ .checkmark {
  background-color: var(--color-main);
  border-color: var(--color-main);
}
.main .checkbox-container input:checked ~ .checkmark {
  background-color: var(--color-bg);
  border-color: var(--color-bg);
}
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.checkbox-container input:checked ~ .checkmark:after {
  display: block;
}
.checkbox-container .checkmark:after {
  left: 7px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid var(--color-bg);
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.main .checkbox-container .checkmark:after{
  border: solid var(--color-main);
}
/* Custom Form Radio Button */
.radio-container {
  display: block;
  position: relative;
  padding-left: 32px;
  color: var(--font-color-body);
  margin-bottom: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  height: 2.4rem;
  display: flex;
  align-items: center;
}
.light .radio-container{
  color: var(--font-color-body-light);
}
.main .radio-container{
  color: var(--font-color-body-main);
}
.dark .radio-container{
  color: var(--font-color-body-dark);
}
.radio-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.radio-checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 2.4rem;
  width: 2.4rem;
  background-color: var(--color-bg);
  border: 2px solid var(--color-border);
  border-radius: 50%;
}
.light .radio-checkmark{
  background-color: var(--color-bg-light);
  border: 2px solid var(--color-border-light);
}
.main .radio-checkmark{
  background-color: var(--color-bg-main);
  border: 2px solid var(--color-border-main);
}
.dark .radio-checkmark{
  background-color: var(--color-bg-dark);
  border: 2px solid var(--color-border-dark);
}
.radio-container:hover input ~ .radio-checkmark,
.light .radio-container:hover input ~ .radio-checkmark,
.dark .radio-container:hover input ~ .radio-checkmark {
  border-color: var(--color-main);
}
.main .radio-container:hover input ~ .radio-checkmark {
  border-color: var(--color-bg);
}
.radio-container input:checked ~ .radio-checkmark,
.light .radio-container input:checked ~ .radio-checkmark,
.dark .radio-container input:checked ~ .radio-checkmark {
  background-color: var(--color-main);
  border-color: var(--color-main);
}
.main .radio-container input:checked ~ .radio-checkmark {
  background-color: var(--color-bg);
  border-color: var(--color-bg);
}
.radio-checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.radio-container input:checked ~ .radio-checkmark:after {
  display: block;
}
.radio-container .radio-checkmark:after {
    top: 6px;
    left: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-bg);
}
.light .radio-container .radio-checkmark:after{
    background: var(--color-bg-light);
}
.dark .radio-container .radio-checkmark:after{
    background: var(--color-bg-dark);
}
.main .radio-container .radio-checkmark:after{
    background: var(--color-bg-main);
}
/* Custom Form Switch */
.radio-container.switch-container,
.checkbox-container.switch-container{
  padding-left: 5.6rem;
}
.radio-container.switch-container .radio-checkmark,
.checkbox-container.switch-container .checkmark{
  width: 4.8rem;
  border-radius: 1.2rem;
}
.radio-container.switch-container .radio-checkmark::after,
.checkbox-container.switch-container .checkmark:after {
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  border: none;
  background: var(--color-bg-light);
  top: 1px;
  left: 1px;
  transform: none;
  border-radius: 50%;
  transition: var(--animate-fast);
}
.radio-container.switch-container:hover input ~ .radio-checkmark:after,
.checkbox-container:hover input ~ .checkmark:after{
  background: var(--color-main);
}
.radio-container.switch-container input:checked ~ .radio-checkmark:after,
.checkbox-container.switch-container input:checked ~ .checkmark:after{
  background: var(--color-main);
  left: calc(100% - 1.9rem);
}
/* Baseline Form */
.baseline-form label{
  position: initial;
  color: var(--font-color-body);
  margin: 0 0 .4rem;
  display: block;
}
.light .baseline-form label{
  color: var(--font-color-body-light);
}
.dark .baseline-form label{
  color: var(--font-color-body-dark);
}
.main .baseline-form label{
  color: var(--font-color-body-main);
}
.baseline-form .select-selected,
.baseline-form input,
.baseline-form textarea{
  border: none;
  border-radius: 0;
  background: var(--color-bg-light);
  border-bottom: 2px solid var(--color-main);
  padding: .8rem;
}
.light .baseline-form .select-selected,
.light .baseline-form input,
.light .baseline-form textarea{
  background: var(--color-bg);
  border-color: var(--color-main);
}
.dark .baseline-form .select-selected,
.dark .baseline-form input,
.dark .baseline-form textarea{
  background: hsla(0 0% 100% / .08);
  border-color: var(--color-main);
}
.main .baseline-form .select-selected,
.main .baseline-form input,
.main .baseline-form textarea{
  background: hsla(0 0% 100% / .08);
  border-color: var(--color-bg);
}
/* Outline Form */
.outline-form label{
  position: initial;
  color: var(--font-color-body);
  margin: 0 0 .4rem;
  display: block;
}
.light .outline-form label{
  color: var(--font-color-body-light);
}
.dark .outline-form label{
  color: var(--font-color-body-dark);
}
.main .outline-form label{
  color: var(--font-color-body-main);
}
.outline-form .select-selected,
.outline-form input,
.outline-form textarea{
  border-radius: 0;
  background: var(--color-bg-light);
  border: 2px solid var(--color-border);
  padding: .8rem;
}
.light .outline-form .select-selected,
.light .outline-form input,
.light .outline-form textarea{
  background: var(--color-bg);
  border: 2px solid var(--color-border-light);
}
.dark .outline-form .select-selected,
.dark .outline-form input,
.dark .outline-form textarea{
  background: hsla(0 0% 100% / .08);
  border: 2px solid var(--color-border-dark);
}
.main .outline-form .select-selected,
.main .outline-form input,
.main .outline-form textarea{
  background: hsla(0 0% 100% / .08);
  border: 2px solid var(--color-border-main);
}
/* Basic Form */
.basic-form label{
  position: initial;
  color: var(--font-color-body);
  margin: 0 0 .4rem;
  display: block;
  opacity: .64;
}
.light .basic-form label{
  color: var(--font-color-body-light);
}
.main .basic-form label{
  color: var(--font-color-body-main);
}
.dark .basic-form label{
  color: var(--font-color-body-dark);
}
.basic-form .select-selected,
.basic-form input,
.basic-form textarea{
  border-radius: 0;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  padding: .8rem;
}
.light .basic-form .select-selected,
.light .basic-form input,
.light .basic-form textarea{
  background: var(--color-bg-light);
  border: 1px solid var(--color-border-light);
}
.main .basic-form .select-selected,
.main .basic-form input,
.main .basic-form textarea{
  background: var(--color-main);
  border: 1px solid var(--color-border-main);
}
.dark .basic-form .select-selected,
.dark .basic-form input,
.dark .basic-form textarea{
  background: var(--color-bg-dark);
  border: 1px solid var(--color-border-dark);
}
/* ----- Placeholder  ------ */
::-webkit-input-placeholder {
  color: var(--font-color-body);
  opacity: 0.48;
}
::-moz-placeholder {
  color: var(--font-color-body);
  opacity: 0.48;
}
:-ms-input-placeholder {
  color: var(--font-color-body);
  opacity: 0.48;
}
:-moz-placeholder {
  color: var(--font-color-body);
  opacity: 0.48;
}
.light ::-webkit-input-placeholder {
  color: var(--font-color-body-light);
  opacity: 0.48;
}
.light ::-moz-placeholder {
  color: var(--font-color-body-light);
  opacity: 0.48;
}
.light :-ms-input-placeholder {
  color: var(--font-color-body-light);
  opacity: 0.48;
}
.light :-moz-placeholder {
  color: var(--font-color-body-light);
  opacity: 0.48;
}
.dark ::-webkit-input-placeholder {
  color: var(--font-color-body-dark);
  opacity: 0.48;
}
.dark ::-moz-placeholder {
  color: var(--font-color-body-dark);
  opacity: 0.48;
}
.dark :-ms-input-placeholder {
  color: var(--font-color-body-dark);
  opacity: 0.48;
}
.dark :-moz-placeholder {
  color: var(--font-color-body-dark);
  opacity: 0.48;
}
.main ::-webkit-input-placeholder {
  color: var(--font-color-body-main);
  opacity: 0.48;
}
.main ::-moz-placeholder {
  color: var(--font-color-body-main);
  opacity: 0.48;
}
.main :-ms-input-placeholder {
  color: var(--font-color-body-main);
  opacity: 0.48;
}
.main :-moz-placeholder {
  color: var(--font-color-body-main);
  opacity: 0.48;
}
/* ----- Validation ----- */
/* Validating Entries */
.form_holder input:not([type="submit"]):focus:valid,
.form_holder textarea:focus:valid,
.form_holder select:focus:valid {
  box-shadow: 0px 0px 5px var(--color-alert);
}
/* Invalidating Entries */
.form_holder input:not([type="submit"]):focus:invalid,
.form_holder textarea:focus:invalid,
.form_holder select:focus:invalid {
  box-shadow: 0px 0px 5px var(--color-danger);
}
/* ----- Date Picker ----- */
.ui-datepicker .ui-datepicker-header {
  border: none;
  border-radius: 0;
  background-image: none;
  background: var(--color-main);
}
#ui-datepicker-div {
  padding: 0;
  border: 3px solid var(--color-main);
  border-radius: 0 0 .8rem .8rem;
}
.ui-datepicker .ui-datepicker-title {
  color: white;
}
.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev {
  background-color: transparent !important;
  background-image: none;
  border: none;
}
.ui-datepicker .ui-datepicker-next span,
.ui-datepicker .ui-datepicker-prev span {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  background: transparent;
  width: 2rem;
  height: 2rem;
  transform: rotate(45deg);
  border-radius: 50%;
  border: none;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-prev span {
  transform: rotate(-135deg);
}
.ui-datepicker .ui-datepicker-next:hover span,
.ui-datepicker .ui-datepicker-prev:not(.ui-state-disabled):hover span {
  background: white;
}
.ui-datepicker .ui-datepicker-next span::after,
.ui-datepicker .ui-datepicker-prev span::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: 2px solid white;
  border-right: 2px solid white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-5px, -3px);
}
.ui-datepicker .ui-datepicker-next:hover span::after,
.ui-datepicker .ui-datepicker-prev:not(.ui-state-disabled):hover span::after {
  border-color: var(--color-main);
}
.ui-datepicker table {
  margin: 0;
}
.ui-datepicker tbody tr td {
  border: 0;
  padding: 0;
  border-right: 2px solid white;
  border-bottom: 2px solid white;
}
.ui-datepicker tbody tr td:last-child {
  border-right: none;
}
.ui-datepicker tbody tr:last-child td {
  border-bottom: none;
}
.ui-datepicker th {
  padding: 5px 0;
  background: var(--color-bg-light);
  border-right: 2px solid #eaeaea;
  border-bottom: 2px solid #eaeaea;
}
.ui-datepicker th:last-child {
  border-right: none
}
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  border: none;
}
table.ui-datepicker-calendar span {
  border: none !important;
  font-family: var(--font-body);
  text-transform: uppercase;
}
.ui-state-highlight,
.ui-widget-content {
  font-family: var(--font-body);
}
.ui-datepicker .ui-datepicker-title {
  text-transform: capitalize;
}
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  background-image: none;
  color: white;
  background-color: #d5d1d1;
}
.ui-state-default:hover,
.ui-widget-content .ui-state-default:hover,
.ui-widget-header .ui-state-default:hover {
  color: var(--font-color-body);
  background: var(--color-bg-light);
}
.ui-state-disabled span,
.ui-widget-content .ui-state-disabled span,
.ui-widget-header .ui-state-disabled span {
  color: var(--font-color-body);
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border-color: var(--color-main);
  background-image: none;
  background-color: hsl(0 0% 100%);
}
td.ui-datepicker-current-day a {
  background: var(--color-main) !important;
  color: hsl(0 0% 100%) !important;
}
td.ui-datepicker-current-day a:hover {
  background: var(--color-bg-dark) !important;
  color: hsl(0 0% 100%) !important;
}
td.ui-datepicker-days-cell-over.ui-datepicker-current-day.ui-datepicker-today a.ui-state-default.ui-state-highlight.ui-state-active {
  color: hsl(0 0% 20%) !important;
}
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: none;
  background: var(--color-main);
  color: white;
}
/* ----- Custom File Uploader ----- */
.resume {
  text-align: center;
  padding: 3.2rem 1.6rem;
  background: var(--color-bg-light);
  border-bottom: 3px solid var(--color-main);
}
.resume input[type="file"] {
  display: none;
}
.resume label {
  cursor: pointer;
  color: hsla(0 0% 0% / .35)
}
/* ---------- 12. Messages ---------- */
div.message_wrapper {
  margin: 0 0 1.6rem;
}
.content h2.hide_message {
  display: none;
}
.content h2.message_positive {
  width: 100%;
  color: white !important;
  background: var(--color-success) !important;
  padding: 1.6rem;
}
.content h2.message_negative {
  width: 100%;
  color: white !important;
  background: var(--color-danger) !important;
  padding: 1.6rem;
}
.message_wrapper a.message_link {
  color: white !important;
  text-decoration: underline;
}
.message_wrapper a.message_link:hover {
  text-decoration: none;
}

/* ===--- Flex ---=== */
.flex {
    display: flex;
    flex-wrap: wrap;
    gap: var(--flex-gap);
}
.flex>* {
    width: 100%;
}
.flex.flex-6>* {
    width: calc(calc(100% / 6) - calc(var(--flex-gap) * 5 / 6));
}
.flex.flex-5>* {
    width: calc(calc(100% / 5) - calc(var(--flex-gap) * 4 / 5));
}
.flex.flex-4>* {
    width: calc(calc(100% / 4) - calc(var(--flex-gap) * 3 / 4));
}
.flex.flex-3>* {
    width: calc(calc(100% / 3) - calc(var(--flex-gap) * 2 / 3));
}
.flex.flex-2>* {
    width: calc(calc(100% / 2) - calc(var(--flex-gap) / 2));
}
@media screen and (max-width: 1024px) {
    .flex.flex-6>*,
    .flex.flex-5>* {
        width: calc(calc(100% / 3) - calc(var(--flex-gap) * 2 / 3));
    }
    .flex.flex-4>*,
    .flex.flex-3>* {
        width: calc(calc(100% / 2) - calc(var(--flex-gap) / 2));
    }
    .flex.flex-2>* {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .flex.flex-6>*,
    .flex.flex-5>* {
        width: calc(calc(100% / 2) - calc(var(--flex-gap) / 2));
    }
    .flex.flex-3>* {
        width: 100%;
    }
}
@media screen and (max-width: 320px) {
    .flex.flex-4>* {
        width: 100%;
    }
}
/* ===--- Grid ---=== */
.grid {
    display: grid;
    gap: var(--grid-gap);
    grid-template-columns: repeat(12, 1fr);
}
.-grid .col-1 {
    grid-column: span 1;
}
.grid .col-2 {
    grid-column: span 2;
}
.grid .col-3 {
    grid-column: span 3;
}
.grid .col-4 {
    grid-column: span 4;
}
.grid .col-5 {
    grid-column: span 5;
}
.grid .col-6 {
    grid-column: span 6;
}
.grid .col-7 {
    grid-column: span 7;
}
.grid .col-8 {
    grid-column: span 8;
}
.grid .col-9 {
    grid-column: span 9;
}
.grid .col-10 {
    grid-column: span 10;
}
.grid .col-11 {
    grid-column: span 11;
}
.grid .col-12 {
    grid-column: span 12;
}
@media screen and (max-width: 1024px){
  .grid{
    grid-template-columns: repeat(8, 1fr);
  }
  .col-1{
    grid-column: span 1;
  }
  .col-2 {
    grid-column: span 2;
  }
  .col-3,
  .col-4 {
    grid-column: span 4;
  }
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-10,
  .col-11 {
    grid-column: span 8;
  }
}
@media screen and (max-width: 768px){
  .grid{
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap-12);
  }
  .col-1{
    grid-column: span 1;
  }
  .col-2,
  .col-3 {
    grid-column: span 2;
  }

  .col-4 {
    grid-column: span 4;
  }
}
@media screen and (max-width: 520px){
  .col-1{
    grid-column: span 2;
  }
  .col-2,
  .col-3 {
    grid-column: span 4;
  }
}
/* ---=== Cards ===--- */
.card{
    padding-top: var(--card-padding-top);
    padding-right: var(--card-padding-right);
    padding-bottom: var(--card-padding-bottom);
    padding-left: var(--card-padding-left);
    border-radius: var(--card-radius);
    background: var(--card--bg);
    box-shadow: var(--card-shadow);
    overflow: var(--card-overflow);
    border-top: var(--card-border-top);
    border-right: var(--card-border-right);
    border-bottom: var(--card-border-bottom);
    border-left: var(--card-border-left);
}
.light .card{
    background: var(--card--bg-light);
}
.dark .card{
    background: var(--card--bg-dark);
}
.main .card{
    background: var(--card--bg-main);
}
a.card{
    text-decoration: none;
}
.card img{
  width: 100%;
  height: auto;
}
.card .content-wrapper{
  padding-top: var(--card-content-padding-top);
  padding-right: var(--card-content-padding-right);
  padding-bottom: var(--card-content-padding-bottom);
  padding-left: var(--card-content-padding-left);
}
.card h3{
  font-size: var(--card-title-size);
  line-height: 1.1;
  margin: 0 0 1.2rem;
}
.card h3 a{
  text-decoration: none;
  color: var(--font-color-heading);
}
.light .card h3 a{
  color: var(--font-color-heading-light);
}
.dark .card h3 a{
  color: var(--font-color-heading-dark);
}
.main .card h3 a{
  color: var(--font-color-heading-main);
}
.card h3 a:hover{
  color: var(--card-title-color-hover);
}
.light .card h3 a:hover{
  color: var(--card-title-color-hover-light);
}
.main .card h3 a:hover{
  color: var(--card-title-color-hover-main);
}
.dark .card h3 a:hover{
  color: var(--card-title-color-hover-dark);
}
.card p{
    margin: 0;
}
.card a.button{
  margin: 0;
}
/* Inline Card */
.inline-card .card{
  display: flex;
}
.inline-card .card .img-wrapper{
  width: 40%;
  height: 100%;
  border-right: var(--card-border-right);
}
.light .inline-card .card,
.light .inline-card .card .img-wrapper{
  border-color: var(--color-border-light);
}
.main .inline-card .card,
.main .inline-card .card .img-wrapper{
  border-color: var(--color-border-main);
}
.dark .inline-card .card,
.dark .inline-card .card .img-wrapper{
  border-color: var(--color-border-dark);
}
.inline-card .card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inline-card .card .content-wrapper{
  width: 60%;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.inline-card .card p{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 640px){
  .inline-card .card{
    flex-direction: column;
  }
  .inline-card .card .img-wrapper{
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    border-right: none;
    border-bottom: var(--card-border-bottom);
  }
  .light .inline-card .card .img-wrapper{
    border-color: var(--color-border-light);
  }
  .dark .inline-card .card .img-wrapper{
    border-color: var(--color-border-dark);
  }
  .main .inline-card .card .img-wrapper{
    border-color: var(--color-border-main);
  }
  .inline-card .card .content-wrapper{
    width: 100%;
  }
}
/* Icon Card */
.icon-card .card{
  position: relative;
  margin-top: calc(var(--card-icon-height) / 2);
  padding-top: calc((var(--card-icon-height) / 2) + var(--card-padding-top));
}
.icon-card .card .img-wrapper{
  width: var(--card-icon-wrapper-height);
  height: var(--card-icon-wrapper-width);
  border-radius: var(--card-icon-radius);
  position: absolute;
  top: calc(var(--card-icon-height) / 2 * -1);
  left: var(--card-padding-left);
  border-top: var(--card-icon-border-top);
  border-right: var(--card-icon-border-right);
  border-bottom: var(--card-icon-border-bottom);
  border-left: var(--card-icon-border-left);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon-card .card .img-wrapper img{
  width: var(--card-icon-height);
  height: var(--card-icon-width);
}
/* Box Styles */
.box-list .card{
  position: relative;
  overflow: hidden;
}
.box-list .card::after{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--box-overlay);
  opacity: var(--box-overlay-opacity);
  transition: var(--animate-medium);
  z-index: 0;
}
.box-list .card:hover::after{
  opacity: var(--box-overlay-opacity-hover);
}
.light .box-list .card::after{
  background: var(--box-overlay-light);
}
.main .box-list .card::after{
  background: var(--box-overlay-main);
}
.dark .box-list .card::after{
  background: var(--box-overlay-dark);
}
.box-list .img-wrapper{
  width: 100%;
  height: 100%;
}
.box-list .img-wrapper img{
  height: 100%;
  object-fit: cover;
}
.box-list .content-wrapper{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}
.box-list .card h3{
  margin: 0;
}
.box-list .card p{
  display: none;
}
.box-list .card .button{
  display: none;
}
/* Animated Box */
.animated-box-list .card{
  position: relative;
  overflow: hidden;
}
.animated-box-list .card::after{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--box-overlay);
  opacity: var(--box-overlay-opacity);
  transition: var(--animate-medium);
  z-index: 0;
}
.animated-box-list .card:hover::after{
  opacity: var(--box-overlay-opacity-hover);
}
.animated-box-list .img-wrapper{
  width: 100%;
  height: 100%;
}
.animated-box-list .img-wrapper img{
  height: 100%;
  object-fit: cover;
}
.animated-box-list .card .content-wrapper{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  z-index: 1;
}
.animated-box-list .card h3{
  margin: 0;
  transition: var(--animate-medium);
}
.animated-box-list .card:hover h3{
  margin: 0 0 1.2rem;
}
.animated-box-list .card p{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 0;
  opacity: 0;
  margin: 0;
  transition: var(--animate-medium);
}
.animated-box-list .card:hover p{
  height: calc(1.6rem * 1.4 * 3);
  opacity: 1;
  margin: 0 0 1.2rem;
}
.animated-box-list .card .button{
  height: 0;
  opacity: 0;
  padding-block: 0;
  margin-top: 0;
}
.animated-box-list .card:hover .button{
  height: var(--button-height);
  opacity: 1;
}
/* ---=== Section Styles ===--- */
.content_container .content > .img-wrapper{
  width: 100%;
  height: auto;
  max-width: 42rem;
}
.content_container .content > .img-wrapper img{
  width: 100%;
  height: auto;
}
/* Image Background */
.img-bg{
  position: relative;
  overflow: hidden;
}
.img-bg .img-wrapper{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.img-bg .img-wrapper::after{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-bg);
  opacity: .72;
}
.img-bg .img-wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.img-bg .content{
  position: relative;
  z-index: 2;
}
.img-bg.light .img-wrapper::after{
  background: var(--color-bg-light);
}
.img-bg.colour .img-wrapper::after{
  background: var(--color-main);
}
.img-bg.dark .img-wrapper::after{
  background: var(--color-bg-dark);
}
/* Blur Overlay */
.img-bg.blur-overlay .content{
  padding: 3.2rem;
  border-radius: 1.6rem;
  border: 1px solid hsla(0 0% 100% / .16);
  background: hsla(0 0% 100% / .16);
  backdrop-filter: blur(8px);
}
/* Shadow Content */
.shadow-content .content{
  padding: 3.2rem;
  border-radius: 1.6rem;
  background: var(--shadow-content-bg);
  box-shadow: var(--shadow);
}
.shadow-content.light .content{
  background: var(--shadow-content-light);
}
.shadow-content.main .content{
  background: var(--shadow-content-bg-main);
}
.shadow-content.dark .content{
  background: var(--shadow-content-bg-dark);
}
/* Image Float */
.img-float .content{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.img-float .img-wrapper{
  max-width: 40rem;
  width: 100%;
}
.img-float .img-wrapper img{
  width: 100%;
  height: auto;
}
.img-float .editable_content{
  width: calc(100% - 48rem);
}
.img-float.img-right .content{
  flex-direction: row-reverse;
}
@media screen and (max-width: 1024px) {
  .img-float .content,
  .img-float.img-right .content{
    flex-direction: column;
    gap: 4rem;
  }
  .img-float .editable_content{
    width: 100%;
  }
}
/* Image Fade */
.img-fade{
  position: relative;
}
.img-fade .img-wrapper{
  width: 44%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.img-fade .img-wrapper::after{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to right, transparent 0%, var(--color-bg) 99%, var(--color-bg) 100%);
}
.img-fade .img-wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.img-fade .content{
  display: flex;
  justify-content: flex-end;
  position: relative;
}
.img-fade .editable_content{
  width: 60%;
}
.img-fade.img-right .img-wrapper{
  left: auto;
  right: 0;
}
.img-fade.img-right .img-wrapper::after{
  background: linear-gradient(to left, transparent 0%, var(--color-bg) 99%, var(--color-bg) 100%);
}
.img-fade.img-right .content{
  justify-content: flex-start;
}
.img-fade.light .img-wrapper::after{
  background: linear-gradient(to right, transparent 0%, var(--color-bg-light) 99%, var(--color-bg-light) 100%);
}
.img-fade.img-right.light .img-wrapper::after{
  background: linear-gradient(to left, transparent 0%, var(--color-bg-light) 99%, var(--color-bg-light) 100%);
}
.img-fade.colour .img-wrapper::after{
  background: linear-gradient(to right, transparent 0%, var(--color-main) 99%, var(--color-main) 100%);
}
.img-fade.img-right.colour .img-wrapper::after{
  background: linear-gradient(to left, transparent 0%, var(--color-main) 99%, var(--color-main) 100%);
}
.img-fade.dark .img-wrapper::after{
  background: linear-gradient(to right, transparent 0%, var(--color-bg-dark) 99%, var(--color-bg-dark) 100%);
}
.img-fade.img-right.dark .img-wrapper::after{
  background: linear-gradient(to left, transparent 0%, var(--color-bg-dark) 99%, var(--color-bg-dark) 100%);
}
@media screen and (max-width: 1024px){
  .img-fade{
    padding-top: 32rem; 
  }
  .img-fade .img-wrapper{
    width: 100%;
    height: 32rem;
  }
  .img-fade .editable_content{
    width: 100%;
  }
  .img-fade .img-wrapper::after,
  .img-fade.img-right .img-wrapper::after{
    background: linear-gradient(to bottom, transparent 0%, var(--color-bg) 99%, var(--color-bg) 100%);
  }
  .img-fade.light .img-wrapper::after,
  .img-fade.img-right.light .img-wrapper::after{
    background: linear-gradient(to bottom, transparent 0%, var(--color-bg-light) 99%, var(--color-bg-light) 100%);
  }
  .img-fade.colour .img-wrapper::after,
  .img-fade.img-right.colour .img-wrapper::after{
    background: linear-gradient(to bottom, transparent 0%, var(--color-main) 99%, var(--color-main) 100%);
  }
  .img-fade.dark .img-wrapper::after,
  .img-fade.img-right.dark .img-wrapper::after{
    background: linear-gradient(to bottom, transparent 0%, var(--color-bg-dark) 99%, var(--color-bg-dark) 100%);
  }
}
/* Shadow Overlay */
.img-fade.shadow-overlay .img-wrapper::after{
  display: none;
}
.img-fade.shadow-overlay .editable_content{
  padding: 3.2rem;
  border-radius: 1.6rem;
  background: var(--shadow-content-bg);
  box-shadow: var(--shadow);
  width: 64%;
}
.img-fade.shadow-overlay.light .editable_content{
  background: var(--shadow-content-bg-light);
}
.img-fade.shadow-overlay.main .editable_content{
  background: var(--shadow-content-bg-main);
}
.img-fade.shadow-overlay.dark .editable_content{
  background: var(--shadow-content-bg-dark);
}
@media screen and (max-width: 1024px){
  .img-fade.shadow-overlay{
    padding-top: 28rem;
  }
  .img-fade.shadow-overlay .editable_content{
    width: 100%;
  }
}
/* No Fade */
.img-fade.no-fade .img-wrapper::after{
  display: none;
}
.img-fade.no-fade .editable_content {
  width: 55%;
  padding-left: 6.4rem;
}
.img-fade.no-fade.img-right .editable_content {
  padding-left: 0;
  padding-right: 6.4rem;
}
@media screen and (max-width: 1024px){
  .img-fade.no-fade .editable_content,
  .img-fade.no-fade.img-right .editable_content{
    width: 100%;
    padding: 4.8rem 0 0;
  }
}
/* Strip List */
.strip-list-wrapper{
  padding: 0;
}
.strip-list{
  position: relative;
  background: var(--strip-bg);
}
.strip-list:nth-of-type(2n){
  background: var(--strip-bg-alt);
}
.strip-list .img-wrapper{
  width: 40%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.strip-list:nth-of-type(2n) .img-wrapper{
  left: auto;
  right: 0;
}
.strip-list .img-wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.strip-list .content{
  display: flex;
  justify-content: flex-end;
}
.strip-list:nth-of-type(2n) .content{
  justify-content: flex-start;
}
.strip-list .editable_content{
  width: calc(60% - 8rem);
}
@media screen and (max-width: 1024px){
  .strip-list-wrapper .strip-list{
    padding: 34rem 2.4rem 4.8rem;
  }
  .strip-list .img-wrapper{
    width: 100%;
    height: 32rem;
  }
  .strip-list .editable_content{
    width: 100%;
  }
}
/* ---=== Animations ===--- */
.fadeFromLeft {
  opacity: 0;
  transform: translateX(-10rem);
  transition: 0.5s ease-in-out;
}
.fadeFromRight {
  opacity: 0;
  transform: translateX(10rem);
  transition: 0.5s ease-in-out;
}
.fadeFromTop {
  opacity: 0;
  transform: translateY(-10rem);
  transition: 0.5s ease-in-out;
}
.fadeFromBottom {
  opacity: 0;
  transform: translateY(10rem);
  transition: 0.5s ease-in-out;
}
.fadeFromLeft.show,
.fadeFromRight.show,
.fadeFromTop.show,
.fadeFromBottom.show {
  opacity: 1;
  transform: translateY(0);
}
/* ---=== Swipebox Styles =--- */
.swipebox_full a img {
  width: 100%;
  height: auto;
  transition: var(--animate-medium);
}
.swipebox_full a img:hover {
  opacity: 0.48;
}
/* ---=== 19. Sub Page Menu ===---  */
.files-list a.button{
  margin: 0;
  width: 100%;
}
/* ---------- 20. Contact ---------- */
ul.contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.contact-list li{
  margin: 0;
  padding: 0;
}
ul.contact-list li i,
ul.contact-list li .icon-wrapper{
  display: none;
}
ul.contact-list li strong{
  display: block;
}
ul.contact-list li address{
  font-style: normal;
}
ul.contact-list li a {
  text-decoration: none;
}
ul.contact-list li ul.hours{
  list-style: none;
  margin: 0;
}
/* Contact Shadow */
ul.contact-list.contact-shadow > li{
  background: var(--color-bg);
  padding: 1.6rem;
  border-radius: 1.6rem;
  box-shadow: var(--shadow);
}
.dark ul.contact-list.contact-shadow > li,
.main ul.contact-list.contact-shadow > li{
  background: hsla(0 0% 100% / .08);
}
/* Contact FA Icon */
ul.contact-list.contact-fa-icon li{
  display: flex;
  align-items: flex-start;
  gap: .8rem;
}
ul.contact-list.contact-fa-icon li i{
  margin: 2px 0 0;
  color: var(--color-main);
  display: block;
}
/* Contact Img Icon */
ul.contact-list.contact-img-icon li .icon-wrapper{
  display: flex;
  --icon-size: 6.4rem;
  width: var(--icon-size);
  height: var(--icon-size);
  border: 2px solid var(--color-main);
  margin: 0 0 0.8rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-bg);
}
ul.contact-list.contact-img-icon li .icon-wrapper img{
  width: 3.2rem;
  height: auto;
}
.main ul.contact-list.contact-img-icon li .icon-wrapper{
  background: var(--color-bg);
}
/* Contact Img Icon Inline */
ul.contact-list.contact-img-icon.icon-inline li{
  display: flex;
  gap: .8rem;
}
ul.contact-list.contact-img-icon.icon-inline li .icon-wrapper{
  margin: 0;
}
ul.contact-list.contact-img-icon.icon-inline li span{
  width: calc(100% - calc(.8rem - var(--icon-size)));
}
@media screen and (max-width: 420px) {
  ul.contact-list.contact-img-icon.icon-inline li{
    flex-direction: column;
  }
  ul.contact-list.contact-img-icon.icon-inline li span{
    width: 100%;
  }
}
/* Contact Img Icon Shadow */
ul.contact-list.contact-shadow.contact-img-icon > li{
  margin-top: 3.2rem;
}
ul.contact-list.contact-shadow.contact-img-icon li .icon-wrapper{
  margin-top: -4.8rem;
}
/* ---=== Contact Multi Location ===---*/
.multi-loc iframe {
  aspect-ratio: 6 / 3.5;
  width: 100%;
  height: auto;
}
.multi-loc h3 {
  font-size: 2.2rem;
  padding: 0 0 .8rem;
  margin: 0 0 .8rem;
  border-bottom: var(--color-border);
}
.multi-loc ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 0;
  margin: 0;
}
.multi-loc ul li{
  width: 100%;
  padding: 0;
  margin: 0;
}
.multi-loc strong {
  display: block;
  color: var(--color-heading);
}
.multi-loc address {
  font-style: normal;
}
.multi-loc a {
  text-decoration: none;
}
.multi-loc pre{
  margin: 0;
}
.dark .multi-loc h3{
  border-color: var(--color-border-dark);
}
.main .multi-loc h3{
  border-color: var(--color-border-main);
}
.dark .multi-loc strong{
  color: var(--color-heading-dark);
}
.main .multi-loc strong{
  color: var(--color-heading-main);
}
/* ---=== Map ===--- */
.map-holder {
  height: 42rem;
  overflow: hidden;
}
.map-holder iframe {
  height: 100%;
  width: 100%;
}
/* ---=== Social Media ===--- */
.social_media ul {
  display: flex;
  margin: 0;
  padding: 0;
  gap: 16px;
}
.social_media ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.social_media ul li a {
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  text-align: center;
  color: var(--color-bg);
  background: var(--color-main);
  border-radius: 50%;
  transition: var(--animate-medium);
}
.social_media ul li a:hover {
  background: var(--color-bg-dark);
}
.social_media ul li a i {
  font-size: 2.2rem;
  line-height: 1;
}
.main .social_media ul li a{
  background: var(--color-bg);
  color: var(--color-main);
}
.colour .social_media ul li a:hover{
  background: var(--color-bg-dark);
  color: var(--color-bg);
}
.dark .social_media ul li a:hover{
  background: var(--color-bg);
  color: var(--color-bg-dark);
}
/* ---=== Toggler ===--- */
h4.toggle,
h4.toggle.active.open {
  color: var(--color-heading);
  background: url(/assets/images/layout/toggle.png) no-repeat 10px 11px;
  padding: 8px 0 8px 35px;
  margin: 10;
  cursor: pointer;
}
h4.toggle.active,
h4.toggle.open {
  background-position: 10px -39px;
}
h4.toggle:hover,
h4.toggle.active.open:hover {
  background-position: 10px -39px;
}
div.toggler {
  border-top: none;
  margin: 0;
  overflow: hidden;
  padding: 0 0 0 24px;
}
div.toggler p {
  margin: 0 0 1.2rem;
  padding: 0;
}
.toggle-wrapper .toggler ul,
.toggle-wrapper .toggler ol {
  margin: 0 0 1.2rem 2rem;
}
div.toggler>*:last-child {
  margin-bottom: 0;
}
/* ---===. Products ===--- */
/* Search */
form.search_form {
  display: flex;
  margin: 0 0 3.2rem;
}
form.search_form input.search_input {
  width: calc(100% - 16px);
  border-radius: .4rem 0 0 .4rem;
  border: 1px solid hsla(0 0% 0% / .15);
  border-radius: none;
  background: hsla(0 0% 0% / .05);
  padding: .5rem .8rem;
}
form.search_form input.button {
  width: 16rem;
  border-radius: 0 .4rem .4rem 0;
  margin: 0;
}
/* ---=== Modal Styles ===--- */
summary.btn {
  cursor: pointer;
  display: inline-block;
  background-color: var(--color-main);
  padding: 5px 20px;
  border-radius: 10px;
  margin: 10px 0;
}
.details-with-modal summary::-webkit-details-marker {
  display: none;
}
details-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 99999;
  max-height: 80vh;
  overflow: scroll;
  max-width: 90vw;
  width: 448px;
  background-color: var(--color-bg);
}
.details-with-modal[open]>summary:before {
  content: " ";
  background: hsla(0 0% 0% / 0.32);
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.modal-header {
  padding: 20px;
  background-color: var(--color-main);
}
.modal-body {
  padding: 20px;
}
.modal-footer {
  padding: 20px;
  text-align: center;
}
.modal-footer button {
  width: 95%;
  display: inline-block;
  background-color: var(--color-main);
  font-size: 1rem;
  padding: 10px;
  cursor: pointer;
  transition: var(--animate-medium);
}
.modal-footer button:hover {
  background-color: var(--color-bg-dark);
  color: var(--color-bg);
}
/* ---=== Toggles ===--- */
.toggle-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.toggle-wrapper .toggle_faq {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: 2.4rem;
  margin: 0;
  cursor: pointer;
  padding-left: 2.4rem;
  position: relative;
}
.toggle-wrapper .toggle_faq .icon {
  width: 1.6rem;
  height: 1.6rem;
  display: block;
  position: absolute;
  transition: var(--animate-medium);
  left: 0;
  top: 5px;
}
.toggle-wrapper .toggle_faq.active .icon {
  transform: rotate(135deg);
}
.toggle-wrapper .toggle_faq .icon i {
  width: 1.6rem;
  height: .2rem;
  background: var(--color-main);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
}
.toggle-wrapper h3.toggle_faq .icon i:nth-child(2) {
  transform: translate(-50%, -50%) rotate(0deg);
}
.toggle-wrapper .toggler {
  padding: .8rem 1.6rem 0 2.4rem;
}
/* ---=== Widget Slider ===--- */
.widget-slider {
  position: relative;
  padding-bottom: 4rem;
}
.widget-slider .swiper-slide {
  height: auto;
}
.widget-slider .swiper-slide .card{
  height: 100%;
  display: flex;
  align-items: center;
  gap: 3.2rem;
}
.widget-slider .swiper-slide .card .img-wrapper{
  width: 100%;
  max-width: 40rem;
  height: 100%;
}
.widget-slider .swiper-slide .card .img-wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.widget-slider .swiper-slide .card .content-wrapper{
  width: calc(100% - 43.2rem);
  padding-block: 3.2rem;
}
.widget-slider .swiper-button-prev,
.widget-slider .swiper-button-next {
  color: white;
  top: calc(50% - 2rem);
  background: var(--color-main);
  border-radius: 50%;
  height: 4rem;
  width: 4rem;
  left: -2rem;
}
.widget-slider .swiper-button-next{
  left: auto;
  right: -2rem;
}
.widget-slider .swiper-button-prev:hover,
.widget-slider .swiper-button-next:hover{
  background: var(--color-bg-dark);
}
.swiper .swiper-button-next:after, .swiper .swiper-button-prev:after{
  font-size: 2rem;
  display: none;
}
.swiper .swiper-button-prev svg{
  transform: rotate(180deg);
}
.widget-slider .swiper-pagination-bullet-active {
  background: var(--color-main);
}
.swiper-pagination{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  bottom: 15px;
}
@media screen and (max-width: 1024px) {
    .widget-slider .swiper-slide .card{
    flex-direction: column;
    }
    .widget-slider .swiper-slide .card .img-wrapper{
    aspect-ratio: 2 / 1;
    max-width: 100%;
    }
    .widget-slider .swiper-slide .card .content-wrapper{
    width: 100%;
    padding: 0;
    }
}
/* ---=== Widget Category Filter ===--- */
.widget-category-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--flex-gap);
  margin-block: 1.6rem;
}
.widget-category-filter .filter-btn {
  padding: 0 2.4rem;
  border: 2px solid var(--color-border);
  background: var(--color-bg-light);
  cursor: pointer;
  border-radius: .4rem;
  font-size: 1.4rem;
  line-height: 1;
  transition: var(--animate-medium);
  height: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.widget-category-filter .filter-btn:hover,
.widget-category-filter .filter-btn.active {
  background: var(--color-main);
  border-color: var(--color-main);
  color: var(--font-color-body-main);
}
/* ---=== Pop Up ===--- */
.cta-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  background: hsla(0 0% 0% / .5);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cta-popup .pop-up {
  background: white;
  padding: 3.2rem;
  border-radius: 1.6rem 0 1.6rem 1.6rem;
  box-shadow: var(--shadow-medium);
  width: 48rem;
  position: relative;
  text-align: center;
}
.cta-popup .pop-up .close-popup {
  width: 2.4rem;
  height: 2.4rem;
  position: absolute;
  top: -12px;
  right: -12px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-main);
  border-radius: 50%;
  transition: var(--animate-medium);
  cursor: pointer;
}
.cta-popup .pop-up .close-popup:hover {
  background: var(--color-bg-dark);
}
.cta-popup .pop-up h3 {
  font-size: 3.2rem;
  margin: 0 0 1.6rem;
}
.cta-popup .pop-up .button {
  margin: 1.6rem 0 0;
}
/* ---=== Pop Up ===--- */
.page-details.h6 {
  font-size: 1.6rem;
  line-height: 1;
  margin: 0 0 1.6rem;
  color: var(--font-color-body);
}
.page-details.h6 a {
  color: var(--font-color-body);
  text-decoration: none;
}
.page-details.h6 a:hover {
  color: var(--color-main);
}
/* ---=== Logo Slider ===--- */
#logo-link-slider {
  overflow: hidden;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
#logo-link-slider .logo-link-slider-wrapper {
  display: block;
  width: 100%;
  position: relative;
}
#logo-link-slider .logo-link-slider-wrapper ul {
  position: relative;
  left: 0px;
  display: flex;
  justify-content: space-around;
  list-style: none;
}
#logo-link-slider .logo-link-slider-wrapper ul li {
  display: inline-block;
  position: relative;
  margin: 0px auto;
  width: 200px;
  height: 200px;
  line-height: 200px;
  text-align: center;
}
#logo-link-slider .logo-link-slider-wrapper ul li a img {
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  -webkit-transition: 0 linear left;
  -moz-transition: 0 linear left;
  transition: 0 linear left;
  opacity: 0.65;
  width: 100%;
}
.logo_link_static {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.logo_link_static a img {
  width: 200px;
}
/* ----- Contact CTA ----- */
.contact-info-widget{
  position: relative;
}
.contact-info-widget .content{
  display: flex;
  flex-direction: column;
  --contact-gap: 4rem;
  gap: var(--contact-gap);
}
.contact-info-widget .content .contact-list{
  margin-top: 4rem;
}
.contact-info-widget.has-sidebar .content{
  flex-direction: row;
}
.contact-info-widget.has-sidebar .content .contact-info-sidebar,
.contact-info-widget.has-sidebar .content .contact-info-main{
  width: calc(50% - calc(var(--contact-gap) / 2));
}
.contact-info-widget.has-sidebar .content .contact-info-sidebar form .half_width,
.contact-info-widget.has-sidebar .content .contact-info-sidebar form .third_width{
  width: 100%;
}
.contact-info-widget.has-sidebar .content .contact-info-sidebar .img-wrapper{
  width: 100%;
  height: 100%;
}
.contact-info-widget.has-sidebar .content .contact-info-sidebar .map-holder iframe,
.contact-info-widget.has-sidebar .content .contact-info-sidebar .img-wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-info-widget.has-sidebar .content .contact-info-sidebar .map-holder{
  position: absolute;
  top: 0;
  right: 0;
  width: calc(50% - calc(var(--contact-gap) / 2));
  height: 100%;
}
form .button{
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .contact-info-widget.has-sidebar .content{
    flex-direction: column;
  }
  .contact-info-widget.has-sidebar .content .contact-info-sidebar,
  .contact-info-widget.has-sidebar .content .contact-info-main{
    width: 100%;
  }
  .contact-info-widget.has-sidebar .content .contact-info-sidebar .map-holder{
    position: initial;
    width: 100%;
    height: 40rem;
  }
}
.sidebar-widget .content{
  display: flex;
  --sidebar-gap: 6.4rem;
  gap: var(--sidebar-gap);
  flex-direction: row-reverse;
}
.sidebar-widget.aside-right .content{
  flex-direction: row;
}
.sidebar-widget .content .sidebar-layout{
  width: 100%;
  max-width: 40rem;
}
.sidebar-widget .content .editable_content{
  width: 100%;
  max-width: calc(100% - 40rem - var(--sidebar-gap));
}
.aside-group{
  margin: 1.6rem 0 0;
}
.aside-group > h4{
  margin: 0 0 .8rem;
}
.aside-group > ul{
  border-top: 1px solid var(--color-border);
  list-style: none;
  margin: 0;
  padding: 0;
}
.aside-group > ul > li{
  margin: 0;
  padding: .8rem;
  border-bottom: 1px solid var(--color-border);
}
.aside-group > ul > li a{
  text-decoration: none;
}
.page-detail-layout {
  align-items: flex-start;
}
.page-detail-layout.layout-image-right {
  flex-direction: row-reverse;
}
.page-detail-gallery__main img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}
.page-detail-gallery__thumbs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  flex-wrap: nowrap;
  margin-top: 12px;
  padding-bottom: 4px;
}
.page-detail-gallery__thumb {
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  padding: 0;
  margin: 0;
  background: none;
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.15s ease, border-color 0.15s ease;
  overflow: hidden;
}
.page-detail-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.page-detail-gallery__thumb:hover,
.page-detail-gallery__thumb.is-active {
  opacity: 1;
  border-color: currentColor;
}
.page-detail-image {
  margin: 0;
}
.page-detail-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
.page-detail-image figcaption {
  margin-top: 8px;
  font-size: 0.9em;
  opacity: 0.7;
}
@media screen and (max-width: 1024px) {
  .page-detail-layout.layout-image-right {
    flex-direction: column;
  }
}
.jqueryslidemenu a.button{
  margin: 0;
  padding: 0 1.8rem;
  height: 3.6rem;
  font-size: 1.4rem;
  box-shadow: 0 10px 24px -10px rgba(212,0,12,.6);
  font-weight: 600;
}
.jqueryslidemenu a.button:hover{
  transform: translate(0 , -.4rem);
}
.hero__bg{ 
    position: absolute;
    pointer-events: none;
    width: 100%;
    height: 100%;
    z-index: 4;}
.blob{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.5; }
.blob--red{
  width:44vw; height:44vw; max-width:620px; max-height:620px;
  top:-14%; right:-8%;
  background:radial-gradient(circle at 40% 40%, rgba(255,134,55,.55), rgba(212,0,12,.22) 60%, transparent 72%);
}
.blob--teal{
  width:38vw; height:38vw; max-width:520px; max-height:520px;
  bottom:-18%; left:-10%;
  background:radial-gradient(circle at 50% 50%, rgba(204, 116, 0, 0.4), rgba(145, 70, 0, 0.14) 62%, transparent 74%);
    
}
.hero__arcs{
  position:absolute; top:50%; left:52%;
  width:min(1150px, 105vw); aspect-ratio:1;
  transform:translate(-50%,-50%);
  color:rgba(16,24,32,.1);
  opacity: .64;
}
.video-wrapper .caption{
  position: absolute;
  z-index: 3;
  left: -4.4rem;
  bottom: 8rem;
  max-width: 24rem;
  padding: 1.6rem;
  background: var(--color-paper);
  border-radius: 1.6rem;
  box-shadow: 0 2px 4px rgba(16, 24, 32, .04), 0 24px 48px -20px rgba(16, 24, 32, .22);
}
.video-wrapper .caption .h6{
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: .3rem;
}
.video-wrapper .caption p{
  font-size: 1.4rem;
  line-height: 1.45;
  font-weight: 500;
  margin: 0;
  color: var(--color-ink);
}
.intro-strip .grid{
  gap: 5.6rem;
}
.intro-strip .grid .col-6:nth-child(2){
  margin-top: 3rem;
}
.programs-cta .editable_content,
.treatment-cta .editable_content{
  margin: 0 0 4rem;
}
.treatment-list.treat-inner .content .flex{
  margin-top: 3.2rem;
}
.treatment-list .card{
  position: relative;
  display: flex;
  flex-direction: column;
  height: auto;
  padding: 0;
  background: var(--color-sand);
  border-radius: 1.6rem;
  overflow: hidden;
  transition: var(--animate-medium);
  box-shadow: none;
}
.treatment-list .card:hover{
  background: white;
  box-shadow: 0 2px 4px rgba(16,24,32,.04), 0 24px 48px -20px rgba(16,24,32,.22);
}
.treatment-list .card::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(150deg, rgba(255, 134, 55, .16), rgba(212, 0, 12, .06) 55%, transparent 78%);
  opacity: 0;
  transition: var(--animate-medium);
}
.treatment-list .card:hover::before{
  opacity: 1;
}
.treatment-list .card .img-wrapper{
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  transition: var(--animate-medium);
}
.treatment-list .card:hover .img-wrapper{
  background: var(--color-main);
}
.treatment-list .card .img-wrapper img,
.treatment-list .card .img-wrapper svg{
  width: 100%;
  aspect-ratio: 4 / 3;
  transition: var(--animate-medium);
}
/* .treatment-list .card:hover .img-wrapper img,
.treatment-list .card:hover .img-wrapper svg{
  filter: brightness(0) invert(1);
}*/
.treatment-list .card h3{
  font-size: 2rem;
  line-height: 1.2;
}
.treatment-list .card p{
  font-size: 1.4rem;
}
.treatment-list .card .content-wrapper{
  padding: 1.6rem;
}
.treatment-list .card .content-wrapper::after{
  font-family: "Font Awesome 7 Pro", "Font Awesome 5 Pro", "FontAwesome";
  font-weight: 600;
  content: "\f061";
  font-size: 1rem;
  position: relative;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--color-ink);
  box-shadow: inset 0 0 0 1.5px rgba(16, 24, 32, .16);
  transition: var(--animate-medium);
}
.treatment-list .card:hover .content-wrapper::after{
  color: white;
  background: var(--color-ink);
  border-color: var(--color-ink);
  transform: translate(.4rem , 0);
}
.button::after {
  font-family: "Font Awesome 7 Pro", "Font Awesome 5 Pro", "FontAwesome";
  font-weight: 900;
  content: "\f061";
  font-size: 1.2rem;
  margin-left: .8rem;
  transition: transform .3s ease;
}
.button:hover::after {
  transform: translate(.4rem , 0);
}
section.content_container.dark{
  background: var(--color-bg-dark);
  background-image: radial-gradient(120% 80% at 85% 0%, rgba(212, 0, 12, .16), transparent 60%);
}
.services-cta .content{
  display: flex;
  gap: 6.4rem;
}
.services-cta .content .editable_content{
  width: 100%;
  max-width: 44rem;
  display: flex;
  flex-direction: column;
}
.services-cta .content .editable_content figure,
.services-cta .content .editable_content::after{
  content: '';
  height: auto;
  width: 100%;
  display: flex;
  margin-top: 3.2rem;
  background: url(/assets/images/layout/image-conditions.jpg) center center no-repeat;
  background-size: cover;
  border-radius: 1.6rem;
  flex-grow: 1;
}
.services-cta .content .editable_content figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.services-cta .content .flex{
  width: calc(100% - 44rem - 6.4rem);
  gap: 0;
}
.services-cta .content .flex .card{
  background: none;
  box-shadow: none;
  border-radius: 0;
  border-bottom: 1px solid var(--color-line-light);
  padding: 3.2rem 0;
}
.services-cta .content .flex .card:hover{
  transform: none;
}
.services-cta .content .flex .card:first-child{
  border-top: 1px solid var(--color-line-light);
}
.services-cta .content .flex .card .img-wrapper{
  display: none;
}
.services-cta .content .flex .card h3{
  font-size: 2.8rem;
  display: flex;
  align-items: center;
  gap: 3.2rem;
  margin: 0;
}
.services-cta .content .flex .card.active h3{
  margin: 0 0 3.2rem;
}
.services-cta .content .flex .card h3 a:hover{
  color: var(--color-accent);
}
.services-cta .content .flex .card h3::before{
  content: '01';
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.2rem;
  letter-spacing: .1em;
  color: rgba(255, 255, 255, .38);
  transition: var(--animate-medium);
}
.services-cta .content .flex .card.active h3::before{
  color: var(--color-red);
}
.services-cta .content .flex .card:nth-of-type(2) h3::before{
  content: '02';
}
.services-cta .content .flex .card:nth-of-type(3) h3::before{
  content: '03';
}
.services-cta .content .flex .card:nth-of-type(4) h3::before{
  content: '04';
}
.services-cta .content .flex .card:nth-of-type(5) h3::before{
  content: '05';
}
.services-cta .content .flex .card h3::after{
  font-family: "Font Awesome 7 Pro", "Font Awesome 5 Pro", "FontAwesome";
  font-weight: 300;
  content: "\2b";
  font-size: 1rem;
  position: relative;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  color: white;
  box-shadow: inset 0 0 0 1.5px var(--color-line-light);
  transition: var(--animate-medium);
  margin-left: auto;
}
.services-cta .content .flex .card.active h3::after{
  box-shadow: inset 0 0 0 1.5px var(--color-main);
  background: var(--color-main);
  transform: rotate(45deg);
}
.services-cta .content .flex .card p{
  color: var(--color-text-light);
  margin: 0;
  height: 0;
  overflow: hidden;
}
.services-cta .content .flex .card.active p{
  height: auto;
}
.services-cta .content .flex .card .content-wrapper{
  padding: 0;
}
.programs-list .flex .card{
  position: relative;
}
.programs-list .flex .card:hover{
  transform: none;
}
.programs-list .flex .card .content-wrapper{
  padding: 2.8rem;
}
.programs-list .flex .card .content-wrapper p{
  margin: 0;
}
.programs-list .flex .card .content-wrapper .cf-session_status,
.programs-list .flex .card .content-wrapper .cf-program_type{
  position: absolute;
  right: 1.6rem;
  top: 1.6rem;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: .6rem 1.2rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(16, 24, 32, .6);
  backdrop-filter: blur(6px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
}
.programs-list .flex .card .content-wrapper .cf-session_status{
  right: auto;
  left: 1.6rem;
}
.programs-list .flex .card .content-wrapper a.button{
  text-transform: capitalize;
  margin-top: auto;
}
.programs-list .flex .card .content-wrapper .cf-end_time{
  margin-bottom: 3.2rem;
}
.content_container.img-float .content > .img-wrapper{
  border-radius: 2.4rem;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(16, 24, 32, .04), 0 24px 48px -20px rgba(16, 24, 32, .22);
}
.editable_content ul{
  list-style: none;
  margin: 2.4rem 0;
}
.editable_content ul li{
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
  color: var(--color-ink);
}
.editable_content ul li::before{
  font-family: "Font Awesome 7 Pro", "Font Awesome 5 Pro", "FontAwesome";
  font-weight: 900;
  content: "\f058";
  font-size: 1.6rem;
  color: var(--color-main);
  display: block;
  margin-top: 1px;
}
.reviews-cta .editable_content{
  margin: 0 0 4rem;
}
section.content_container.dark.contact-cta .img-wrapper::after{
    background: linear-gradient(102deg, var(--color-ink) 20%, rgba(16,24,32,.9) 48%, rgba(16,24,32,.55) 100%);
    z-index: 1;
}
section.content_container.dark.contact-cta .img-wrapper::before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background-image: radial-gradient(120% 80% at 85% 0%, rgba(212, 0, 12, .16), transparent 60%);
}
section.content_container.inner-intro{
  position: relative;
  z-index: 1;
  background: var(--color-bg-light);
  overflow: hidden;
}
section.content_container.inner-intro::before{
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .5;
  z-index: -1;
  width: 38vw;
  height: 38vw;
  max-width: 520px;
  max-height: 520px;
  top: -22%;
  right: -4%;
  background: radial-gradient(circle at 40% 40%, rgba(255, 134, 55, .55), rgba(212, 0, 12, .22) 60%, transparent 72%);
}
section.content_container.inner-intro::after{
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .5;
  z-index: -1;
  width: 30vw;
  height: 30vw;
  max-width: 420px;
  max-height: 420px;
  bottom: -30%;
  left: -8%;
  opacity: .4;
  background: radial-gradient(circle at 50% 50%, rgba(204, 116, 0, 0.4), rgba(145, 70, 0, 0.14) 62%, transparent 74%);
}
section.content_container.inner-intro .content{
  position: relative;
  z-index: 2;
}
section.content_container.inner-intro .content > .img-wrapper{
  max-width: 52rem;
}
section.content_container.inner-intro .content > .content-wrapper,
section.content_container.inner-intro .content > .editable_content {
    width: calc(100% - 58.4rem);
}
section.content_container.inner-intro .content > .content-wrapper .editable_content{
  width: 100%;
}
.conditions-list .editable_content{
  margin-bottom: 4rem;
}
.conditions-list .editable_content h2{
  max-width: 46rem;
}
.content-list .editable_content .grid .col-6:nth-child(2),
.conditions-list .editable_content .grid .col-6:nth-child(2){
  margin-top: 3rem;
}
.conditions-list .card .content-wrapper{
  padding: 3.2rem;
}
.conditions-list .card .content-wrapper .button{
  margin-top: auto;
}
.content-list .flex{
  gap: 12rem
}
.content-list .flex .card{
  overflow: visible;
  box-shadow: none;
  transform: none !important;
}
.content-list .flex .card .content-wrapper{
  padding: 0;
}
.content-list .flex .card .editable_content > .grid{
  gap: 6.4rem;
}
.content-list .flex .card .editable_content .grid .col-6 ul{
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.6rem;
}
.content-list .flex .card .editable_content .grid .col-6 ul li{
  width: calc(50% - .8rem);
}
.faq-strip .content{
  gap: 8rem;
  display: flex;
}
.faq-strip .content .editable_content{
  width: 100%;
  max-width: 48rem;
}
.faq-strip .content .toggle-wrapper{
  width: 100%;
  max-width: calc(100% - 56rem);
}
section.content_container.treatment-inner-list .flex,
section.content_container.other-conditions .flex{
  margin-top: 4rem;
}
section.content_container.other-conditions .flex .card{
  width: auto;
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  padding: 1.2rem 1.6rem;
  border-radius: 999px;
  font-size: 1.6rem;
  font-weight: 500;
  background: var(--color-paper);
  box-shadow: inset 0 0 0 1.5px var(--color-line);
  transition: var(--animate-medium);
}
section.content_container.other-conditions .flex .card:hover{
  transform: translate(0 , -0.3rem);
  box-shadow: inset 0 0 0 1.5px var(--color-ink);
  background: var(--color-ink);
}
section.content_container.other-conditions .flex .card .content-wrapper p,
section.content_container.other-conditions .flex .card .img-wrapper{
  display: none;
}
section.content_container.other-conditions .flex .card .content-wrapper{
  padding: 0;
}
section.content_container.other-conditions .flex .card .content-wrapper h3{
  margin: 0;
  font-size: 1.6rem;
  transition: var(--animate-medium);
}
section.content_container.other-conditions .flex .card:hover .content-wrapper h3{
  color: white;
}
section.content_container.other-conditions .flex .card .content-wrapper h3::after{
  font-family: "Font Awesome 7 Pro", "Font Awesome 5 Pro", "FontAwesome";
  font-weight: 900;
  content: "\f061";
  font-size: 1.2rem;
  margin-left: .8rem;
  transition: transform .3s ease;
}
section.content_container.other-conditions .flex .card:hover .content-wrapper h3::after{
  transform: translateX(3px);
}
section.content_container.treatment-inner-list .editable_content .grid .col-6:nth-child(2){
  margin-top: 3rem;
}
section.content_container.treatment-inner-list .flex .card{
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
  flex-direction: row;
}
section.content_container.treatment-inner-list .flex .card .anchor{
  display: none;
}
section.content_container.treatment-inner-list .flex .card .content-wrapper{
  padding-top: 0;
  display: grid;
  grid-template-columns: auto 3.4rem;
  gap: 1.6rem;
}
section.content_container.treatment-inner-list .flex .card .content-wrapper h3{
  margin: 0;
  align-content: center;
}
section.content_container.treatment-inner-list .flex .card .content-wrapper p{
  grid-row: 2;
}
section.content_container.team-cta .flex{
  margin-top: 4rem;
}
section.content_container.team-list .flex .card{
  padding: 2.4rem;
}
section.content_container.team-list .flex .card .img-wrapper{
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 1.6rem;
}
section.content_container.team-list .flex .card .img-wrapper img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
section.content_container.team-list .flex .card .content-wrapper h3{
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.25;
  letter-spacing: -.015em;
  margin: 0;
}
section.content_container.team-list .flex .card .content-wrapper .cf-job_title{
  margin-top: .6rem;
  font-size: 1.4rem;
  line-height: 1.45;
  color: var(--color-text-mid);
  padding-bottom: 1.6rem;
  border-bottom: 1px solid var(--color-line);
  margin: 0 0 1.6rem;
}
section.content_container.team-list .flex .card .content-wrapper a.button{
  transform: none !important;
  text-transform: capitalize;
  color: var(--color-ink);
}
section.content_container.team-list .flex .card .content-wrapper a.button::after{
  color: var(--color-ink);
}
section.content_container.team-list .flex .card .content-wrapper a.button:hover{
  color: var(--color-main);
}
section.content_container.team-list .flex .card .content-wrapper a.button:hover::after{
  color: var(--color-main);
}
section.content_container.programs-cta .editable_content .grid{
  gap: 8rem;
}
.dark .editable_content ul li{
  color: var(--color-paper);
}
.content-list .flex .card .editable_content .grid .col-6 .pep-grid .col-12{
  background: var(--color-bg-light);
  border-radius: 1.6rem;
  padding: 2.4rem;
  border-left: .4rem solid var(--color-main);
}
.content-list .flex .card .editable_content .grid .col-6 .pep-grid .col-12 h3{
  font-size: 2rem;
  color: var(--color-main);
}
.content-list .flex .card .editable_content .grid .col-6 .part-list .col-12{
  background: white;
  border-radius: 1.6rem;
  padding: 2.4rem;
  box-shadow: var(--shadow);
}
section.content_container.dark.reg-strip{
  background: var(--color-bg-light);
}
section.content_container.dark.reg-strip .content{
  background: var(--color-bg-dark);
  background-image: radial-gradient(120% 80% at 85% 0%, rgba(212, 0, 12, .16), transparent 60%);
  padding: 3.2rem;
  border-radius: 2.4rem;
  max-width: 102.4rem;
}
section.content_container.dark.reg-strip .content .col-4{
    justify-items: end;
    margin-top: 3rem;
}
section.content_container.dark.reg-strip .content .col-4 > div{
  padding: 2.4rem;
  background: rgba(255, 255, 255, .07);
  border-radius: 1.6rem;
  box-shadow: inset 0 0 0 1px var(--color-line-light);
}
section.content_container.dark.reg-strip .content .col-4 h3{
  color: var(--color-text-light);
  font-size: 2rem;
  letter-spacing: -.015em;
}
section.content_container.dark.reg-strip .content .editable_content .grid .col-4 ul{
  margin-bottom: 0;
}
section.content_container.dark.reg-strip .content .editable_content .grid .col-4 ul li{
  align-items: center;
}
section.content_container.dark.reg-strip .content .editable_content .grid .col-4 ul li:last-child{
  margin: 0;
}
section.content_container.dark.reg-strip .content .editable_content .grid .col-4 ul li::before{
  display: none;
}
section.content_container.dark.reg-strip .content .editable_content .grid .col-4 ul li i{
  color: var(--color-accent);
}
section.content_container.dark.reg-strip .content .editable_content .grid .col-4 ul li a{
  text-decoration: none;
}
.about-approach .editable_content .col-6 ul{
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.6rem;
}
.about-approach .editable_content .col-6 ul li{
  width: calc(50%  - .8rem);
}
.img-float.img-right.serving-strip .content{
  flex-direction: column-reverse;
}
.img-float.img-right.serving-strip .content .editable_content{
  width: 100%;
}
.img-float.img-right.serving-strip .content .img-wrapper{
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9; 
}
.serving-strip .editable_content .col-6 ul{
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.6rem;
}
.serving-strip .editable_content .col-6 ul li{
  width: auto;
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  padding: 1.2rem 1.6rem;
  border-radius: 999px;
  font-size: 1.6rem;
  font-weight: 500;
  background: var(--color-paper);
  box-shadow: inset 0 0 0 1.5px var(--color-line);
  transform: none !important;
}
.serving-strip .editable_content .col-6 ul li::before{
  display: none;
}
.insights-cta .flex{
  margin: 4rem 0 0;
}
.insights-cta .flex .card{
  flex-direction: row;
  align-items: center;
  gap: 0;
}
.insights-cta .flex .card .img-wrapper{
  width: 50%;
  height: 100%;
}
.insights-cta .flex .card .img-wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.insights-cta .flex .card .content-wrapper{
  width: 50%;
  padding: 2.4rem;
}
.inner-intro.contact-intro .content .editable_content{
  max-width: 72rem;
}
.form-terms{
  text-align: right;
}
.programs-list.insights-list .content .flex .card .content-wrapper p{
  margin: 0 0 1.6rem;
}
section.article-page .content{
  max-width: 102.4rem;
}
.error-page{
  background:  var(--color-bg-light);
  position: relative;
  z-index: 1;
  min-height: calc(100svh - 375px - 85px - 42px);
}
.error-page::before {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .5;
  z-index: -1;
  width: 38vw;
  height: 38vw;
  max-width: 520px;
  max-height: 520px;
  top: -22%;
  right: -4%;
  background: radial-gradient(circle at 40% 40%, rgba(255, 134, 55, .55), rgba(212, 0, 12, .22) 60%, transparent 72%);
}
.error-page::after{
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .5;
  z-index: -1;
  width: 30vw;
  height: 30vw;
  max-width: 420px;
  max-height: 420px;
  bottom: -30%;
  left: -8%;
  opacity: .4;
  background: radial-gradient(circle at 50% 50%, rgba(204, 116, 0, 0.4), rgba(145, 70, 0, 0.14) 62%, transparent 74%);
}
.error-page .content{
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px){
  #page footer .content{
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    align-items: center;
    text-align: center;
  }
  #page footer .sitemap, #page footer .footer-contact, #page footer .footer-social, #page footer .brand-wrapper{
    width: 100%;
    max-width: 48rem;
    text-align: center;
  }
  footer a.logo{
    margin: 0 auto;
  }
  #page footer .social_media ul,
  footer .sitemap nav ul, footer .sitemap ul{
    justify-content: center;
  }
  #page footer .footer-contact li,
  #page footer .h4,
  footer .sitemap nav ul li, footer .sitemap ul li{
    text-align: center;
  }
  footer .content .signature-strip ul,
  footer .content .signature-strip{
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
section.content_container.legal-page {
  background: var(--color-bg-light);
  position: relative;
  z-index: 1;
}
section.content_container.legal-page .content{
  max-width: 1024px;
}
section.content_container.legal-page::before {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .5;
  z-index: -1;
  width: 38vw;
  height: 38vw;
  max-width: 520px;
  max-height: 520px;
  top: -22%;
  right: -4%;
  background: radial-gradient(circle at 40% 40%, rgba(255, 134, 55, .55), rgba(212, 0, 12, .22) 60%, transparent 72%);
}
section.content_container.legal-page::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .5;
  z-index: -1;
  width: 30vw;
  height: 30vw;
  max-width: 420px;
  max-height: 420px;
  bottom: -30%;
  left: -8%;
  opacity: .4;
  background: radial-gradient(circle at 50% 50%, rgba(204, 116, 0, 0.4), rgba(145, 70, 0, 0.14) 62%, transparent 74%);
}
section.content_container.legal-page .content{
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1200px){
  .jqueryslidemenu a.logo{
    width: 14rem;
  }
  .jqueryslidemenu nav > ul > li > a,
  .jqueryslidemenu a.button{
    font-size: 1.3rem;
  }
  .jqueryslidemenu nav > ul > li > a{
    padding-inline: 8px;
  }
}
@media screen and (max-width: 1024px) {
  .banner-container-constrained p,
  .banner-container-constrained .h0{
    text-align: center;
  }
  .banner-container-constrained .btn-wrapper{
    justify-content: center;
  }
  .intro-strip .grid{
    gap: 1.6rem;
  }
  .intro-strip .grid:has(> .col-3){
    border: none;
  }
  .intro-strip .editable_content > .grid + .grid{
    margin: 0;
  }
  .intro-strip .grid .col-3, .grid .col-4 {
    grid-column: span 4;
  }
  .intro-strip .grid:has(> .col-3) > .col-3:first-child{
    border-top: 1px solid var(--color-border);
    padding-top: 2rem;
  }
  .services-cta .content{
    flex-direction: column;
    gap: 3.2rem;
  }
  .faq-strip .content .editable_content,
  .faq-strip .content .toggle-wrapper,
  section.content_container.inner-intro .content > .content-wrapper, section.content_container.inner-intro .content > .editable_content,
  .services-cta .content .flex,
  .services-cta .content .editable_content{
    width: 100%;
    max-width: 100%;
  }
  section.content_container.programs-cta .editable_content .grid{
    gap: 3.2rem;
  }
  .programs-list .flex .card .content-wrapper a.button{
    margin-top: 1.6rem;
  }
  .reviews-cta .grid .col-6{
    grid-column: span 8;
  }
  .reviews-cta .grid > .col-6:has(> .rating){
    justify-content: flex-start;
  }
  .grid .col-6 {
    grid-column: span 8;
  }
  .content-list .editable_content .grid .col-6:nth-child(2), .conditions-list .editable_content .grid .col-6:nth-child(2){
    margin: 0;
  }
  .content-list .flex .card .editable_content > .grid{
    gap: 1.6rem;
  }
  .content-list .flex{
    gap: 8rem;
  }
  .faq-strip .content{
    flex-direction: column;
    gap: 3.2rem;
  }
  section.content_container.dark.reg-strip .content .col-4{
    justify-items: start;
    grid-column: span 8;
  }
  .shadow-grid .grid{
    display: flex;
    flex-direction: column;
  }
  .shadow-grid .grid > div{
    width: 100% !important;
  }
  .shadow-grid .grid > div.col-8{
    padding-bottom: 0 !important;
  }
  .shadow-grid .grid > div.col-8 p{
    font-weight: 600;
  }
  .shadow-grid .grid > div.col-4{
    padding-top: 0 !important;
    text-align: left;
    border: none !important
  }
}
@media screen and (max-width: 768px){
.insights-cta .flex .card{
  flex-direction: column;
}
.insights-cta .flex .card .img-wrapper{
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
}
.insights-cta .flex .card .content-wrapper{
  width: 100%;
}
}
@media screen and (max-width: 640px){
  .content-list .flex .card .editable_content .grid .col-6 ul li{
    width: 100%;
  }
}
@media screen and (max-width: 580px){
.treatment-list .card{
  width: 100%;
}
section.content_container.treatment-inner-list .flex .card{
  flex-direction: column;
}
section.content_container.treatment-inner-list .flex .card .content-wrapper{
  display: flex;
  flex-direction: column;
}
section.content_container.treatment-inner-list .flex .card .content-wrapper p{
  margin: 0;
}
section.content_container.team-list .flex .card{
  width: 100%;
}
}
section.content_container.legal-page{
  overflow: hidden;
}
section.content_container.legal-page .content{
  max-width: 102.4rem;
}
section.content_container.insurance-strip{
  overflow: hidden;
  border-block: 1px solid hsla(0 0% 100% / .16);
}
section.content_container.insurance-strip .editable_content{
  margin: 0 0 4rem;
}
section.content_container.insurance-strip .widget-slider .swiper-slide{
  border-radius: 1.6rem;
  overflow: hidden;
}
section.content_container.insurance-strip .widget-slider .swiper-slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dark .swiper-pagination-bullet{
  background: white;
}
.dark .widget-slider .swiper-pagination-bullet-active{
  background: var(--color-main);
}
.mva-form form .half_width,
.mva-form form .third_width{
  width: 100%;
}
.mva-form form .button{
  grid-column-start: 2;
  width: auto;
}
.mobile_header .button{
  margin: 10px 0 0;
  height: 4rem;
}
.mobile_header .logo_area{
  padding-left: 3.6rem;
}
@media screen and (max-width: 400px) {
  .mobile_header .button{
    font-size: 1.4rem;
  }
  .mobile_header .logo_area > a{
    width: 14rem;
    align-items: center;
    display: flex;
  }
}
section.content_container.schedule-list {
  padding-top: 0;
}

/* Widget card pagination (framework 5.4.6 back-port).
   .is-paged-out must beat the category filter's inline display:block — that filter
   owns inline styles, so the pager owns a class and !important settles the order.
   --link-color arrived in a later framework version than this site is on, so the
   button colours fall back to the site's own accent/heading tokens; the fallbacks
   drop away on their own once the site is upgraded and the variable exists. */
.is-paged-out {
  display: none !important;
}
.widget-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--flex-gap);
  margin-top: var(--flex-gap);
  width: 100%;
}
.widget-pagination .page-status {
  font-size: var(--font-size-body);
  color: var(--font-color-body);
  font-variant-numeric: tabular-nums;
}
.widget-pagination button {
  background: none;
  border: none;
  cursor: pointer;
  padding: .8rem 1.2rem;
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  color: var(--link-color, var(--color-main));
  transition: var(--animate-fast);
}
.widget-pagination button:hover:not(:disabled) {
  color: var(--link-color-hover, var(--color-heading));
}
.widget-pagination button:disabled {
  opacity: .35;
  cursor: default;
}
.dark .widget-pagination .page-status { color: var(--font-color-body-dark); }
.dark .widget-pagination button { color: var(--link-color-dark, var(--font-color-body-dark)); }
.main .widget-pagination .page-status { color: var(--font-color-body-main); }
.main .widget-pagination button { color: var(--link-color-main, var(--font-color-body-main)); }
