/**********************************************/
/* Theme Name: WordPress Base                 */
/* Theme URI: http://www.wordpressbase.com    */
/* Author: WordPress Base                     */
/* Author URI: https://www.paperstreet.com    */
/* Description: A WordPress starting point    */
/* Text Domain: paperstreet                   */
/* Version: 3.2604                            */
/**********************************************/

/*
GENERAL
MENUS
HEADER
FOOTER
FEATURES
ANIMATIONS
MODULES
PRINT
MISC
*/

html:has(body.logged-in) {
  margin-top: 46px;
}

html:has(body.logged-in) #mobile-navigation,
html:has(body.logged-in) .header {
  top: 46px;
}

@media screen and (min-width: 783px) {
  html:has(body.logged-in) {
    margin-top: 32px;
  }

  html:has(body.logged-in) #mobile-navigation,
  html:has(body.logged-in) .header {
    top: 32px;
  }
}

/*******************************************************************************************
GENERAL - Layout and general features
*******************************************************************************************/

/* GENERAL > Utility Classes */
h3.gsection_title {
  text-align: center;
  color: var(--color-white);
  font-size: 30px;
}

.no-margin-last>p:last-of-type {
  margin: 0 !important;
}

.no-transition {
  transition: none !important;
}

.hr-after {
  position: relative;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.center,
.has-text-align-center,
.align-center,
.text-center {
  text-align: center;
}

.right,
.align-right,
.text-right {
  text-align: right;
}

.body-font {
  font-family: var(--font-family-body);
}

.header-font {
  font-family: var(--font-family-heading);
}

.overflow-hidden {
  overflow: hidden;
}

.flex-container {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}

.flex-align-vertical {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flex-align-horizontal {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  text-align: center;
}

.small-margin-left {
  margin-left: 10px;
}

.small-margin-right {
  margin-right: 7px;
}

span.small-margin-right::after {
  content: "|";
  margin: 0 0px 0 6px;
}

.pointer-events-none {
  pointer-events: none;
}

span.small-margin-right:last-of-type::after {
  opacity: 0;
}

.transition-all {
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.z-index-over {
  position: relative;
  z-index: 1;
}

.background-center {
  background-position: center center !important;
}

.background-y-bottom {
  background-position-y: 100%;
}

.background-y-top {
  background-position-y: 0%;
}

.background-cover {
  background-size: cover;
  background-repeat: no-repeat;
}

.background-transparent {
  background: transparent;
}

.light-text,
button.light-text,
.light-text h1,
.light-text h2,
.light-text h3,
.light-text p,
.light-text span,
.light-text li,
.light-text label {
  color: white;
}

/* GENERAL > HTML and Structure */
.content {
  margin-bottom: 60px;
}

.content .wp-block-image {
  margin-bottom: 30px;
}

img.alignright,
.content .wp-block-image .alignright,
.content .wp-block-image.alignright {
  float: right;
  margin: 0 0 var(--gutter-size) var(--gutter-size);
}

img.alignleft,
.content .wp-block-image .alignleft,
.content .wp-block-image.alignleft {
  float: left;
  margin: 0 var(--gutter-size) var(--gutter-size) 0;
}

.content p.indent {
  margin-left: 60px;
}

.content section {
  margin-bottom: 60px;
}

.content section:last-of-type {
  margin: 0;
}

ol,
ul {
  margin: 0 0 35px 0;
  padding: 0;
}

ol {
  list-style-position: outside;
  padding-left: 20px;
}

ul.has-before li,
.content ol ul li,
.content li {
  font-size: 18px;
  color: var(--color-body-text);
  padding: 0 0 0 20px;
  position: relative;
  padding-left: 30px;
}

.content ol li {
  padding-left: 0;
}

.content ul li::before,
ul.has-before li::before {
  position: absolute;
  left: 0;
  content: "—";
  color: var(--color-secondary);
}

ul.has-before li::before,
.content ul li::before,
.sidebar section ul li::before {
  font-family: "Font Awesome 6 Pro";
}

.content ul ul,
.content ol ol,
.content ol ul {
  margin-left: 5px;
  margin-bottom: 0
}

hr,
.hr-after::after {
  background: var(--color-secondary);
  width: 20%;
  height: 5px;
  display: block;
  border: none;
  margin: 40px 0;
  content: "";
}

figure {
  margin: 0;
}

.italic {
  font-style: italic;
}

.non-italic,
address {
  font-style: normal;
}

section.no-underline ul {
  border: none;
}

section.no-underline ul:last-of-type {
  padding: 0;
}


.sidebar section:not(:last-child) {
  margin-bottom: 40px;
}

.sidebar section ul li {
  /* padding: 6px 0 6px 18px; */
  position: relative;
  padding: 20px;
  padding-left: 0px;
}

/*.sidebar section ul li::before {
	position: absolute;
	color: var(--color-secondary);
	content: "\f105";
	top: 6px;
	left: 0;
}*/

.sidebar section ul li {
  border-bottom: 1px solid var(--color-gray);
}

.sidebar section ul li,
.sidebar section ul li a {
  display: block;
}

.sidebar section button.no-button,
.sidebar section ul li a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 400;
}

.sidebar section button.no-button:hover,
.sidebar section button.no-button:focus,
.sidebar section ul li a:hover,
.sidebar section ul li a:focus {
  color: var(--color-alternate);
  text-decoration: underline;
}

.sidebar section ul li ul {
  padding-left: 20px;
  margin: 0;
}

.content .search-results-container {
  margin-bottom: 80px;
}

.sidebar-block ul:last-of-type {
  margin: 0;
}

/* GENERAL > Form and Inputs */
input,
select,
textarea {
  color: white;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--color-white);
  font-size: 1rem;
  line-height: 1;
  font-family: var(--font-family-body);
  box-shadow: none;
  margin: 0;
  width: 100%;
  border-radius: 0;
  padding: 0 15px;
}

select {
  border-bottom: none;
}

input,
select,
textarea,
label {
  height: 45px;
  line-height: 45px;
}

input.dark-input,
select.dark-input,
textarea.dark-input {
  color: var(--color-primary);
}

textarea {
  resize: none;
  min-height: 90px;
  padding-top: 15px;
  padding-bottom: 15px;
  line-height: 1.2;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: white;
}

input::placeholder,
textarea::placeholder {
  color: white;
}

select,
form legend,
form label,
form p {
  font-size: 0.9rem;
}

legend,
label {
  color: white;
}

fieldset {
  padding: 0;
  border: none;
  margin: 0;
}

label {
  position: absolute;
  top: 0;
  left: 0;
  padding-left: 10px;
  pointer-events: none;
  transition: all 200ms ease-out;
}

input:focus:not([type="checkbox"])~label,
textarea:focus~label,
input.active~label,
textarea.active~label,
select.active~label {
  padding-left: 0;
  line-height: 0;
  top: -16px;
  font-size: 0.7rem;
}

.form-input-group label i {
  color: var(--color-secondary);
}

.gfield,
.form-input-group {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 25px;
  text-align: left;
}

.form-input-group.button-container {
  margin-bottom: 0;
}

select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.select-wrapper {
  position: relative;
  width: 100%;
}

.select-wrapper::after {
  content: "\f0dc";
  font-weight: 900;
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  right: 0;
  top: 0;
  text-align: center;
  width: 45px;
  line-height: 45px;
  color: var(--color-primary);
  pointer-events: none;
  transition: all 200ms ease-out;
}

.select-wrapper.active::after {
  background: var(--color-primary);
  color: white;
}

.sidebar .gform_wrapper,
.sidebar .form-container {
  background: var(--color-primary);
  padding: 30px;
}

.contact-form-heading {
  color: white;
  text-align: center;
}

.background-input input:focus:not([type="checkbox"])~label,
.background-input textarea:focus~label,
.background-input input.active~label,
.background-input textarea.active~label,
.background-input select.active~label {
  color: var(--color-primary);
}

.background-input input,
.background-input textarea,
.background-input select {
  background-color: var(--color-primary);
}

.background-input.select-wrapper::after,
.background-input .select-wrapper::after {
  background-color: var(--color-gray);
}

input.has-error {
  border: 1px solid #ff0000 !important;
  box-shadow: 0 0 2px #ff0000 !important;
}

/* GENERAL > Gravity Forms Customizations */
.gform_fields input:focus:not([type="checkbox"])~label,
.gform_fields textarea:focus~label,
.gform_fields input.active~label,
.gform_fields input.active~label,
.gform_fields textarea.active~label,
.gform_fields select.active~label {
  top: -30px;
}

.gform_wrapper label {
  line-height: 1;
  display: flex;
  align-items: center;
  padding-left: 0px;
  top: -25px;
}

.gform_footer .gform_button {
  padding: 0;
}

.gform_validation_errors ol,
.gform_submission_error .gform_heading,
.ginput_counter,
span.gfield_required {
  display: none;
}

.gfield_contains_required label.gfield_label:after {
  content: " *";
  color: red;
  margin-left: 5px;
  display: none;
}

.gform_submission_error,
h2.gform_submission_error,
.validation_message,
p.error-text {
  color: red;
  font-weight: 700;
  margin: 0;
  font-size: 0.7rem;
  -webkit-animation: fadeIn 125ms both;
  animation: fadeIn 125ms both;
}

.gform_validation_errors {
  display: none;
}

/* GENERAL > Swiper Customizations */
.swiper.swiper-initialized {
  visibility: visible;
}

.swiper-button-container {
  position: absolute;
  display: flex;
  justify-content: space-between;
  left: -30px;
  right: 0;
  width: calc(100% + 60px);
  top: calc(50% - 22px);
}

.swiper-button-container.buttons-bottom {
  left: 0;
  top: 100%;
  width: 100%;
}

.swiper-button-container .swiper-button-next,
.swiper-button-container .swiper-button-prev {
  position: relative !important;
  height: auto !important;
  min-width: 44px !important;
  margin-top: 0 !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: "Font Awesome 6 Pro" !important;
  content: "\f105" !important;
  color: var(--color-primary);
  -webkit-transition: color 200ms ease-out;
  -moz-transition: color 200ms ease-out;
  -ms-transition: color 200ms ease-out;
  -o-transition: color 200ms ease-out;
  transition: color 200ms ease-out;
}

.swiper-button-prev:after {
  content: "\f104" !important;
}

.swiper-button-next:hover:after,
.swiper-button-next:focus:after,
.swiper-button-prev:hover:after,
.swiper-button-prev:focus:after {
  color: var(--color-secondary) !important;
}

.swiper-outer {
  max-width: 85%;
  position: relative;
  margin: 0 auto;
}

.swiper-outer.full-width {
  max-width: none !important;
}

.swiper-autoplay-toggle {
  position: absolute;
  z-index: 1;
  bottom: 20px;
  right: 20px;
}

@media screen and (min-width: 768px) {
  .sidebar .swiper-outer {
    max-width: 100%;
  }
}

@media screen and (min-width: 1025px) {
  .swiper-outer {
    max-width: calc(100% - 200px);
  }

  .swiper-button-container {
    left: -100px;
    width: calc(100% + 200px);
  }

  .swiper-outer.full-width .swiper-button-container {
    left: 0;
    width: 100%;
  }
}

/* GENERAL > Skip To Content */
#skiptocontent {
  z-index: 10;
  position: fixed;
  padding: 8px;
  display: block !important;
  transform: translateY(-40px);
  opacity: 0;
  background-color: var(--color-secondary);
  color: white;
  transition: all 200ms ease-out;
}

#skiptocontent:focus {
  transform: translateY(0);
  opacity: 1;
}

@media only screen and (max-width: 640px) {
  #skiptocontent {
    display: none !important;
  }
}

/*******************************************************************************************
MENUS - Non-critical menu styling
*******************************************************************************************/

/* MENUS > Mobile Menu */
#mobile-navigation {
  z-index: 100;
  position: fixed;
  top: 0;
  background-color: var(--color-primary);
  overflow: auto;
}

#mobile-navigation.active {
  -webkit-animation: fadeInRight 400ms cubic-bezier(0.87, 0, 0.13, 1);
  animation: fadeInRight 400ms cubic-bezier(0.87, 0, 0.13, 1);
  display: block;
}

#mobile-navigation {
  width: 100%;
  height: 100vh;
}

.mobile-navigation-top-inner {
  align-items: center;
  padding: 8px var(--gutter-size);
  padding-right: 0;
  display: none;
  background: var(--color-primary);
}

.mobile-navigation-top-inner img {
  max-width: 70%;
  height: auto;
  display: none;
}

#mobile-navigation.active .mobile-navigation-top-inner {
  display: flex !important;
}

#mobile-navigation a {
  display: flex;
  justify-content: space-between;
  text-decoration: none;
  font-size: 1.2rem;
  color: white;
  padding: 8px var(--gutter-size);
}

li.pa a {
  font-size: 15px !important;
}

#mobile-navigation a:hover,
#mobile-navigation a:active,
#mobile-navigation a:focus {
  color: var(--color-alternate);
  background: var(--color-white);
}

#mobile-navigation ul {
  margin: 0;
}

#mobile-navigation ul li {
  padding: 0;
  position: relative;
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--color-light-gray);
}

.mobile-menu-accordion #mobile-navigation .sub-menu li {
  border-bottom: none;
}

.mobile-menu-accordion #mobile-navigation .sub-menu a {
  padding-left: calc(var(--gutter-size) * 1.5);
  background: var(--color-primary);
}

#mobile-navigation ul li:last-of-type {
  border: none;
}

#mobile-navigation ul li::before {
  display: none;
}

#mobile-navigation .sub-menu {
  margin: 0;
  background-color: var(--color-alternate);
  z-index: 1;
  overflow: auto;
  display: none;
  width: 100%;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

#mobile-navigation ul li.sub-menu-open>.sub-menu {
  display: block;
}

#mobile-navigation .menu-item-has-children>a::after {
  content: "\f0da";
  font-family: "Font Awesome 6 Pro";
  font-weight: 700;
}

#mobile-navigation .sub-menu-open.menu-item-has-children>a::after {
  content: "\f0d7";
}

.mobile-navigation-close {
  padding: 0;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  width: 80px;
  height: 100%;
  background: none;
  margin-left: auto;
  color: var(--color-white);
  font-size: 1.4rem;
  height: 60px;
}

.mobile-navigation-close:focus,
.mobile-navigation-close:hover {
  color: var(--color-secondary);
}

.mobile-navigation-previous {
  margin-bottom: 10px;
  border: none !important;
}

@media screen and (min-width: 1025px) {
  #mobile-navigation {
    display: none;
  }

  .mobile-navigation-top-inner {
    display: none;
  }
}

/* MENUS > Mobile Menu Paged */
.mobile-menu-paged #mobile-navigation .sub-menu {
  height: 100vh;
}

.mobile-menu-paged #mobile-navigation .menu-item-has-children>a::after {
  content: "\f105";
}

.mobile-menu-paged #mobile-navigation a {
  padding-left: var(--gutter-size);
}

.mobile-menu-paged #mobile-navigation ul li.sub-menu-open>.sub-menu {
  -webkit-animation: fadeInRight 300ms ease-out;
  animation: fadeInRight 300ms ease-out;
}

.mobile-menu-paged #mobile-navigation .sub-menu {
  position: fixed;
  top: 0;
}

/* MENUS > Mega Menu */
.mega-menu {
  width: 100%;
  position: absolute;
  top: 100%;
  left: auto;
  right: 0;
  background: var(--color-primary);
  padding: 25px 75px;
}

.mega-navigation-menu {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 18px;
  margin: 0;
}

.mega-menu li {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.mega-menu li:nth-child(4n) {
  border-right: none;
  margin: 0;
  padding-right: 0;
}

/*******************************************************************************************
HEADER - Non-critical header styling
*******************************************************************************************/

/* HEADER > Header Search Bar */
.header-search {
  position: fixed;
  top: -100px;
  left: 0;
  right: 0;
  background-color: var(--color-primary);
  padding: 18px 0;
  width: 100%;
  z-index: 3;
  transition: all 200ms ease-out;
}

.header-search.active {
  opacity: 1;
  top: 0;
}

.header-search-inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  float: none;
}

.search-results-post-type:not(:last-child) {
  margin-bottom: 30px;
}

.search-results-post-type ul {
  margin: 0;
}

.header-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 30px var(--gutter-size);
  background: var(--color-primary);
  display: none;
  max-height: 350px;
  overflow: auto;
}

.header-search-results.active {
  display: block;
  -webkit-animation: fadeIn 200ms ease-out;
  animation: fadeIn 200ms ease-out;
}

.header-search-results h3,
.header-search-results a,
.header-search-results p {
  color: white;
}

.header-search-results h3 {
  margin-bottom: 8px;
}

.header-search-results a {
  text-decoration: none;
}

.header-search-results a:hover,
.header-search-results a:focus {
  text-decoration: underline;
}

.header-search-form {
  position: relative;
  flex: 1;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}

#header-search-input {
  margin: 0;
  height: 45px;
  border: 0 none;
  font-size: 1.3rem;
  color: white;
  border-bottom: 1px solid var(--color-white);
  background: none;
  box-shadow: none;
  -webkit-box-shadow: none;
}

.header-search button {
  padding: 0 20px;
  height: 45px;
  white-space: pre;
}

.header-search-submit {
  margin: 0 1vw;
}

.header-search-submit span {
  display: none;
}

#header-search-open {
  font-size: 1.1rem;
  display: inline-block;
  line-height: 40px;
  width: 40px;
  height: 40px;
  padding: 0;
  text-align: center;
  margin: 0 0 5px 30px;
}

@media screen and (min-width: 520px) {
  .header-search-submit span {
    display: inline-block;
  }
}

.module-header-a-right {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-self: flex-end;
}

.module-header-a-right-top {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 8px;
}

.module-header-a-right-top span {
  font-weight: 600;
}

.module-header-a-phone {
  font-weight: 600;
  color: var(--color-secondary);
  font-size: 1.2rem;
  margin-left: 20px;
  display: inline-block;
}

.module-header-a-phone i {
  font-size: 80%;
}

.module-header-a-right-bottom {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -ms-align-items: flex-end;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  justify-content: flex-end;
}

.scrolled .module-header-a.bottom-section {
  background: var(--color-white);
  z-index: 999;

}

@media screen and (min-width: 1025px) {
  .module-header-a-right {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    width: 70%;
  }

  .top-section .module-header-a-right {
    width: 100%;
  }

  .module-header-a-logo {
    flex: 1;
  }

  .module-header-a-inner {
    padding: 0 var(--gutter-size);
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    position: relative;
  }

  .module-header-a-logo img {
    padding: 0;
    width: 250px;
  }
}

/*******************************************************************************************
FOOTER - Page bottom
*******************************************************************************************/
.footer {
  padding: 80px 0;
  text-align: center;
}

.footer-upper h2 {
  margin-bottom: 40px;
}

.footer-upper p {
  margin: 0;
}

.footer-upper-buttons,
.footer-upper-social {
  margin: 40px 0;
}

.footer-upper-social .social-links a {
  font-size: 1.6rem;
}

.footer-upper-social .social-links {
  margin: 0 auto;
}

.footer-lower span {
  position: relative;
  font-size: 0.7rem;
  text-transform: uppercase;
}

.footer-lower span::after {
  content: "|";
  margin: 0 8px;
}

.footer-lower span:last-of-type::after {
  display: none;
}

.footer-lower-disclaimer {
  line-height: 1;
  margin: 0 auto 40px;
}

@media screen and (min-width: 1025px) {
  .footer-upper-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
  }

  .footer-upper-buttons a {
    margin-bottom: 0;
  }

  .footer-lower-disclaimer {
    width: 60%;
  }
}

/*******************************************************************************************
FEATURES - Pre-built small sections
*******************************************************************************************/

/* FEATURES > Content Tables */
table.has-fixed-layout {
  width: 100%;
  table-layout: fixed;
}

.content table {
  border-collapse: collapse;
}

table th,
table td {
  border: 1px solid var(--color-light-gray);
  padding: 5px;
  text-align: left;
}

/* FEATURES > Breadcrumbs */
.breadcrumbs-container {
  display: none;
  flex-wrap: wrap;
  margin-bottom: 35px;
}

.breadcrumbs-single {
  position: relative;
  text-decoration: none;
  padding-right: 20px;
  margin-right: 20px;
}

.breadcrumbs-single:focus,
.breadcrumbs-single:hover {
  text-decoration: underline;
}

.breadcrumbs-single::after {
  position: absolute;
  right: -4px;
  content: "\f105";
  font-family: "Font Awesome 6 Pro";
}

.breadcrumbs-single:last-of-type {
  padding-right: 0;
  margin-right: 0;
}

.breadcrumbs-single:last-of-type::after {
  display: none;
}

@media screen and (min-width: 1025px) {
  .breadcrumbs-container {
    display: flex;
  }
}

/* FEATURES > Accordion */
.accordion-item {
  border-bottom: 1px solid var(--color-gray);
}

.accordion-item>h3 {
  margin-bottom: 0;
}

.accordion-item-title {
  color: var(--color-secondary);
  font-size: 18px;
  text-transform: capitalize;
  font-weight: bold;
  padding: 20px 15px;
  padding-left: 0px;
  font-size: 1rem;
  width: 100%;
  margin: 0;
  position: relative;
  cursor: pointer;
  font-weight: 600;
  line-height: 30px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  grid-gap: 15px;
  gap: 15px;
  -ms-align-items: center;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  transition: background 200ms ease-out;
  border: none;
}

.accordion-item-title::after {
  content: "\f107";
  font-family: "Font Awesome 6 Pro";
  line-height: 30px;
  width: 30px;
  height: 30px;
  font-size: 1.5rem;
  text-align: center;
  color: var(--color-secondary);
}

.accordion-item-title span {
  flex: 1;
  text-align: left;
}

.accordion-item.active:focus {
  outline: none;
}


.accordion-item-title:hover,
.accordion-item-title:focus {
  background: var(--color-primary);
  color: var(--color-white);
  width: 100%;
}

.accordion-item-title:focus:not(:focus-visible) {
  outline: none;
}

.accordion-item.active .accordion-item-title::after {
  content: "\f106";
}

.accordion-item.active .accordion-item-content {
  display: block;
  -webkit-animation: fadeIn 200ms both;
  animation: fadeIn 200ms both;
}

.accordion-item-content>*:first-child {
  margin-top: 20px;
}

.accordion-item-content>*:last-child {
  margin-bottom: 35px;
}

/* FEATURES > Quotes */
blockquote,
.quote-single {
  font-style: italic;
  position: relative;
  margin: 0 0 40px;
  padding-top: 20px;
  padding-left: 80px;
  border-left: 5px solid var(--color-primary);
}

blockquote p,
.quote-single p {
  margin: 0;
}

blockquote::before,
.quote-single::before {
  content: "\f10d";
  font-family: "Font Awesome 6 Pro";
  font-weight: 700;
  position: absolute;
  top: 1%;
  left: 3%;
  font-size: 2.7rem;
  opacity: 1;
  color: var(--color-primary);
  font-style: normal;
}

/* FEATURES > CTA Block */
.cta-single {
  padding: 40px;
  background: var(--color-light-gray);
  border: 1px solid var(--color-primary);
  text-align: center;
  margin-bottom: 40px;
}

.cta-single span {
  display: block;
  text-transform: uppercase;
  font-size: 1.3rem;
  line-height: 1.2;
  margin-bottom: 12px;
}

.cta-single a {
  font-size: 2rem;
  line-height: 1.2;
}

/* FEATURES > Slideout at Page Bottom */
.bottom-slideout {
  display: block !important;
  position: fixed;
  background: var(--color-white);
  box-shadow: 0 0 20px var(--color-black);
  padding: 30px;
  right: 0;
  bottom: 0;
  max-width: 400px;
  opacity: 0;
  z-index: 1;
  transform: translateX(100%);
  transition: all 200ms ease-out;
}

.bottom-slideout.active {
  transform: translateX(0);
  opacity: 1;
}

/* FEATURES > Reviews */
.reviews-container {
  background: var(--color-light-gray);
  padding: 50px 0;
}

.reviews-star-icon {
  color: var(--color-alternate);
  font-size: 1.1rem;
}

.reviews-single-source::before {
  content: "\2014";
  margin-right: 2px;
}

.reviews-star-icon i {
  margin: 0 2px;
}

.reviews-single {
  float: none;
  text-align: center;
}

.reviews-single em {
  font-style: italic;
  margin: 10px 0;
  display: block;
}

/* FEATURES > Video Gallery */
.videos-single {
  position: relative;
  width: 100%;
  min-height: 225px;
  margin-bottom: 120px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  text-align: center;
  background-size: cover;
  background-repeat: no-repeat;
  -ms-background-position-x: 100%;
  background-position-x: 100%;
  text-decoration: none;
}

.videos-single:hover::before,
.videos-single:focus::before {
  opacity: 0.6;
}

.videos-single::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--color-black);
  opacity: 0;
  transition: opacity 200ms ease-out;
}

.videos-single h2 {
  position: absolute;
  top: 100%;
  width: 100%;
  min-height: 75px;
  max-height: 75px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-secondary);
  color: white;
  font-size: 1.1rem;
  padding: 10px 20px;
  margin: 0;
  transition: background-color 200ms ease-out;
}

.videos-single:hover h2,
.videos-single:focus h2 {
  background-color: var(--color-primary);
}

@media screen and (min-width: 640px) {
  .videos-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-row-gap: 100px;
    grid-column-gap: 20px;
  }

  .videos-single {
    margin: 0;
  }
}

@media screen and (min-width: 1025px) {
  .videos-container {
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 50px;
  }
}

/* FEATURES > YouTube Player */
.youtube-player {
  position: relative;
  padding-bottom: 56.23%;
  /* Use 75% for 4:3 videos */
  height: 0;
  max-width: 100%;
  background: var(--color-black);
  margin: 20px 0 50px;
}

.youtube-player-inner {
  width: 100%;
  height: 100%;
  content: "";
  overflow: hidden;
  position: absolute;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}

.youtube-player-inner::after,
.videos-single::after {
  content: "\f144";
  font-family: "Font Awesome 6 Pro";
  font-size: 3.5rem;
  opacity: 0.8;
  display: inline-block;
  margin: 0 auto;
  transition: all 150ms ease-out;
  color: var(--color-alternate);
  pointer-events: none;
  z-index: 1;
}

.youtube-player-inner:hover::after,
.youtube-player-inner:focus::after,
.videos-single:hover::after,
.videos-single:focus::after {
  transform: scale(1.1);
  color: white;
  opacity: 1;
}

.youtube-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
}

.youtube-player img {
  bottom: 0;
  display: block;
  left: 0;
  margin: auto;
  max-width: 100%;
  width: 100%;
  position: absolute;
  right: 0;
  top: 0;
  border: none;
  height: auto;
  cursor: pointer;
  transition: all 200ms ease-out;
}

/* FEATURES > Social Link Lists */
.social-links {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: space-between;
  max-width: 160px;
}

.social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  width: 35px;
  line-height: 35px;
  height: 35px;
  text-decoration: none;
}

.social-links a img {
  width: calc(100% - 8px);
  height: calc(100% - 8px);
}

.social-links a:hover,
.social-links a:focus {
  color: var(--color-alternate);
}

/* FEATURES > Case Results */
.slider-results-single {
  border: 1px solid var(--color-secondary);
  padding: 30px;
}

.slider-results-single:last-of-type {
  margin: 0;
}

.slider-results-single h3 {
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 25px;
}

/* FEATURES > Table of Contents */
.content .toc-widget {
  background: none;
  padding: 0;
  margin-bottom: 40px;
}

.content .toc-widget-heading {
  margin-bottom: 15px;
}

.content .toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: toc-counter;
}

.content .toc-list li {
  counter-increment: toc-counter;
  border-bottom: 1px solid var(--color-secondary);
  padding: 10px 0 10px 50px;
  position: relative;
}

.content .toc-list li::before {
  content: counter(toc-counter, decimal-leading-zero) ".";
  position: absolute;
  left: 0;
  top: 10px;
  color: var(--color-secondary);
  font-weight: 700;
  font-family: var(--font-family-heading);
  min-width: 40px;
}

.content .toc-list button.no-button {
  color: var(--color-primary);
}

.content .toc-list button.no-button:hover,
.content .toc-list button.no-button:focus {
  color: var(--color-alternate);
  text-decoration: underline;
}

/*******************************************************************************************
ANIMATIONS - Ready-to-go animation classes
*******************************************************************************************/

.animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.fast {
  -webkit-animation-duration: 600ms;
  animation-duration: 600ms;
}

.animated.slow {
  -webkit-animation-duration: 2000ms;
  animation-duration: 2000ms;
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

.fadeInUpSlight {
  -webkit-animation-name: fadeInUpSlight;
  animation-name: fadeInUpSlight;
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

.fadeInRightSlight {
  -webkit-animation-name: fadeInRightSlight;
  animation-name: fadeInRightSlight;
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

.fadeInDownSlight {
  -webkit-animation-name: fadeInDownSlight;
  animation-name: fadeInDownSlight;
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

.fadeInLeftSlight {
  -webkit-animation-name: fadeInLeftSlight;
  animation-name: fadeInLeftSlight;
}

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInUpSlight {
  from {
    opacity: 0;
    transform: translate3d(0, 10%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUpSlight {
  from {
    opacity: 0;
    transform: translate3d(0, 10%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInRightSlight {
  from {
    opacity: 0;
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRightSlight {
  from {
    opacity: 0;
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInDownSlight {
  from {
    opacity: 0;
    transform: translate3d(0, -10%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDownSlight {
  from {
    opacity: 0;
    transform: translate3d(0, -10%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInLeftSlight {
  from {
    opacity: 0;
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeftSlight {
  from {
    opacity: 0;
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes menuSlideRight {
  from {
    opacity: 0;
    margin-left: -10px;
  }

  to {
    opacity: 1;
    margin-left: 0;
  }
}

@-webkit-keyframes menuSlideRight {
  from {
    opacity: 0;
    margin-left: -10px;
  }

  to {
    opacity: 1;
    margin-left: 0;
  }
}

@keyframes menuSlideDown {
  from {
    opacity: 0;
    margin-top: -10px;
  }

  to {
    opacity: 1;
    margin-top: 0;
  }
}

@-webkit-keyframes menuSlideDown {
  from {
    opacity: 0;
    margin-top: -10px;
  }

  to {
    opacity: 1;
    margin-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0s !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }
}

/*******************************************************************************************
MODULES - General styling for repeatable blocks
*******************************************************************************************/
.module {
  padding: 80px 0;
}

main .column .module .column {
  padding-left: 0;
  padding-right: 0;
}

.module-dark {
  background: var(--color-primary);
}

h2.module-title {
  margin-bottom: 60px;
}

.modules-showcase .module-title {
  display: block;
}

.modules-skip {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 10px;
}

.modules-skip button {
  margin: 0 5px 5px 0;
  padding: 10px;
}

.box-icon {
  margin: 0;
}

.box-icon::before {
  content: "\f073";
  font-family: "Font Awesome 6 Pro";
  width: 50px;
  line-height: 50px;
  font-size: 2rem;
  font-weight: 700;
  display: block;
  text-align: center;
  color: var(--color-primary);
  margin: 0 auto;
}

.content-selector {
  cursor: pointer;
  transition: background 200ms ease-out;
}

.content-selector:hover,
.content-selector:focus {
  background: var(--color-gray);
}

/*******************************************************************************************
PRINT - Specific styles for when pages are printed
*******************************************************************************************/
@media print {
  .header {
    top: 0;
    border: none;
    height: auto;
    position: static;
  }

  .header-mobile-buttons {
    display: none;
  }
}

/*******************************************************************************************
MISC - Miscellaneous and new code
*******************************************************************************************/

#theme-switcha {
  border: 1px solid var(--color-secondary);
  margin-bottom: 30px;
  color: var(--color-primary);
}

@media screen and (min-width: 1025px) {
  .make-sticky {
    position: sticky;
    top: var(--header-height);
    z-index: 1;
  }
}

/** new home css***/
.cyberonix-page {
  overflow-x: hidden;
  padding-top: 0;
}

.cy-container {
  width: min(1220px, calc(100% - 80px));
  margin: 0 auto;
}

/* Hero */
.cy-hero {
  min-height: 680px;
  background: url('/wp-content/uploads/home-hero.jpg') center bottom / cover no-repeat;
  display: flex;
  align-items: center;
}

.cy-hero p {
  font-size: 22px;
  font-weight: bold;
  line-height: 0.9;
  margin: 0 0 10px;
  color: var(--color-secondary);
}

.cy-hero h2,
.cy-hero h1 {
  font-family: var(--font-family-heading);
  font-size: 76px;
  /* 	font-size: 57px; */
  font-weight: 300;
  line-height: 0.9;
  letter-spacing: 2.7px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin: 0;
}

@media screen and (max-width: 768px) {

  .cy-hero h2,
  .cy-hero h1 {
    font-size: 57px;
  }

}

/* Global Typography */
.cy-intro h2,
.cy-why h2,
.cy-blue h2,
.cy-process h2,
.cy-trusted h2,
.cy-stats h2,
.cy-news h2,
.cy-contact h2 {
  color: var(--color-primary);
  text-transform: uppercase;
  line-height: 1;
  font-size: clamp(34px, 3vw, 52px);
  margin: 0 0 22px;
}

h3.cyn-intr0-tit {
  margin-bottom: 5px;
  font-size: 25px;
}

h3.cy-tit-2 {
  margin-bottom: 20px !important;
}

.cy-why p,
.cy-blue p,
.cy-process p,
.cy-trusted p,
.cy-news p,
.cy-contact p {
  line-height: 1.75;
}

.cy-news h2,
.cy-stats h2 {
  text-transform: capitalize;
}

/* Button */
.cy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #008fbd;
  color: #027CB6;
  background: transparent;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  padding: 12px 22px;
  margin-top: 18px;
  margin-bottom: 25px;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: color 0.3s ease;
}

.cy-btn:before {
  content: "";
  position: absolute;
  inset: 0;
  background: #027CB6;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
  z-index: -1;
}

.cy-btn:hover:before {
  transform: scaleX(1);
}

.cy-btn:hover,
.cy-btn:focus {
  color: var(--color-white);
}

/* Intro */
.cy-intro {
  padding: 90px 0 0;
  background: #fff;
  position: relative;
  z-index: 1;
}

.cy-intro-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.35fr;
  gap: 90px;
  align-items: start;
}

.cy-intro h2 {
  font-size: 42px;
  font-weight: bold;
  line-height: 1.19;
  text-align: left;
}

.cy-image-card {
  background: url('/wp-content/uploads/home-sec-1.webp') center center / cover no-repeat;
  min-height: 395px;
  padding: 0;
  position: relative;
  z-index: 3;
  margin-top: -90px;
}

.cy-image-card img {
  width: 75%;
  display: block;
  margin-left: auto;
  margin-right: 85px;
  transform: translateY(85px);
  position: relative;
  z-index: 4;
}

/* Why */
.cy-check-item1 p {
  position: relative;
  padding-left: 28px;
  /* space for icon */
}

.cy-check-item1 p::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 3px;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: #fff;
  background: var(--color-primary);
  border-radius: 50%;
}

.cy-trusted h2,
.cy-why h2 {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: normal;
  text-transform: capitalize;
  margin-bottom: 0;
}

.cy-trusted h3 {
  color: var(--color-primary);
}

.cy-trusted hr {
  background: var(--color-primary);
  width: 7%;
  margin: 30px 0;
}

.cy-why {
  background: #f2f2f2;
  padding: 130px 0 95px;
  position: relative;
}

.cy-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
  margin-top: 35px;
}

.cy-check-col {
  display: flex;
  flex-direction: column;
}

.cy-check-item {
  position: relative;
  padding: 0 0 24px 36px;
  margin-bottom: 24px;
  border-bottom: 1px solid #cfcfcf;
}

.cy-process-content .cy-check-item {
  border-bottom: none;
  position: relative;
  padding: 0 0 24px 36px;
  padding-bottom: 0px;
  margin-bottom: 20px;
}

.cy-process-content .cy-check-item h3 {
  margin-bottom: 10px;
  padding-left: 20px;
  align-items: center;
}

/* Remove old ::before icon */
.cy-check-item:before {
  content: none !important;
  display: none !important;
}

/* Title + number layout */
.cy-check-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

/* Number style */
.cy-check-number {
  font-weight: 700;
  font-size: 40px;
  color: var(--color-white);
  min-width: 32px;
  background: var(--color-primary);
  border-radius: 50px;
  width: 70px;
  text-align: center;
  height: 70px;
	
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
}

.cy-check-item p {
  margin: 0;
  padding: 0;
}

.d-flex {
  display: flex;
}

.cy-check-col .cy-btn {
  align-self: flex-start;
  margin-top: 4px;
}

/* Blue Section */
.cy-blue {
  background: url('/wp-content/uploads/home-sec-2-new-bg-3-scaled.png') center bottom / cover no-repeat;
  color: #fff;
  padding: 178px 0;

}

.cy-blue h2 {
  color: #fff;
}

/* Process */
.cy-process {
  display: grid;
  grid-template-columns: 38% 62%;
}

.cy-process-img {
  background: url('/wp-content/uploads/home-sec-4-vertical.webp') center / cover no-repeat;
  min-height: 720px;
  margin-top: -50px;
}

.cy-process-content {
  padding: 120px 80px;
  max-width: 920px;
}

.cy-steps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px 60px;
  margin-top: 40px;
}

.cy-steps span {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #008fbd;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 15px;
}

.cy-steps h3 {
  font-size: 17px;
  margin: 0 0 10px;
}

/* Trusted + News */
.cy-trusted,
.cy-news {
  background: #f1f1f1;
  padding: 95px 0 120px;
}

.cy-tabs-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 80px;
  align-items: start;
  margin-top: 40px;
}

.cy-tabs {
  display: flex;
  flex-direction: column;
}

.cy-tab-content {
  padding-top: 18px;
  max-width: 620px;
}

.cy-tabs button {
  appearance: none;
  border: 0;
  border-bottom: 1px solid #c9c9c9;
  background: transparent;
  color: #08223d;
  width: 100%;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  padding: 24px 28px;
  font: inherit;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 800;
  text-transform: capitalize;
  border-radius: 0px;
  height: 68px;
}

.cy-tabs button.active {
  background: var(--color-primary);
  color: #fff;
}

.cy-tab-panel {
  display: none;
}

.cy-tab-panel.active {
  display: block;
}

.cy-link {
  color: var(--color-primary);
  font-weight: 800;
  text-transform: uppercase;
}

a.cy-link {
  position: relative;

}

a.cy-link::after {
  content: "";
  position: absolute;
  background: var(--color-primary);
  width: 100%;
  height: 2px;
  display: inline-block;
  left: 0;
  bottom: -3px;
}

/* Stats */
.cy-stats {
  text-align: center;
  padding: 85px 0;
}

.cy-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 30px;
}

.cy-stat-grid div {
  background: url('/wp-content/uploads/result.jpg') center bottom / cover no-repeat;
  color: #fff;
  height: 140px;
  padding-top: 20px;
}

.cy-stat-grid strong {
  display: block;
  font-size: 48px;
  font-weight: 900;
  padding-bottom: 0px;
  margin-bottom: -10px;
}

.cy-stat-grid span {
  font-size: 13px;
  font-weight: 700;
}

/* News */
.cy-news-grid {
  display: grid;
  grid-template-columns: 35% 65%;
  gap: 60px;
}

.news-block {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 24px 0;
  /*border-bottom: 1px solid #B6C4B6;*/
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 0px;

}

.cy-main-news-block {
  border-bottom: 1px solid #B6C4B6;
  max-width: 720px;
}

.news-link {
  text-align: right;
  padding: 0px;
}

.cy-news-date {
  display: block;
  color: #9a9a9a;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 10px;
}

.cy-news-item strong {
  display: block;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.56;
  text-align: left;
  color: #434343;
  max-width: 517px;
}

.cy-news-arrow {
  color: #008fbd;
  font-size: 24px;
  flex: 0 0 auto;
  transition: transform 0.25s ease;
}

.cy-news-item:hover .cy-news-arrow {
  transform: translateX(5px);
}

/* Footer / Contact Section */
.cy-contact {
  background: var(--color-secondary);
  color: #fff;
  padding: 90px 0 55px;
  position: relative;
  overflow: visible;
}

.cy-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 90px;
  align-items: start;
}

.cy-contact h2 {
  color: #fff;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.08;
  margin: 0 0 28px;
  text-transform: none;
}

.cy-contact p {
  color: #fff;
  max-width: 520px;
  margin-bottom: 10px;

}

.cy-contact p.fot-text {
  margin-bottom: 25px;
}

.cy-contact a {
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  font-size: 17px;
}

.cy-form {
  background: var(--color-primary);
  padding: 48px 42px;
  margin-top: -150px;
  width: 100%;
  box-sizing: border-box;
  max-width: 392px;
  margin-left: 167px;
}

.cy-form h3 {
  color: #fff;
  font-size: 30px;
  line-height: 1.1;
  margin: 0 0 60px;
  text-align: center;
}

.cy-form input,
.cy-form textarea {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .65);
  color: #fff;
  padding: 15px 0;
  outline: none;
  font-size: 14px;
  box-sizing: border-box;
}

.cy-form input::placeholder,
.cy-form textarea::placeholder {
  color: rgba(255, 255, 255, .9);
}

.cy-form textarea {
  min-height: 95px;
  resize: vertical;
}

.cy-form button,
.cy-form input[type="submit"] {
  width: 100%;
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
  text-transform: uppercase;
  padding: 15px;
  margin-top: 28px;
  font-size: 20px;
  font-weight: 300;
  cursor: pointer;
  transition: all 0.25s ease;
  border-radius: 0px;
  letter-spacing: 1px;
}

.cy-form button:hover,
.cy-form input[type="submit"]:hover {
  background: #fff;
  color: #008fbd;
}

/* Greater than 1920 */
@media (min-width: 1921px) {
  .cy-container {
    width: min(1320px, calc(100% - 120px));
  }

  .cy-hero {
    min-height: 760px;
  }

  .cy-image-card {
    min-height: 430px;
  }

  .cy-image-card img {
    width: 70%;
    margin-right: 113px;
    transform: translateY(75px);
  }

  .cy-why {
    padding-top: 140px;
  }

  .cy-process-content {
    max-width: 850px;
  }

  .cy-contact {
    padding: 100px 0 65px;
  }

  .cy-contact-grid {
    grid-template-columns: minmax(0, 1fr) 460px;
    gap: 110px;
  }

  .cy-form {
    margin-top: -165px;
    padding: 55px 48px;
  }
}

/* 1280 / Laptop */
@media (max-width: 1399px) {
  .cy-container {
    width: min(1120px, calc(100% - 64px));
  }

  .cy-hero {
    min-height: 590px;
    height: 100vh
  }

  .cy-intro {
    padding-top: 80px;
  }

  .cy-intro-grid {
    gap: 70px;
  }

  .cy-image-card {
    min-height: 470px;
    background-position: center center;
  }

  .cy-image-card img {
    width: 80%;
    margin-right: 53px;
    transform: translateY(120px);
  }

  .cy-why {
    padding-top: 145px;
  }

  .cy-process-content {
    padding: 100px 60px;
  }

  .cy-tabs-layout {
    grid-template-columns: 380px 1fr;
    gap: 60px;
  }

  .cy-tabs button {
    font-size: 21px;
  }

  .cy-contact {
    padding: 80px 0 50px;
  }

  .cy-contact-grid {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 70px;
  }

  .cy-form {
    margin-top: -165px;
    padding: 42px 36px;
  }

  .cy-form h3 {
    font-size: 26px;
  }
}

/* Tablet */
@media (max-width: 991px) {
  .cy-container {
    width: min(720px, calc(100% - 32px));
  }

  .cy-hero {
    min-height: 600px;
    background: url('/wp-content/uploads/home-mobile.png') center center / cover no-repeat;
    align-items: flex-start;
    padding-top: 171px;
  }

  .cy-hero h1 {
    font-size: 6rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 2.01px;
    text-align: left;
  }

  .cy-hero p {
    font-size: 22px;
    font-weight: bold;
    line-height: 0.9;
    text-align: left;
    padding-bottom: 20px;
  }

  .cy-intro {
    padding: 55px 0 0;
  }

  .cy-intro-grid,
  .cy-process,
  .cy-tabs-layout,
  .cy-news-grid,
  .cy-contact-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .cy-image-card {
    min-height: 320px;
    padding: 0;
    background-position: center center;
  }

  .cy-image-card img {
    width: 78%;
    margin: 0 auto;
    transform: translateY(40px);
  }

  .cy-why {
    padding: 95px 0 70px;
  }

  .cy-check-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .cy-check-item {
    padding-left: 34px;
  }

  .cy-trusted,
  .cy-stats,
  .cy-news {
    padding: 70px 0;
  }

  .cy-blue {
    padding: 90px 0;
  }

  .cy-steps {
    grid-template-columns: 1fr;
  }

  .cy-process-img {
    min-height: 360px;
    margin-top: 0;
  }

  .cy-process-content {
    padding: 60px 24px;
    max-width: 720px;
    margin: 0 auto;
  }

  .cy-tabs-layout {
    margin-top: 30px;
  }

  .cy-tab-content {
    padding-top: 0;
    max-width: 100%;
  }

  .cy-tabs button {
    font-size: 18px;
    padding: 20px 18px;
  }

  hr.cy-tabs {
    margin: 5px 0 !important;
    height: 1px !important;
    width: 20% !important;
  }



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

  .cy-contact {
    padding: 25px 0;
  }

  .cy-contact p {
    max-width: 100%;
  }

  .cy-form {
    margin-top: 0;
    max-width: 520px;
    padding: 40px 32px;
  }
}

/* Mobile */
@media (max-width: 575px) {
  .cy-container {
    width: calc(100% - 0px);
  }

  .cy-container1 {
    width: calc(100% - 55px);
  }

  .cy-intro-text {
    padding: 30px;
  }

  .cy-hero {
    min-height: 600px;
    min-height: 480px;
    padding-top: 171px;
  }

  .cy-hero p {
    font-size: 22px;
    font-weight: bold;
    line-height: 0.9;
    text-align: left;
    padding-bottom: 20px;
  }

  .cy-hero h1 {
    font-size: 70px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 2.01px;
    text-align: left;
  }

  .cy-intro {
    padding: 45px 0 0;
  }

  .cy-image-card {
    min-height: 250px;
    margin-top: 0px;
  }

  .cy-image-card img {
    width: 82%;
    transform: translateY(32px);
  }

  .cy-why {
    padding: 80px 0 55px;
  }

  .cy-trusted,
  .cy-stats,
  .cy-news {
    padding: 25px 0;
  }

  .cy-blue {
    background: url('/wp-content/uploads/mobile-blue-bg.png') center top / cover no-repeat;
    padding: 70px 0;
  }

  .cy-intro h2,
  .cy-why h2,
  .cy-blue h2,
  .cy-process h2,
  .cy-trusted h2,
  .cy-stats h2,
  .cy-news h2,
  .cy-contact h2 {
    font-size: 40px;
  }

  .cy-intro p,
  .cy-why p,
  .cy-blue p,
  .cy-process p,
  .cy-trusted p,
  .cy-news p,
  .cy-contact p {
    font-size: 18px;
  }

  .cy-process-img {
    min-height: 400px;
    width: 300px;
    margin: 0 auto;
    transform: translateY(-60px);
    margin-bottom: -40px;
  }

  .cy-process-content {
    padding: 50px 15px;
    padding-top: 0px;
  }

  .cy-steps {
    gap: 35px;
  }

  .cy-tabs button {
    font-size: 16px;
    padding: 18px 15px;
  }

  .cy-stat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .cy-stat-grid div {
    padding: 22px 10px;
  }

  .cy-stat-grid strong {
    font-size: 30px;
  }

  .cy-stat-grid span {
    font-size: 11px;
  }

  .cy-news-list a {
    gap: 15px;
    font-size: 14px;
  }

  .footer-top {
    padding: 20px;
    padding-top: 0px;
  }


  .cy-contact h2 {
    font-size: 30px;
    line-height: 1.12;
  }

  .cy-form {
    max-width: 100%;
    padding: 34px 22px;
  }

  .cy-form h3 {
    font-size: 24px;
  }

  .cy-form input,
  .cy-form textarea {
    font-size: 13px;
  }
}

/* Extra Small */
@media (max-width: 380px) {
  .cy-hero h1 {
    font-size: 36px;
  }

  .cy-stat-grid {
    grid-template-columns: 1fr;
  }
}

/**footer bar **/
.cy-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;

}

.footer-bottom {
  margin-top: 80px;
  font-size: 14px;
  padding-bottom: 50px;
}

.footer-bottom a {
  font-weight: normal !important;
  font-size: 14px !important;
}

.module-footer-c {
  background-color: var(--color-alternate);
  padding: 20px 0;
}

.footer-inner span {
  text-transform: capitalize;
  font-size: 14px;
  position: relative;
  color: var(--color-white);
}

.footer-inner span::after {
  margin: 0 12px;
  position: relative;
  display: inline-block;
  top: 2px;
  left: 0;
  content: "";
  width: 1px;
  height: 12px;
  background: var(--color-white);
}

.footer-inner span:last-of-type {
  margin-right: 0;
  padding-right: 0;
}

.footer-inner span:last-of-type::after {
  display: none;
}

.footer-inner a {
  color: var(--color-white);
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  text-transform: capitalize;
}

.footer-inner a:hover,
.footer-inner a:focus {
  color: var(--color-gray);

}

@media (max-width: 767px) {

  .cy-hero {
    padding-left: 20px;
    height: auto;
  }

  .footer-cred {
    padding: 20px;
    text-align: center;
    padding-bottom: 0px;
  }

  .cy-contact-grid {
    display: block;
  }

  .footer-bottom {
    padding-bottom: 0;
    margin-top: 30px;
  }
}

section.module.module-faq-a.show-for-small-only {
  background: #f4f4f4;
  /* text-align: left; */
  padding: 10px;
}

.module-faq-a-content hr {
  background: var(--color-primary);
  margin: 10px 0;
  height: 2px;
}

.module-faq-a-content h3 {
  color: var(--color-primary);
}

.module-faq-a-content .accordion-item-title {
  color: var(--color-secondary);
  font-size: 18px !important;
  text-transform: capitalize !important;
  font-weight: bold !important;
}


@media(min-width:280px) and (max-width:767px) {

  .cy-hero h1 {
    font-size: 67px;
  }

  h3.cyn-intr0-tit {
    margin-bottom: 5px;
    font-size: 21px;
    /* font-weight: 500; */
  }

  .cy-container1 h2 br {
    display: none;
  }

  .cy-process-content {
    padding: 50px 30px;
    padding-top: 0px;
  }

  .cy-process-content .cy-check-item {
    border-bottom: none;
    position: relative;
    padding: 0 0 24px 5px;

  }

  .cy-process-content .cy-check-item div.d-flex {
    margin-bottom: 15px;
  }

  .module.module-faq-a.show-for-small-only {
    padding-top: 35px !important;
  }

  .module.module-faq-a.show-for-small-only {
    padding: 0 !important;
    padding-top: 35px !important;
  }

  section.module.module-faq-a.show-for-small-only .column.no-float {
    padding: 0;
  }

  .module-faq-a-content {
    padding: 0 30px;
  }

  .accordion-item.active .accordion-item-title {
    background: var(--color-primary);
    color: #fff;
  }

  .module.module-faq-a.show-for-small-only .accordion-item-title {
    padding: 20px 25px;
    border-radius: 0 !important;
  }

  .accordion-item.active .accordion-item-title::after {
    color: #fff;
  }

  .accordion-item-title:hover::after,
  .accordion-item-title:focus::after {
    color: #fff;
  }

  .accordion-item.active .accordion-item-content {
    padding: 10px 25px 30px 25px;
  }

  .cy-stat-grid {
    grid-template-columns: 1fr 1fr;
    margin-left: -5%;
    width: 110%;
  }

  .cy-stat-grid strong {
    font-size: 40px;
  }

  .cy-stat-grid span p {
    font-size: 16px;
  }

  .news-link {
    text-align: right;
    padding: 0px;
    min-width: 30px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding-bottom: 13px;
  }

  .news-block {
    padding-bottom: 25px;
  }

  .cy-main-news-block {
    display: flex;
  }

  .cy-contact h2 {
    font-size: 40px;
    line-height: 1.12;
  }

  .cy-contact h2 br {
    display: none;
  }

  .footer-top {
    padding-top: 30px;
  }

  .cy-form {
    margin-left: 0;
  }

  .cy-contact a {
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
  }

  .cy-form h3 {
    font-size: 36px;
  }

}

a.external-link:hover,
a.external-link:focus,
.cy-contact a:focus,
.cy-contact a:hover,
.footer-bottom a:hover,
.footer-bottom a:focus,
.footer-inner a:hover,
.footer-inner a:focus,
a.links:hover,
a.links:focus {
  color: var(--color-white);
  text-decoration: underline !important;
}
.page-id-2164 .sidebar.column {
    display: none;
}



/* Safari: stop the ::after underline ghosting when a shorter tab reflows up */
.cy-trusted a.cy-link {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.cy-trusted .cy-tab-content {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

/* Content heading scale (2026-07-25): tighten H1/H2/H3 steps in page body copy.
   Scoped to #main .content so the page banner and homepage hero are unaffected. */
#main .content h1:not(#my-text) { font-size: 44px; }
#main .content h2 { font-size: 36px; }
#main .content h3 { font-size: 28px; }

/* Hero headline fallback (2026-07-25): matches only if letters are DIRECT children
   of #my-text, i.e. only if a theme redeploy reverts the word-grouping fix in
   template-home.php. Inline letters wrap at spaces only, so words never break;
   the entrance animation degrades to a staggered fade in that state. */
#my-text > .letter { display: inline; }

/* Header practice menu (2026-07-25): labels sat 8px above the logo's vertical center
   because each item carries a 30px bottom hover bridge for its dropdown. Rebalancing to
   8px top / 22px bottom drops the text to the logo's centerline while keeping the row
   height and dropdown hover area unchanged. */
.module-header-a-right-top .main-navigation-menu > li { padding: 8px 0 22px; }

/* Hero height cap (2026-07-25): the theme sets height:100vh on .cy-hero between
   768px and 1399px wide, so tall windows (portrait tablets, tall browser windows)
   stretched the hero to any height. Cap at 760px, the theme's own largest hero
   height (its >=1921px rule); typical laptop heights in this band are unaffected. */
@media (max-width: 1399px) and (min-width: 768px) {
  .cy-hero { max-height: 760px; }
}

/* 6: heading letter case (2026-07-25): the theme sets text-transform: capitalize on
   .cy-news h2 and .cy-trusted h2, forcing authored lowercase words to render capitalized
   ("In the News" -> "In The News", "Trusted in ..." -> "Trusted In ..."). Render the
   authored text as written instead. The theme loads style.css AFTER the wp-custom-css
   block, so the section tag is needed to out-rank the theme selectors in specificity. */
section.cy-news h2, section.cy-trusted h2 { text-transform: none; }

/* 7: practice-areas hub (post 2066): gap between the tile grid and the page copy below it,
   matching the 80px banner-to-tiles gap on the same page */
body.postid-2066 .module-practices-f {
	margin-bottom: 80px;
}

/* 8: expert card names on /experts/ (2026-07-25): block 2's content heading scale
   (#main .content h2) also catches the name inside each expert card, which the theme
   sizes at 1.3rem. At 36px the longer names wrap to two lines and the blue name band
   covers nearly half the portrait on phones. Restore the theme's card size; the extra
   class out-ranks the block 2 selector. */
#main .content .attorney-single-box h2 { font-size: 1.3rem; }