/*
Theme Name: Hitboox Child
Template: hitboox
Version: 0.1.8
Update URI: false
*/


/*** GLOBAL ***/

a {
  -o-transition:1s;
  -ms-transition:1s;
  -moz-transition:1s;
  -webkit-transition:1s;
  transition:1s;
}


/*** HEADER ***/
header#masthead {
  padding-top: 10px;
}
.header-absolute {
  padding: 30px 10px;
}

.single-hitboox_project .single-project-header:before,
.single-hitboox_services .single-services-header:before {
  background-color: transparent !important;
}

/* Hide the floating gamepad overlay container in headers (non-RTL) */
body:not(.rtl) .elementor-776 .elementor-element.elementor-element-41e2185 {
  display: none !important;
}

/* Global: ensure hitboox titles render in white */
h1.hitboox-title {
  color: #ffffff !important;
}

#page .e-con.e-flex>.e-con-inner .hitboox-title {
  padding: 100px 0 0 20px;
}
.single-hitboox_services .single-services-header {
  padding-top: 150px;
}
/* Equalize breadcrumb style for all pages */
.elementor-776 .elementor-element.elementor-element-9b9d1b2 .breadcrumb-listItem, .single-hitboox_services .breadcrumb-listItem {
  color: rgba(255, 255, 255, 0.6);
}

.elementor-776 .elementor-element.elementor-element-9b9d1b2 .breadcrumb-listItem a, .single-hitboox_services .breadcrumb-listItem a {
  color: rgba(255, 255, 255, 0.6);
}

.elementor-776 .elementor-element.elementor-element-9b9d1b2 .breadcrumb-listItem a:hover, .single-hitboox_services .breadcrumb-listItem a:hover {
  color: #AA00CC;
}


/* Page hero parallax */
body.page .entry-header--hero {
  background-attachment: fixed !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

/* Homepage hero slider: keep slide backgrounds fixed while scrolling */
body.home.page-template-template-homepage .elementor-widget-slides .swiper-slide-bg,
body.home.page-template-template-homepage .hitboox-slider .swiper-slide-bg,
body.home.page-template-template-homepage .elementor-widget-hitboox-slider .swiper-slide-bg {
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* JS-driven fix: offset slide backgrounds against scroll so they appear fixed even inside transformed sliders */
.bbl-home-hero-fixed .elementor-widget-slides .swiper-slide-bg,
.bbl-home-hero-fixed .hitboox-slider .swiper-slide-bg,
.bbl-home-hero-fixed .elementor-widget-hitboox-slider .swiper-slide-bg {
  background-position: center calc(50% + var(--bbl-scroll-y, 0px)) !important;
}

/* Force parallax on Elementor header container with hero background */
.elementor-776 .elementor-element.elementor-element-11f1516 {
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Force parallax on header containers (include motion layers) */
.elementor-776 .elementor-element.elementor-element-11f1516:not(.elementor-motion-effects-element-type-background),
.elementor-776 .elementor-element.elementor-element-11f1516 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}


/* NAV MENU */

.main-navigation .menu > li > a {
  display: inline-flex;
  align-items: center;
  gap: .35em;
  background-color: #2AA8A0;
  color: #fff !important;
  border-radius: 10px;
  padding: 15px 20px !important;
  transition: background-color 1s ease, color 1s ease;
}
.main-navigation .menu > li {
  margin-right: 10px;
}
.main-navigation .menu > li > a .hover-text,
.main-navigation .menu > li > a .hover-text span {
  color: inherit !important;
}
.main-navigation .menu > li:hover > a,
.main-navigation .menu > li:focus-within > a,
.main-navigation .menu > li.current-menu-item > a,
.main-navigation .menu > li.current-menu-parent > a,
.main-navigation .menu > li.current-menu-ancestor > a {
  background-color: #AA00CC;
  color: #fff !important;
}

.main-navigation .sub-menu {
  background: transparent !important;
  padding: 14px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.main-navigation .sub-menu > li {
  position: relative;
}
.main-navigation .sub-menu .sub-menu {
  top: -14px !important;
  left: calc(100% + 10px) !important;
  transform: translateY(0) !important;
  padding-top: 14px;
}
.main-navigation .sub-menu .menu-item a {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .5em;
  position: relative;
  background-color: #2AA8A0;
  border-radius: 10px;
  color: #fff !important;
  padding: 10px 48px 10px 32px;
  transition: background-color 1s ease, color 1s ease;
}
.main-navigation .sub-menu .menu-item-has-children > a::after,
.main-navigation .sub-menu .page_item_has_children > a::after {
  position: absolute !important;
  right: 32px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.main-navigation .sub-menu .menu-item a:hover,
.main-navigation .sub-menu .menu-item a:focus,
.main-navigation .sub-menu .menu-item.current-menu-item > a {
  background-color: #AA00CC;
  color: #fff !important;
}


/*** FOOTER ***/

/* Re-color mailing list disclaimer */
.elementor-51 .elementor-element.elementor-element-7490ca5.elementor-element h6 {
  color: #FF55FF;
}
/* Re-color copyright link */
.elementor-51 .elementor-element.elementor-element-b42ca58 a {
  color: #FF55FF;
  text-decoration: none;
}
.elementor-51 .elementor-element.elementor-element-b42ca58 a:hover {
  color: #2AA8A0;
  text-decoration: none;
}


/*** ELEMENTOR ***/

/* Elementor counter icons & text � keep teal accent */
.elementor-widget-icon-box .elementor-icon-box-icon {
  color: #2AA8A0 !important;
  fill: #2AA8A0 !important;
  stroke: #2AA8A0 !important;
}
.elementor-widget-icon-box .elementor-icon-box-description {
  color: #AA00CC !important;
  fill: #AA00CC !important;
  stroke: #AA00CC !important;
  font-weight: bold !important;
}

/* Elementor - Services buttons: teal base, purple hover wipe */
.service-item .service-button {
  background: #2AA8A0 !important;
  background-color: #2AA8A0 !important;
  background-image: none !important;
  --accent: #AA00CC !important;
  --bg-hover: #AA00CC !important;
}
.service-item .service-button::before {
  background:
    linear-gradient(to top left, #AA00CC 50%, rgba(170, 0, 204, 0) 50.1%) bottom right,
    linear-gradient(to bottom right, #AA00CC 50%, rgba(170, 0, 204, 0) 50.1%) top left !important;
  background-size: 0 0, 0 0 !important;
  background-repeat: no-repeat !important;
}
.service-item .service-button:hover::before,
.service-item .service-button:focus::before {
  background-size: 100% 100%, 100% 100% !important;
}

/* Elementor - Projects buttons: match services behavior */
.project-item .project-button {
  background: #2AA8A0 !important;
  background-color: #2AA8A0 !important;
  background-image: none !important;
  --accent: #AA00CC !important;
  --bg-hover: #AA00CC !important;
}
.project-item .project-button::before {
  background:
    linear-gradient(to top left, #AA00CC 50%, rgba(170, 0, 204, 0) 50.1%) bottom right,
    linear-gradient(to bottom right, #AA00CC 50%, rgba(170, 0, 204, 0) 50.1%) top left !important;
  background-size: 0 0, 0 0 !important;
  background-repeat: no-repeat !important;
}
.project-item .project-button:hover::before,
.project-item .project-button:focus::before {
  background-size: 100% 100%, 100% 100% !important;
}


/*** SERVICE PAGES ***/

.single-hitboox_services .services-header-content .entry-title {
  margin: 30px 0 0 20px;
}
.single-services-content .iconbox-icon {
  margin-bottom: 10px;
}


/*** PROJECT FILTERS ***/

/* Brand tokens (optional) */
/* Project Filters � BoardBrain */
/* Ensure BBL filters use requested typography */
.bblpe-layout-accordion summary,
.bblpe-filters .bblpe-filters-label,
.bblpe-layout-accordion .bblpe-filters-options label,
.bblpe-layout-accordion .bblpe-filters-options label span {
  font-weight: 400 !important;
}

/* Project service tags default bg */
.project-item .project-genres a {
  background-color: #2AA8A0 !important;
  color: #fff !important;
}

/* Project filters - All button states */
.bblpe-filter-btn.bblpe-filters-reset {
  background-color: #2AA8A0 !important;
  border-color: #2AA8A0 !important;
  color: #fff !important;
  transition: background-color 1s ease, color 1s ease, border-color 1s ease;
  font-size: 20px !important;
}
.bblpe-filter-btn.bblpe-filters-reset:hover,
.bblpe-filter-btn.bblpe-filters-reset:focus {
  background-color: #AA00CC !important;
  border-color: #AA00CC !important;
  color: #fff !important;
}
.bblpe-filter-btn.bblpe-filters-reset.is-active {
  background-color: #AA00CC !important;
  border-color: #AA00CC !important;
  color: #fff !important;
}


/*** BOTTOM CONTACT FORM ***/

.services-field { text-align: left; }

/* Overlay dropdowns: prevent layout shift on expand */
.bblpe-layout-accordion details {
  position: relative !important;
}
.bblpe-layout-accordion { overflow: visible !important; }
.bblpe-layout-accordion .bblpe-filters-group { position: relative !important; }
.bblpe-layout-accordion details,
.bblpe-layout-accordion details[open] { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.bblpe-layout-accordion .bblpe-filters-options {
  position: absolute !important;
  top: calc(100% + .25rem) !important;
  left: 0 !important;
  z-index: 1000 !important;
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: .5rem !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
  display: none !important;
  margin: 0 !important;
  padding: .5rem !important;
  max-height: 14rem !important;
  overflow: auto !important;
  min-width: 12rem !important;
  width: 100% !important;
}
.bblpe-layout-accordion details[open] .bblpe-filters-options {
  display: flex !important;
  flex-direction: column !important;
  gap: .35rem !important;
}

/* Parent theme archive filters: ensure regular weight labels */
.hitboox-project-filter label,
.hitboox-project-filter label span {
  font-weight: 400 !important;
}

/* Contact Form 7 � Services field tuning
   - Unbold label and options
   - Use normal text color (not purple)
   - Make options fill form width (stacked)
   - Remove borders/boxes around the group */
.services-field,
.services-field fieldset {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.services-field { text-align: left; }

/* Floating-legend fieldset that feels like an in-field label */
.services-field {
  position: relative;
  padding: 1.75rem 1rem .75rem;   /* top space makes room for the legend */
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
  /* Explicit spacing for the checkbox field */
  margin-top: 10px !important;    /* revert: remove the extra 10px */
  margin-bottom: 0px !important;  /* reduced by another 10px */
}

/* If your theme already draws a fieldset border, neuter it so ours wins */
.services-field { border-inline: 1px solid #e5e5e5; }
.services-field legend { padding: 0; }

/* Legend styled like a placeholder */
.services-field .field-legend {
  position: absolute;
  top: .45rem;
  left: 1rem;
  font-size: 1rem !important;    /* match option text size */
  line-height: 1;
  font-weight: 500 !important;   /* match requested weight */
  opacity: 1 !important;         /* full opacity */
  color: var(--text) !important; 
  background: var(--background_light) !important; /* match form bg */
  margin-bottom: 5px;            /* requested label spacing */
  padding: 0 .25rem;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease, font-size .15s ease;
}

/* Wake it up on focus/selection */
.services-field:focus-within .field-legend { opacity: .9; }
.services-field:has(input:checked) .field-legend { opacity: .9; }

/* Tidy checkbox rows */
.services-field .wpcf7-list-item { display: block; margin: .35rem 0; }
.services-field label { display: flex; align-items: center; gap: .5rem; }

/* CF7: button spacing */
.wpcf7-button { margin-top: 30px !important; margin-bottom: 0 !important; }
/* rely on container spacing; avoid double margins on the button element */
.wpcf7-form input[type=submit],
.wpcf7-form button[type=submit] { margin-top: 0 !important; }

/* CF7 Services: ensure checkbox text matches placeholder sizing/weight */
.services-field .wpcf7-list-item-label {
  font-family: inherit;
  font-size: 1rem !important;   /* match input/placeholder size */
  font-weight: 500 !important;  /* requested heavier weight */
  color: var(--text) !important;
  opacity: 1 !important;
}
.services-field label { opacity: 1 !important; color: var(--text) !important; }

/* Ensure checkbox control itself is fully opaque */
.services-field input[type=checkbox] { opacity: 1 !important; }

/* Divider under Services checkbox field to match other fields */
.services-field::after {
  content: "";
  display: block;
  height: 0;
  margin: 20px 0 0 0; /* 20px above, none below */
  padding: 0;         /* ensure no internal spacing */
  border-bottom: 1px solid var(--border);
}

/* Reduce space above ONLY the next field (Message) */
.services-field + p { margin-top: -10px !important; }

/* Add breathing room below legend label */
.services-field .wpcf7-form-control.wpcf7-checkbox { margin-top: 5px !important; }

/* CF7 consent checkbox: add separation from previous fields */
.wpcf7-form .wpcf7-acceptance {
  display: inline-flex;
  align-items: flex-start;
  gap: .5rem;
  margin-top: 50px !important;
}


/*** SINGLE JOB POSTS ***/

/* Hide duplicate job titles that appear below the Elementor hero */
.single-awsm_job_openings .awsm-job-single-content .entry-title {
  display: none;
}

/* Hide inline featured image inside main content; header already uses it as background */
.single-awsm_job_openings .awsm-job-single-content .awsm-job-featured-image {
  display: none !important;
}

/* Keep sidebar/widget thumbnails visible */
.single-awsm_job_openings .sidebar-single-job-post .awsm-job-featured-image {
  display: block !important;
}

/* Adjusts top/bottom spacing of job detail area to account for heading top space */
.awsm-job-container {
  padding: 0;
}

/* Color fix for Job post heading (Elementor bug) */
.awsm-job-container :is(h1, h2, h3, h4, h5, h6) {
  color: #aa00cc !important;
}

/* Adjusts job detail heading margins for long text block */
.awsm-job-single-wrap :is(h1, h2, h3, h4, h5, h6) {
  margin: 50px 0 20px 0;
}

/* Separates job tags block from detail text block & application form */
.awsm-job-specifications-row {
  margin: 30px 30px 50px 30px;
}

/* WP Job Openings consent checkbox spacing */
#awsm_form_privacy_policy,
#awsm_form_privacy_policy + label {
  margin-top: 50px !important;
}

/* Recent Jobs widget � two-column layout under the title */
.awsm-widget-recent-jobs .awsm-widget-job-item .awsm-job-widget-body {
  display: grid;
  grid-template-columns: 3fr 2fr;
  column-gap: 15px;
  align-items: flex-start;
}

/* Reduce padding inside each job item */
.awsm-widget-recent-jobs .awsm-job-item {
  padding: 10px !important;
}

/* Recent Jobs widget title padding (top/right/left only) */
.sidebar-single-job-post h2.widget-title {
  padding: 10px 10px 0 10px !important;
}

/* Jobs archive/grid typography */
.awsm-job-listings .awsm-grid-item {
  font-size: 20px !important;
}

.awsm-job-listings .awsm-grid-item .awsm-job-featured-image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 15px;
}

.awsm-job-listings .awsm-grid-item .awsm-job-featured-image {
  display: flex;
  justify-content: center;
}

/* Filters select label sizing */
.awsm-selectric .label {
  font-size: 20px !important; /* parent label */
  color: #2E2A32 !important;
}

/* Filters dropdown text sizing */
.awsm-selectric-items li,
.awsm-selectric-items .highlight {
  font-size: 16px !important;
}

/* Filters border radius */
.awsm-selectric,
.awsm-selectric .button,
.awsm-selectric .label {
  border-radius: 15px !important;
}

/* Center the filters horizontally */
.awsm-job-wrap .awsm-filter-wrap {
  margin: 0 auto 0;
  display: flex;
  justify-content: center;
}

.awsm-job-wrap .awsm-filter-wrap form {
  justify-content: center;
}

.awsm-job-wrap .awsm-filter-wrap .awsm-filter-items {
  justify-content: center;
  width: auto !important;
}

.awsm-job-listings .awsm-grid-item .awsm-job-item {
  border-radius: 20px;
}

.awsm-job-listings .awsm-grid-item .awsm-job-post-title {
  font-size: 30px !important;
  margin-top: 25px;
}

/* Ensure spec/meta text in grid inherits 16px */
.awsm-job-listings .awsm-grid-item .awsm-job-specification-item,
.awsm-job-listings .awsm-grid-item .awsm-job-more {
  font-size: 20px !important;
}

/* Bold Job Types and Job Locations in grid */
.awsm-job-listings .awsm-grid-item .awsm-job-specification-job-type,
.awsm-job-listings .awsm-grid-item .awsm-job-specification-job-location {
  font-weight: 700 !important;
}

/* Make More Details bold in grid */
.awsm-job-listings .awsm-grid-item .awsm-job-more {
  font-weight: 700 !important;
}

/* Make sure the title spans full width */
.awsm-widget-recent-jobs .awsm-widget-job-item .awsm-job-post-title {
  margin-bottom: 0.75rem;
  font-size: 20px !important;
}

/* Ensure title link inherits the 20px size */
.awsm-widget-recent-jobs .awsm-widget-job-item .awsm-job-post-title a {
  font-size: inherit !important;
}

/* Tweak meta column */
.awsm-widget-recent-jobs .awsm-job-widget-meta {
  font-size: 0.9em;
}

/* Ensure the left column uses full width of its grid cell */
.awsm-widget-recent-jobs .awsm-list-left-col {
  width: 100%;
  float: none;
}

/* More Details link color states */
.awsm-widget-recent-jobs .awsm-job-more,
.awsm-widget-recent-jobs .awsm-job-more:visited {
  color: #2AA8A0 !important;
}

/* Hover/focus for all widget links */
.awsm-widget-recent-jobs a:hover,
.awsm-widget-recent-jobs a:focus {
  color: #AA00CC !important;
}

/* Explicit hover/focus for More Details link */
.awsm-widget-recent-jobs .awsm-job-more:hover,
.awsm-widget-recent-jobs .awsm-job-more:focus {
  color: #AA00CC !important;
}

/* Remove default floats/width limits so thumbnail can use full right column */
.single-awsm_job_openings #secondary.widget-area.sidebar-single-job-post {
  padding: 10px !important;
}

.awsm-widget-recent-jobs .awsm-job-widget-thumb {
  float: none;
  width: 100%;
  text-align: right;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: flex-end;
}

.awsm-widget-recent-jobs .awsm-job-widget-thumb .awsm-job-featured-image {
  float: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

/* Thumbnail column: force a neat square image */
.awsm-widget-recent-jobs .awsm-job-widget-thumb .awsm-job-featured-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  margin: 0;
  padding: 0;
  border-radius: 15px;
}

/* Spec text sizing */
.awsm-widget-recent-jobs .awsm-job-specification-item,
.awsm-widget-recent-jobs .awsm-job-more {
  font-size: 16px;
}

/* Bold Job Types and Job Locations */
.awsm-widget-recent-jobs .awsm-job-specification-job-type,
.awsm-widget-recent-jobs .awsm-job-specification-job-location {
  font-weight: 700;
}

/* Make More Details bold */
.awsm-widget-recent-jobs .awsm-job-more {
  font-weight: 700;
}

/*** JOB APPLICATION FORM ***/

.awsm-job-form-inner {
  border-radius: 30px;
}

.awsm-job-form-inner h2 {
  margin: 20px 0 50px 0;
}

.awsm-job-form-group label {
  font-weight: 500;
  color: var(--dark);
}

.awsm-job-form-inner input[type=text], .awsm-job-form-inner input[type=email], .awsm-job-form-inner textarea {
  font-size: 20px;
}

/*** APPLICATION FORM BUTTON RESTYLE ***/

.awsm-application-form label.bbl-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.awsm-job-form .awsm-b-job-form-control {
  font-size: 20px !important;
}

.awsm-job-form .awsm-b-job-form-control::placeholder {
  font-size: 20px !important;
  opacity: 1;
}

.awsm-job-form .awsm-application-submit-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 20px 54px;
  margin: 30px 0;
  border: none;
  cursor: pointer;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  font-size: 18px;
  background: var(--primary, #2aa8a0);
  border-radius: 5px;
  overflow: hidden;
  isolation: isolate;
  clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
  transition: transform .35s ease, background-color .35s ease;
}

.awsm-job-form .awsm-application-submit-btn span {
  position: relative;
  display: inline-block;
  z-index: 2;
  transform-origin: center bottom;
  transition: transform .45s cubic-bezier(.25,.8,.25,1);
}

.awsm-job-form .awsm-application-submit-btn::before,
.awsm-job-form .awsm-application-submit-btn::after {
  content: "";
  position: absolute;
  width: 200%;
  height: 320%;
  top: -140%;
  background: var(--accent, #aa00cc);
  z-index: 1;
  transition: transform 2s cubic-bezier(.19,1,.22,1);
}

.awsm-job-form .awsm-application-submit-btn::before {
  left: -60%;
  transform: translateX(-130%) rotate(-45deg);
}

.awsm-job-form .awsm-application-submit-btn::after {
  right: -80%;
  top: -110%;
  transform: translateX(130%) rotate(-45deg);
}

.awsm-job-form .awsm-application-submit-btn:hover,
.awsm-job-form .awsm-application-submit-btn:focus {
  transform: translateY(0);
  color: #fff;
}

.awsm-job-form .awsm-application-submit-btn:hover::before,
.awsm-job-form .awsm-application-submit-btn:focus::before {
  transform: translateX(0) rotate(-45deg);
}

.awsm-job-form .awsm-application-submit-btn:hover::after,
.awsm-job-form .awsm-application-submit-btn:focus::after {
  transform: translateX(0) rotate(-45deg);
}

.awsm-job-form .awsm-application-submit-btn:hover span,
.awsm-job-form .awsm-application-submit-btn:focus span {
  transform: none;
}

.awsm-job-form .hover-text {
  position: relative;
  overflow: hidden;
  display: inline-block;
  perspective: 600px;
}

.awsm-job-form .hover-text span {
  display: block;
  transition: all .4s ease;
  z-index: 1;
  transform-style: preserve-3d;
  transform-origin: center bottom;
  backface-visibility: hidden;
  transform: translateY(0) rotateX(0deg);
}

.awsm-job-form .hover-text::before {
  content: attr(data-name);
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: all .4s ease;
  transform-style: preserve-3d;
  transform-origin: center top;
  backface-visibility: hidden;
  transform: translateY(100%) rotateX(-90deg);
}

.awsm-job-form .awsm-application-submit-btn:hover .hover-text span,
.awsm-job-form .awsm-application-submit-btn:focus .hover-text span {
  transform: translateY(-100%) rotateX(60deg);
}

.awsm-job-form .awsm-application-submit-btn:hover .hover-text::before,
.awsm-job-form .awsm-application-submit-btn:focus .hover-text::before {
  transform: translateY(0) rotateX(0deg);
}


/*** BLOG LIST ***/

/* Blog page title spacing and color */
body.blog h1.entry-title,
body.blog h1.hitboox-title {
  margin: 0 0 50px -10px !important;
  color: #aa00cc !important;
}

/* Blog: Featured Article heading � match Top Picks styling */
.featured-article-heading {
  font-size: clamp(56px, 5.8vmax, 90px);
  line-height: 1;
  font-weight: 900;
  font-family: var(--e-global-typography-accent-font-family, "Realce", sans-serif);
  color: #aa00cc !important;
  margin: 0 0 20px 0;
  text-transform: uppercase;
}

/* Reduce space below featured article container on Blog page */
.elementor-1977 .elementor-element.elementor-element-736b6db {
  margin-bottom: 70px;
}

/*** BLOG POSTS (Post CPT only) ***/

body.single-post #content.site-content {
  margin-top: 0;
  padding-top: 140px;
}

body.single-post .entry-content h2 {
  font-size: 40px;
  line-height: 44px;
  margin-top: 40px;
  margin-bottom: 22px;
  font-weight: 900;
}

body.single-post .entry-content h3 {
  font-size: 30px;
  line-height: 34px;
  margin-top: 30px;
  margin-bottom: 16px;
}

/* BLOG TABLE OF CONTENTS */

/* Easy TOC: match blog H2 + body text */
body.single-post #ez-toc-container .ez-toc-title {
  font-family: "Realce", "HelveticaNeue-Light", Helvetica, Arial, sans-serif;
  font-size: 40px;
  line-height: 44px;
  font-weight: 900;
  margin: 40px 0 22px;
  color: #AA00CC;
}
body.single-post #ez-toc-container .ez-toc-list,
body.single-post #ez-toc-container .ez-toc-list li,
body.single-post #ez-toc-container .ez-toc-list li a {
  font-family: "General Sans", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
  color: var(--text, #2E2A32);
}
body.single-post #ez-toc-container {
  margin: 40px 0;
}
body.single-post #ez-toc-container .ez-toc-list li a,
body.single-post #ez-toc-container .ez-toc-list li a:visited {
  text-decoration: none;
  color: var(--text, #2E2A32);
  transition: color 1s ease;
}
body.single-post #ez-toc-container .ez-toc-list li a:hover,
body.single-post #ez-toc-container .ez-toc-list li a:focus {
  text-decoration: none;
  color: #AA00CC;
}




