/*
    Theme Name: Ion
    Author: NetGain SEO
    Author URI: https://netgain.agency/
    Description: Base theme for NetGain SEO projects
*/

button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

:root {

  /* GENERAL SETTINGS */
  --spacing: clamp(50px, 3.90625vw, 75px);
  --radius: clamp(5px, 0.4166666666666667vw, 8px);
  --transition: all 0.3s;
  --transition--slow: all 0.6s ease;
  --transition--fast: all 0.15s;
  
  /* FONT SIZING & LINE HEIGHTS */
  --font: "Arial", sans-serif;
  --heading: var(--font);

  --font-size: clamp(16px, 1.09375vw, 22px);
  --font-size--small: calc(var(--font-size) * 0.75);
  --font-size--large: calc(var(--font-size) / 0.75);
  --font-size--h1: clamp(56px, 5.208333333333333vw, 100px);
  --font-size--h2: clamp(41px, 3.6458333333333335vw, 70px);
  --font-size--h3: clamp(32px, 2.6041666666666665vw, 50px);
  --font-size--h4: clamp(24px, 2.0833333333333335vw, 40px);
  --font-size--h5: clamp(20px, 1.5625vw, 30px);
  --font-size--h6: clamp(16px, 1.09375vw, 22px);
  --line-height: 1.625;
  --line-height--small: 1.25;
  --line-height--large: 2;
  --line-height--heading: 1.3;
  
  /* CONTAINER SIZING */
  --container-above--1600: 1450px;
  --container-above--1368: 1308px;
  
  /* THEME COLORS */
  --red: #ea2027;
  --blue: #0652dd;
  --green: #009432;
  --purple: #6f1e51;
  --yellow: #ffc312;
  --orange: #ee5a24;
  --text: #606060;
  --dark: #1f1f20;
  --light: #f0f0f0;
  --grey: #999999;
  --primary: var(--blue);
  --secondary: var(--purple);

  /* BUTTONS */
  --button-padding--top: clamp(16px, 1.1458333333333333vw, 22px);
  --button-padding--bottom: clamp(16px, 1.1458333333333333vw, 22px);
  --button-padding--left: clamp(24px, 1.71875vw, 33px);
  --button-padding--right: clamp(24px, 1.71875vw, 33px);
  --button-radius: 0;
  --button-text--casing: none;
  --button-text--size: var(--mainFontSize);
  --button-text--weight: 400;
  --button-text--font: var(--font);
  --button-text--colour: #fff;
  --button-text--letter-spacing: 0px;
  --button-border-width: 0px;
  --button-background--primary: var(--primary);
  --button-background--secondary: var(--secondary);
  --button-background--ghost: transparent;
  --button-hover--background: var(--dark);
  --button-hover--color: var(--buttonTextColour);
  --button-hover--background-dark: #fff;
  --button-hover--color-dark: #000;



  /* FORM FIELDS */
  --form-field--border: #ddd;
  --form-field--padding-top: clamp(10px, 0.78125vw, 15px);
  --form-field--padding-bottom: var(--form-field--padding-top);
  --form-field--padding-left: clamp(15px, 1.0416666666666667vw, 20px);
  --form-field--padding-right: var(--form-field--padding-left);
  --form-field--radius: 0px;

  /* HEADER DEV */
  --header-adjustment: 0px;

}

.fixed-header {
  position: fixed !important;
  z-index: 999999 !important;
  top: 0;
  left: 0; 
  right: 0;
  width: 100% !important;
}

@media (max-width: 767px) {
  .fixed-header-mobile {
    position: fixed !important;
    z-index: 999999 !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100% !important;
  }
}


.elementor-editor-active .fixed-header {
  position: relative !important; 
}

.admin-bar .fixed-header {
  top: 32px !important;
}

.adjust-for-header {
  margin-top: var(--header-adjustment) !important;
}


.container,
.elementor-container,
.e-con > .e-con-inner {
  margin: 0 auto;
  max-width: 1140px !important;
}


@media (min-width: 1368px) {
  .container,
  .elementor-container,
  .e-con > .e-con-inner {
    max-width: var(--container-above--1368) !important;
  }
}

@media (min-width: 1600px) {
  .container,
  .elementor-container,
  .e-con > .e-con-inner {
    max-width: var(--container-above--1600) !important;
  }
}

.elementor-section-full_width .elementor-container {
  max-width: 100% !important;
}


.pg-section.e-con { padding: var(--spacing) 0; }
.pg-section.e-con.pt-0 { padding-top: 0; }
.pg-section.e-con.pb-0 { padding-bottom: 0; }

.pt { padding-top: var(--spacing); }
.pb { padding-bottom: var(--spacing); }
.pl { padding-left: var(--spacing); }
.pr { padding-right: var(--spacing); }

.pt-0 { padding-top: 0; }
.pb-0 { padding-bottom: 0; }
.pl-0 { padding-left: 0; }
.pr-0 { padding-right: 0; }

.pt-quarter { padding-top: calc(var(--spacing) / 4); }
.pb-quarter { padding-bottom: calc(var(--spacing) / 4); }
.pl-quarter { padding-left: calc(var(--spacing) / 4); }
.pr-quarter { padding-right: calc(var(--spacing) / 4); }

.pt-third { padding-top: calc(var(--spacing) / 3); }
.pb-third { padding-bottom: calc(var(--spacing) / 3); }
.pl-third { padding-left: calc(var(--spacing) / 3); }
.pr-third { padding-right: calc(var(--spacing) / 3); }

.pt-half { padding-top: calc(var(--spacing) / 2); }
.pb-half { padding-bottom: calc(var(--spacing) / 2); }
.pl-half { padding-left: calc(var(--spacing) / 2); }
.pr-half { padding-right: calc(var(--spacing) / 2); }

.pt-double { padding-top: calc(var(--spacing) * 2); }
.pb-double { padding-bottom: calc(var(--spacing) * 2); }
.pl-double { padding-left: calc(var(--spacing) * 2); }
.pr-double { padding-right: calc(var(--spacing) * 2); }

.pt-triple { padding-top: calc(var(--spacing) * 3); }
.pb-triple { padding-bottom: calc(var(--spacing) * 3); }
.pl-triple { padding-left: calc(var(--spacing) * 3); }
.pr-triple { padding-right: calc(var(--spacing) * 3); }

.mt { margin-top: var(--spacing); }
.mb { margin-bottom: var(--spacing); }
.ml { margin-left: var(--spacing); }
.mr { margin-right: var(--spacing); }

.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.ml-0 { margin-left: 0; }
.mr-0 { margin-right: 0; }

.mt-quarter { margin-top: calc(var(--spacing) / 4); }
.mb-quarter { margin-bottom: calc(var(--spacing) / 4); }
.ml-quarter { margin-left: calc(var(--spacing) / 4); }
.mr-quarter { margin-right: calc(var(--spacing) / 4); }

.mt-third { margin-top: calc(var(--spacing) / 3); }
.mb-third { margin-bottom: calc(var(--spacing) / 3); }
.ml-third { margin-left: calc(var(--spacing) / 3); }
.mr-third { margin-right: calc(var(--spacing) / 3); }

.mt-half { margin-top: calc(var(--spacing) / 2); }
.mb-half { margin-bottom: calc(var(--spacing) / 2); }
.ml-half { margin-left: calc(var(--spacing) / 2); }
.mr-half { margin-right: calc(var(--spacing) / 2); }

.mt-double { margin-top: calc(var(--spacing) * 2); }
.mb-double { margin-bottom: calc(var(--spacing) * 2); }
.ml-double { margin-left: calc(var(--spacing) * 2); }
.mr-double { margin-right: calc(var(--spacing) * 2); }

.mt-triple { margin-top: calc(var(--spacing) * 3); }
.mb-triple { margin-bottom: calc(var(--spacing) * 3); }
.ml-triple { margin-left: calc(var(--spacing) * 3); }
.mr-triple { margin-right: calc(var(--spacing) * 3); }

.e-con > .e-con-inner {
  gap: 0 30px !important;
}

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

.screen-reader-shortcut,
.screen-reader-text,
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    background-color: #000 !important;
    color: #FFF !important;
}

body {
  font-size: var(--font-size);
  color: var(--text);
  font-family: var(--font);
  line-height: var(--line-height);
}

h1,h2,h3,h4,h5,h6 { font-family: var(--heading); line-height: var(--headingLineHeight); margin: 0; }
h1 { font-size: var(--font-size--h1); }
h2 { font-size: var(--font-size--h2); }
h3 { font-size: var(--font-size--h3); }
h4 { font-size: var(--font-size--h4); }
h5 { font-size: var(--font-size--h5); }
h6 { font-size: var(--font-size--h6); }
p { font-size: var(--font-size); margin: 0 0 clamp(20px, 1.5625vw, 30px); }
li { font-size: var(--font-size); margin: 0 0 clamp(13.333333333333334px, 1.0416666666666667vw, 20px); }
p:last-of-type, li:last-of-type { margin: 0; }
small, .text-small p, .text-small li { font-size: var(--font-size--small); }
.text-large p, .text-large li { font-size: var(--font-size--small); }
a[href^="tel"] { white-space: nowrap; }
.reset-list ol, .reset-list ul { list-style: none; margin: 0; padding: 0; }


button, button:hover, button:focus, a, a:focus, a:hover { transition: var(--transition); text-decoration: none; }
a:not(.elementor-button, .button) { color: var(--primary); }
a:focus, a:hover { color: var(--dark); }


.img-responsive { display: block; max-width: 100%; height: auto; }
.img-rounded img { border-radius: var(--radius) !important; }

i[class^="icon-"],
span[class^="icon-"] {
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.bg-light { background-color: var(--light); }
.bg-dark { background-color: var(--dark); }

.navigation {
  display: none;
}

.navigation ul,
.mobile-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  z-index: 20;
}

.navigation ul {
  flex-direction: column;
}

.navigation li,
.mobile-navigation li {
  margin: 0;
  position: relative;
}

.navigation li,
.navigation a {
  display: block;
}

.navigation li {
  width: 100%;
  text-align: center;
}

.mobile-navigation a {
  display: inline-block;
}

.mobile-navigation li.mobile-logo {
  margin-right: auto;
}

.mobile-navigation li.mobile-button a {
  text-align: center;
}

.mobile-navigation li.mobile-button strong {
  width: 40px;
  height: 40px;
  display: flex;
  background-color: var(--primary);
  border-radius: 5px;
  align-items: center;
  justify-content: center;
}

.mobile-navigation li.mobile-button svg {
  width: 60%;
  max-height: 60%;
}

.mobile-navigation li.mobile-button svg path {
  fill: #fff;
}

.mobile-navigation li.mobile-button span {
  display: block;
  font-size: 11px;
  color: #333;
  text-transform: uppercase;
  margin: 5px 0 0;
}

.mobile-navigation li.mobile-button:not(:last-child) {
  margin: 0 10px 0 0;
}

.navigation-logo .navigation li:first-child {
  display: none;
}

.navigation-logo .navigation li li:first-child {
  display: block;
}

.navigation-centered .navigation ul {
    justify-content: center;
}

.navigation li ul {
  background-color: var(--dark);
  display: none;
  text-align: center;
}

.navigation li:hover ul {
  transform: scaleY(1);
}

.navigation li ul a {
  color: #fff;
  display: block;
  font-size: 80%;
  padding: 10px;
  line-height: 1.1;
}

.navigation li ul li.current-menu-item a,
.navigation li ul a:hover,
.navigation li ul a:focus {
  background-color: rgba(255,255,255,0.1);
}

.navigation li#openSideMenu {
  display: none;
}

@media (max-width: 767px) {
  .mobile-navigation li.mobile-button strong.third-button-icon {
      background-size: 66%;
      background-repeat: no-repeat;
      background-position: center;
  }
}

@media (min-width: 768px) {

  .navigation li#openSideMenu {
    display: block;
  }

  .navigation li#openSideMenu i {
    width: 26px;
    height: 3px;
    background: #000;
    display: block;
    transform-origin: center;
    transform: rotate(0);
    transition: var(--transition);
    position: relative;
    top: 0;
  }

  .navigation li#openSideMenu i:nth-of-type(2) {
    margin: 6px 0;
  }

  .navigation li#openSideMenu, 
  .navigation li#openSideMenu a {line-height: 0;}

  .navigation li#openSideMenu a {
    padding: 5px;
  }

  .navigation li#openSideMenu.active i:nth-of-type(2) {
    top: -3px;
    opacity: 0;
  }

  .navigation li#openSideMenu.active i:nth-of-type(1) {
    transform: rotate(45deg);
    top: 8px;
  }

  .navigation li#openSideMenu.active i:nth-of-type(3) {
    transform: rotate(-45deg);
    top: -10px;
  }

  .mobile-navigation {
    display: none;
  }

  .navigation ul {
    flex-direction: row;
  }
  
  .navigation li {
    display: inline-block;
    width: auto;
    text-align: left;
  }

  .navigation-logo .navigation li:first-child {
    margin-right: auto;
    display: block;
  }
  
  .navigation, .navigation li ul {
    display: block;
  }

  .navigation li ul {
    position: absolute;
    top: 30px;
    left: 0;
    width: 200px;
    transform-origin: top center;
    transform: scaleY(0);
    transition: var(--transition);
  }

  .navigation-logo .navigation li li:first-child,
  .navigation a {
    display: inline-block;
  }

}

.side-navigation {
  position: fixed;
  z-index: 2000;
  display: flex;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: none;
  opacity: 0;
  transition: var(--transition);
}

.side-navigation section {
  display: flex;
  height: 100%;
}

.side-navigation:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: var(--dark);
  opacity: 0.8;
  z-index: 1;
}

.side-navigation #closeSideMenuX {
  position: absolute;
  z-index: 100;
  top: 20px;
  right: 20px;
}

.side-navigation #closeSideMenuX:hover,
.side-navigation #closeSideMenuX:focus {
  opacity: 0.6;
}

.side-navigation .menu {
  flex: 0 0 clamp(180px, 15.625vw, 300px);
  max-width: clamp(180px, 15.625vw, 300px);
  padding: 0;
  margin: 0;
  text-align: center;
  background-color: #fff;
  padding: clamp(50px, 3.90625vw, 75px) clamp(33.333333333333336px, 2.6041666666666665vw, 50px) clamp(33.333333333333336px, 2.6041666666666665vw, 50px);
  position: relative;
  right: clamp(-300px, -15.625vw, -180px);
  transition: var(--transition);
}

.side-navigation .menu.active {
  right: 0;
}

.side-navigation #closeSideMenu {
  flex: 1;
  background-color: transparent; opacity: 1;
}

.side-navigation .menu,
.side-navigation #closeSideMenu {
  z-index: 10;
}

.side-navigation .menu, .side-navigation .menu ul {
  list-style: none;
}

.side-navigation .menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
}

.side-navigation .menu a {
  display: block;
  text-align: center;
}

.side-navigation .menu li {
  margin: 0;
}

.admin-bar .side-navigation {
  top: 32px;
}

.side-navigation .menu ul a {
  font-size: 80%;
}

.side-navigation.opening { display: block; }
.side-navigation.active { opacity: 1; }



.waves.elementor-element, .waves .elementor-element {
  padding: 0;
  position: relative;
}

.waves .elementor-element {
  display: block;
}

.waves .elementor-icon {
  display: block;
}

.waves .elementor-icon svg {
  width: 100%;
  height: auto;
}

.waves.top { top: 3px; }
.waves.bottom { bottom: 3px; }

#wfls-prompt-overlay {
    background-color: #f9fbfd !important;
    padding: 0 !important;
}

.wfls-remember-device-wrapper label {
    font-size: 14px !important;
    line-height: 1.5 !important;
    display: inline-block !important;
    margin-bottom: 3px !important;
}

@media (min-width: 768px) {
.content-right { padding-left: clamp(30px, 3.6458333333333335vw, 50px) !important; }
.content-left { padding-right: clamp(30px, 3.6458333333333335vw, 50px) !important; }
}

svg:not(:root) {
  overflow: unset !important;
}

.captcha-note {
  padding: 0;
  text-align: center;
  margin: clamp(3.3333333333333335px, 0.2604166666666667vw, 5px) 0 clamp(30px, 2.34375vw, 45px);
}

.captcha-note p {
  font-size: clamp(13px, 0.8333333333333334vw, 16px);
  color: #888;
}

.captcha-note p a {
  color: var(--dark);
  text-decoration: underline;
}

.captcha-note p a:hover, .captcha-note p a:focus {
  color: var(--text);
}

.elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper, .elementor-form .elementor-field.elementor-acceptance-field),
.elementor-field-group .elementor-select-wrapper select {
  background-color: #fff !important;
  height: auto;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: var(--font-size) !important;
  padding: var(--form-field--padding-top) var(--form-field--padding-right) var(--form-field--padding-bottom) var(--form-field--padding-left) !important;
  transition: var(--transition);
  border-radius: var(--form-field--radius);
  border: 1px solid var(--form-field--border) !important;
}

.elementor-form .elementor-field-type-recaptcha .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper, .elementor-form .elementor-field.elementor-acceptance-field) {
  background-color: transparent !important;
  padding: 0 !important;
}

.elementor-field-textual::placeholder {
  opacity: 1 !important;
}

.elementor-field-textual {
  border: 1px solid var(--form-field--border) !important;
  transition: var(--transition);
}

.elementor-field-textual:hover,
.elementor-field-textual:focus,
.elementor-field-textual:active {
  border-color: var(--primary) !important;
  transition: var(--transition);
}

.elementor-form .elementor-field-type-recaptcha,
.elementor-form .elementor-field-type-recaptcha_v3 {
  display: none !important;
}

.elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper, 
.elementor-form .elementor-field.elementor-acceptance-field), .elementor-field-group .elementor-select-wrapper select {
    border-color: var(--form-field--border) !important;
}

.elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper:hover, 
.elementor-form .elementor-field.elementor-acceptance-field):hover, 
.elementor-field-group .elementor-select-wrapper select:hover,
.elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper:focus, 
.elementor-form .elementor-field.elementor-acceptance-field):hover, 
.elementor-field-group .elementor-select-wrapper select:focus,
.elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper:active, 
.elementor-form .elementor-field.elementor-acceptance-field):hover, 
.elementor-field-group .elementor-select-wrapper select:active {
    border-color: var(--primary) !important;
}


.elementor-icon-box-wrapper .elementor-icon-box-icon {
  margin-bottom: clamp(10px, 0.78125vw, 15px) !important;
}

.elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon svg {
  width: clamp(66.66666666666667px, 5.208333333333333vw, 100px);
  height: clamp(66.66666666666667px, 5.208333333333333vw, 100px);
}

.elementor-icon-box-wrapper .elementor-icon-box-content h2, .elementor-icon-box-wrapper .elementor-icon-box-content h3, .elementor-icon-box-wrapper .elementor-icon-box-content h4 {
  margin: 0 0 clamp(10px, 0.78125vw, 15px) !important;
  line-height: var(--line-height--heading);
}

.icon-circular .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon svg, .icon-square .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon svg {
  width: 50%;
  height: 50%;
  fill: #fff;
}

.icon-circular .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon, .icon-square .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon {
  width: clamp(80px, 6.510416666666667vw, 125px);
  background-color: var(--primary);
  height: clamp(80px, 6.510416666666667vw, 125px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.icon-circular .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon {
  border-radius: 100%;
}

@media (max-width: 767px) {
  .elementor-icon-box-wrapper {
    display: flex !important;
  }

  .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper {
    text-align: left !important;
  }

  .elementor-widget-icon-box .elementor-icon-box-icon {
  margin: 0 clamp(15px, 1.0416666666666667vw, 20px) 0 0 !important;
  }
}

.pg-privacy h2:not(:first-of-type) {margin: clamp(26.666666666666668px, 2.0833333333333335vw, 40px) 0 0;}
.pg-privacy h2 + h3 { margin: clamp(15px, 1.0416666666666667vw, 20px) 0; }
.pg-privacy h3 { margin: clamp(26.666666666666668px, 2.0833333333333335vw, 40px) 0 clamp(15px, 1.0416666666666667vw, 20px); }
.pg-privacy h4 { margin: 0 0 clamp(6.666666666666667px, 0.5208333333333334vw, 10px); }
.pg-privacy p + h3 { margin-top: 0; }
.pg-privacy ul { margin-bottom: clamp(13.333333333333334px, 1.0416666666666667vw, 20px); }

.pg-404 {
  text-align: center !important;
}

.pg-404 h1 {
  font-size: calc(var(--h1FontSize) * 2.25);
  line-height: 0.9;
  margin: 0 0 clamp(23.333333333333332px, 1.8229166666666667vw, 35px);
}

.pg-404 h1 em {
  display: block;
  font-size: 33%;
  font-style: normal;
}

.pg-404 .elementor-button {
  margin: clamp(20px, 1.5625vw, 30px) 0 0;
}

main .elementor-accordion .elementor-accordion-item {
  border: none;
}

main .elementor-accordion .elementor-tab-content {
  border-top: none;
}

main .elementor-accordion .elementor-tab-title {
  padding: 0;
}

main .elementor-accordion .elementor-tab-content {
  padding: 0;
  margin: clamp(10px, 0.78125vw, 15px) 0 0;
}

main .elementor-accordion .elementor-accordion-item:not(:last-child) {
  margin: 0 0 clamp(23.333333333333332px, 1.8229166666666667vw, 35px);
  padding: 0 0 clamp(23.333333333333332px, 1.8229166666666667vw, 35px);
  border-bottom: 1px solid #ccc;
}

main .elementor-accordion .elementor-tab-title:hover, main .elementor-accordion .elementor-tab-title:focus {
  color: var(--primary);
}

.elementor-widget .elementor-icon-list-items.elementor-inline-items {
  margin: 0 !important;
}


.link-button a,
html .button,
html .elementor-button,
html .elementor-form .elementor-button,
html .woocommerce #respond input#submit,
html .woocommerce #respond input#submit.alt,
html .woocommerce a.button,
html .woocommerce a.button.alt,
html .woocommerce button.button,
html .woocommerce button.button.alt,
html .woocommerce input.button,
html .woocommerce input.button.alt {
  font-family: var(--button-text--font);
  font-size: var(--button-text--size);
  padding: var(--button-padding--top) var(--button-padding--right) var(--button-padding--bottom) var(--button-padding--left);
  background-color: var(--button-background--primary);
  color: var(--button-text--colour);
  line-height: 1;
  font-weight: var(--button-text--weight);
  border-radius: var(--button-radius);
  text-transform: var(--button-text--casing);
  border: var(--button-border-width) solid var(--button-background--primary);
  cursor: pointer;
  display: inline-block;
  transition: var(--transition);
  letter-spacing: var(--button-text--letter-spacing);
}

html .button.secondary,
html .elementor-element.elementor-button-info .elementor-button {
  background-color: var(--button-background--secondary);
  border-color: var(--button-background--secondary);
}

html .button.ghost,
html .elementor-element.elementor-button-success .elementor-button {
  background: var(--button-background--ghost);
  border-color: var(--dark);
  color: var(--dark);
}

.link-button a:hover, 
.link-button a:focus,
html .button:hover,
html .button:focus,
html .button.secondary:hover,
html .button.secondary:focus,
html .button.ghost:hover,
html .button.ghost:focus,
html .elementor-form .elementor-button:hover,
html .elementor-form .elementor-button:focus,
html .elementor-button:hover,
html .elementor-button:focus,
html .woocommerce #respond input#submit:hover,
html .woocommerce #respond input#submit.alt:hover,
html .woocommerce a.button:hover,
html .woocommerce a.button.alt:hover,
html .woocommerce button.button:hover,
html .woocommerce button.button.alt:hover,
html .woocommerce input.button:hover,
html .woocommerce input.button.alt:hover,
html .woocommerce a.button:focus,
html .woocommerce a.button.alt:focus,
html .woocommerce button.button:focus,
html .woocommerce button.button.alt:focus,
html .woocommerce input.button:focus,
html .woocommerce input.button.alt:focus,
html .elementor-element.elementor-button-info .elementor-button:hover,
html .elementor-element.elementor-button-info .elementor-button:focus,
html .elementor-element.elementor-button-success .elementor-button:hover,
html .elementor-element.elementor-button-success .elementor-button:focus {
  background: var(--button-hover--background);
  color: var(--button-hover--color);
  border-color:  var(--button-hover--background);
}


.elementor-field-group-files,
#form-field-files,
.dev-mode {
  display: none !important
}

.elementor-editor-active .dev-mode,
.dev-active .dev-mode {
  display: block !important
}

.shadow-blend-top .e-con-inner:before,
.shadow-blend .e-con-inner:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 100;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, var(--dark) 100%);
  height: 33%;
}

.shadow-blend-top .e-con-inner:before {
  bottom: auto;
  top: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0) 0%, var(--dark) 100%);
}

.shadow-blend-top .e-con-inner div:not(.elementor-background-video-container),
.shadow-blend .e-con-inner div:not(.elementor-background-video-container) {
  z-index: 1000;
}

.img-radius img {
  border-radius: var(--radius) !important;
}

@media (max-width: 1199px) {

  h2 br, h2 br::after,
  h3 br, h3 br::after,
  h4 br, h4 br::after {
      content: " ";
  }

}

.mail-copied {
  background: var(--primary);
  position: fixed;
  bottom: -100px;
  left: 0;
  right: 0;
  max-width: 220px;
  color: #fff;
  font-size: 14px;
  padding: 15px 0;
  line-height: 1;
  text-align: center;
  margin: auto;
  border-radius: 5px;
  transition: var(--transition);
  opacity: 0;
  transform-origin: bottom center;
  transform: scale(0.8);
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
  z-index: 99999;
}

.mail-copied.active {
  bottom: 20px;
  transform: scale(1);
  opacity: 1;
}

.topbar-fill, a.topbar-fill {
  display: block;
  background: var(--dark);
  padding: clamp(6.666666666666667px, 0.5208333333333334vw, 10px) clamp(13.333333333333334px, 1.0416666666666667vw, 20px);
  color: #fff;
}

a.topbar-fill:hover, a.topbar-fill:focus {
  background-color: var(--primary);
}

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media (max-width: 1367px) {
  .header, #header,
  .footer, #footer,
  .hero, .pg-title, .pg-section,
  .pg-error {
    padding-left: 30px !important; 
    padding-right: 30px !important;
  }
}

.store_locator_plus #searchForm label.text {
  text-align: left;
  min-width: 1px!important;
  margin-right: 9px;
  text-transform: uppercase;
  font-size: 14px;
  position: relative;
  color: #fff;
  width: max-content;
}

.store_locator_plus #searchForm #addressInput, .store_locator_plus #searchForm #radiusSelect {
  width: 100%;
  padding: 5px;
}

.store_locator_plus #searchForm {
  background: var(--blue);
  padding: 15px;
  margin: 0 0 20px;
}

.store_locator_plus #searchForm #radius_in_submit {
  text-align: right;
  display: inline-block;
}

.store_locator_plus #searchForm #radius_in_submit input {
  background: var(--buttonBackgroundPrimary);
  border: none;
  color: #fff;
  outline: 0;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0;
}

.slp_results_container .results_wrapper {
  margin: 0 0 15px;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid #ccc;
}

.slp_results_container .results_wrapper:hover {
  background: 0 0 !important;
}

.slp_results_container .results_wrapper .location_name {
  font-size: clamp(18px, 1.0416666666666667vw, 20px)!important;
  text-transform: uppercase;
  margin: 0;
  display: block;
  line-height: 20px;
  padding: 15px 75px 15px 0;
  position: relative;
  font-family: var(--heading);
  font-weight: 700;
  color: var(--blue);
}

.location_secondary {
  font-size: 14px;
  color: var(--text);
  line-height: 17px;
  margin: 5px 0 20px;
}

.location_tertiary a,
.store_locator_plus #searchForm #radius_in_submit input {
  display: inline-block;
  font-family: var(--buttonFont);
  font-size: clamp(14px, 0.8333333333333334vw, 16px);
  padding: 10px 15px;
  background: var(--buttonBackgroundPrimary)!important;
  color: var(--buttonTextColour)!important;
  line-height: 1;
  font-weight: var(--buttonWeight);
  border-radius: var(--buttonRadius);
  border: var(--buttonBorder);
  text-transform: var(--buttonCasing);
  cursor: pointer;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

table.td,td.td {
  border: 1px solid var(--light);
}

.location_tertiary a:focus,.location_tertiary a:hover {
  background: var(--dark) !important;
  color: #fff !important;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s
}

.store_locator_plus #searchForm #radius_in_submit input:focus,.store_locator_plus #searchForm #radius_in_submit input:hover {
  background: #fff !important;
  color: var(--dark) !important;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.location_tertiary {
  margin-top: 7px;
}

.location_tertiary a:hover {
  background-color: #333;
}

.slp_result_contact {
  display: inline-block;
}

.slp_result_contact.slp_result_hours {
  display: block;
  font-size: 14px;
  padding: 20px 0 15px;
  max-width: 330px;
}

#map,#map_sidebar {
  min-height: clamp(300px,23.4375vw,450px) !important;
}

#map_sidebar {
  padding: 0 15px 0 clamp(33.333333333333336px, 2.6041666666666665vw, 50px);
}

.slp_search_form .search_box,.slp_search_form .search_box .search_item,.slp_search_form .search_box .search_item div {
  align-items: center !important;
}

.slp_search_form .search_box .search_item {
  margin-bottom: 0 !important;
  flex: 0 0 50% !important;
}

div#map_sidebar .results_wrapper:first-child {
  margin-top: 0;
}

span.slp_result_address.slp_result_phone {
  display: block;
  margin: 5px 0 0;
  padding: 0 0 20px;
}

span.slp_result_address.slp_result_street {
  padding: 10px 0 0;
  display: inline-block;
}

.slp_results_container .results_wrapper {
  padding: 0 15px !important;
  cursor: pointer;
}

.results_row_center_column.location_secondary,.results_row_right_column.location_tertiary {
  max-height: 0;
  overflow: hidden;
  margin: 0;
  -webkit-transition: max-height .5s;
  -o-transition: max-height .5s;
  transition: max-height .5s;
}

.results_row_center_column.location_secondary.expanded,.results_row_right_column.location_tertiary.expanded {
  max-height: 400px;
  -webkit-transition: max-height .5s;
  -o-transition: max-height .5s;
  transition: max-height .5s;
}

.slp_results_container .results_wrapper .location_name:after {
  content: '';
  position: absolute;
  right: 0;
  top: 2px;
  bottom: 0;
  margin: auto 0;
  display: block;
  width: clamp(13.333333333333334px,1.0416666666666667vw,20px);
  height: clamp(10px,.78125vw,15px);
  background-image: url(i/icons/icon-down.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.slp_results_container .results_wrapper .location_name.lc-active:after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.location_distance, .store_locator_plus.tagline,
span#slp_bubble_website, span#slp_bubble_email,
span#slp_bubble_directions {
  display: none !important;
}

#searchForm {
  width: 100%;
}

#map, #map_sidebar {
  width: 50% !important;
}

.slp_search_form .search_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  align-content: stretch;
}

#sl_div {
  width: 100%!important;
  max-width: 1750px!important;
  margin: auto!important;
  display: flex;
  flex-wrap: wrap;
}

.slp_search_form .search_box .search_item label,
.slp_search_form .search_box .search_item #addy_in_radius label {
  flex-basis: unset !important;
}

.slp_results_container .results_wrapper span.slp_result_email, .slp_results_container .results_wrapper span.slp_result_fax, .slp_results_container .results_wrapper span.slp_result_phone, .slp_results_container .results_wrapper span.slp_result_website {
  margin-right: 5px !important;
}

#slp_bubble_name {
  margin: 0 0 8px !important;
  display: block;
}

.location_tertiary {
  display: flex;
  flex-direction: column-reverse;
}

.location_tertiary .online_info {
  margin-bottom: 20px !important;
}

span.slp_result_address.slp_result_phone {
  margin: 0 0 10px !important;
  padding: 0;
}

span.slp_result_contact.slp_result_hours.textblock {
  margin: 0 0 20px !important;
  padding: 0;
}

span#slp_bubble_phone span,
span#slp_bubble_hours span {
  display: block;
}

span#slp_bubble_phone,
span#slp_bubble_hours {
  font-weight: 700;
}

.slp_bubble_tail_behind > div {
  display: none;
}

.slp_bubble_tail_behind button {
  position: absolute !important;
  right: 0;
  top: 0;
}

.slp_bubble_level_1 {
  padding-top: 10px;
}

span#slp_bubble_name {
  font-family: var(--heading);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 16px;
  color: var(--blue);
}

@media (max-width: 991px) {
  .slp_search_form .search_box .search_item {
      flex: 0 0 100%!important;
  }
  .store_locator_plus #searchForm label.text {
      margin-right: 0;
      width: 75px !important;
      flex: 0 0 75px !important;
  }
  .slp_search_form .search_box {
      grid-gap: 15px
  }
  #map_sidebar {
      padding: clamp(33.333333333333336px,2.6041666666666665vw,50px) 15px 0 0
  }
  #map, #map_sidebar {
      width: 100%!important;
  }
  #map_sidebar {
      padding: 0;
      margin: 20px 0 0;
      overflow-y: unset!important;
      height: auto!important;
  }
  .store_locator_plus #searchForm #addressInput, .store_locator_plus #searchForm #radiusSelect {
      width: calc(100% - 90px);
  }
  .slp_search_form .search_box .search_item {
      flex-wrap: wrap;
  }
  .slp_search_form .search_box .search_item div {
      justify-content: space-between;
  }
  .slp_search_form .search_box .search_item input[type="text"] {
      flex-basis: 100% !important;
  }
}

@media (max-width: 767px) {
  body#compatibility .slp_results_container .results_wrapper .location_name:after {
      width: 13.333333333333334px;
      height: 10px;
  }
}

@media (max-width: 500px) {
  .slp_results_container .results_wrapper .online_info {
      display: flex;
      flex-direction: column;
      grid-gap: 8px;
  }
  .location_tertiary a, .store_locator_plus #searchForm #radius_in_submit input {
      display: block;
      margin: 0 !important;
      text-align: center;
  }
  .location_tertiary br {
      display: none;
  }
  .slp_results_container .results_wrapper .slp_result_contact {
      margin-right: 0 !important;
  }
  .store_locator_plus #searchForm #radius_in_submit {
      display: flex;
  }
}