/*
Theme Name: STX
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: bricksy
Text Domain: stx
Tags: 
*/

:root {
	--wp--preset--spacing--50: clamp(1rem, 0.7727rem + 0.7273vw, 1.5rem) !important;
	--wp--preset--spacing--60: clamp(1.125rem, 0.6136rem + 1.6364vw, 2.25rem) !important;
	--wp--preset--spacing--70: clamp(1.25rem, 0.2818rem + 3.0982vw, 3.38rem) !important;
	--wp--preset--spacing--80: clamp(1.375rem, -0.3rem + 5.36vw, 5.06rem) !important;
	--wp--preset--font-size--normal: clamp(16px, 1rem + ((1vw - 3.2px) * 0.323), 20px) !important;
  	--wp--preset--font-size--huge: clamp(30px, 1.875rem + ((1vw - 3.2px) * 0.484), 36px) !important;
	
/* --wp--preset--font-size--small: clamp(0.875rem, 0.853rem + 0.0044vw, 0.9375rem) !important;
--wp--preset--font-size--medium: clamp(1.1875rem, 1.1215rem + 0.0132vw, 1.375rem) !important;
--wp--preset--font-size--large: clamp(1.375rem, 1.265rem + 0.022vw, 1.6875rem) !important;
--wp--preset--font-size--x-large: clamp(1.6875rem, 1.5775rem + 0.022vw, 2rem) !important;
--wp--preset--font-size--gigantic: clamp(2rem, 1.868rem + 0.0264vw, 2.375rem) !important;
--wp--preset--font-size--colossal: clamp(2.625rem, 2.229rem + 0.0792vw, 3.75rem) !important;
--wp--preset--font-size--custom-1: clamp(2.375rem, 2.155rem + 0.044vw, 3rem) !important; */
	
/* 	--wp--preset--font-size--small: clamp(0.875rem, 0.831rem + 0.1408vw, 1rem) !important;
	--wp--preset--font-size--medium: clamp(1.25rem, 1.14rem + 0.3521vw, 1.5625rem) !important;
	--wp--preset--font-size--large: clamp(1.5rem, 1.368rem + 0.4225vw, 1.875rem) !important;
	--wp--preset--font-size--x-large: clamp(1.875rem, 1.743rem + 0.4225vw, 2.25rem) !important;
	--wp--preset--font-size--gigantic: clamp(2.25rem, 2.118rem + 0.4225vw, 2.625rem) !important;
	--wp--preset--font-size--colossal: clamp(3.125rem, 2.6849rem + 1.4085vw, 4.375rem) !important;
	--wp--preset--font-size--custom-1: clamp(2.875rem, 2.6549rem + 0.7042vw, 3.5rem) !important;	
 */
	
--wp--preset--font-size--small: clamp(0.875rem, 0.831rem + 0.1408vw, 1rem) !important;
--wp--preset--font-size--medium: clamp(1.25rem, 1.14rem + 0.3521vw, 1.5625rem) !important;
--wp--preset--font-size--large: clamp(1.5rem, 1.456rem + 0.0088vw, 1.625rem) !important;
--wp--preset--font-size--x-large: clamp(1.875rem, 1.853rem + 0.0044vw, 1.9375rem) !important;
--wp--preset--font-size--huge: clamp(1.875rem, 1.853rem + 0.0044vw, 1.9375rem) !important;
--wp--preset--font-size--gigantic: clamp(2.25rem, 2.228rem + 0.0044vw, 2.3125rem) !important;
--wp--preset--font-size--colossal: clamp(3.125rem, 2.817rem + 0.0616vw, 4rem) !important;
--wp--preset--font-size--custom-1: clamp(2.875rem, 2.787rem + 0.0176vw, 3.125rem) !important;
}

.pad-lg {padding-block: clamp(40px, 7.3vw, 100px);}
.pad-lg-start {padding-block-start: clamp(40px, 7.3vw, 100px);}
.pad-lg-end {padding-block-end: clamp(40px, 7.3vw, 100px);}
.pad-md {padding-block: clamp(30px, 5.8vw, 80px);}
.pad-md-start {padding-block-start: clamp(30px, 5.8vw, 80px);}
.pad-md-end {padding-block-end: clamp(30px, 5.8vw, 80px);}
.pad-sm {padding-block: clamp(20px, 3.75vw, 60px);}
.pad-sm-start {padding-block-start: clamp(20px, 3.75vw, 60px);}
.pad-sm-end {padding-block-end: clamp(20px, 3.75vw, 60px);}
.pad-vsm {padding-block: clamp(20px, 2.5vw, 40px);}
.pad-vsm-start {padding-block-start: clamp(20px, 2.5vw, 40px);}
.pad-vsm-end {padding-block-end: clamp(20px, 2.5vw, 40px);}
.pad-inline {padding-inline: clamp(1.25rem, -0.625rem + 8.3333vw, 9.375rem);}

.wp-block-site-logo .custom-logo {width: clamp(12.5rem, 8.0986rem + 14.0845vw, 25rem);transition: width 0.4s ease-in-out;}
#mega-menu-max_mega_menu_1 {display: flex !important; gap: 20px 25px;}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-current-menu-item.mega-current-menu-item.mega-current-menu-item > a {
  color: #425e83;
  text-decoration: underline;
  text-decoration-color: #ca713d;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}

header {
  position: sticky;
  top: 0;
  z-index: 999;
	margin-top: 0px !important;
}
header.sticking .custom-logo {
  width: clamp(7.5rem, 5.2273rem + 7.2727vw, 12.5rem) !important;   
}
header.sticking .header {
  padding-block: 10px !important;
}
figure.w-100, figure.w-100 img {width: 100%;}
figure.h-100 img {height: 100%; object-fit:cover;}
.excavators figure .wp-element-caption {
  font-weight: bold;
  color: var(--wp--preset--color--custom-headings);
  font-size: var(--wp--preset--font-size--large);
}
.stretched {
  --container-default-padding-right: clamp(1.25rem, -0.625rem + 8.3333vw, 9.375rem);
  --container-max-width: 1560px;
  --split: 0.7;
}
.stretched {
  display:grid;
  grid-template-columns:minmax(var(--container-default-padding-right),1fr) minmax(0,calc(var(--container-max-width) * var(--split))) minmax(0,calc(var(--container-max-width) * calc(1 - var(--split)))) minmax(var(--container-default-padding-right),1fr);
  gap:var(--widgets-spacing);
  grid-template-rows:1fr;
  align-items:center
}
.stretched .img {
  grid-column:3 / span 2;
  margin: 0px;
	align-self: stretch;
	img {
		height: 100%;
		object-fit: cover;
	}
}
.stretched .content {
  grid-column:2 / span 1;
  padding-right:clamp(20px,2.2vw,30px);
}
.stx-form-group {
    margin-bottom: 20px;
}
.stx-login-form input[type="email"],
.stx-login-form input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    font-size: clamp(16px, 1rem + ((1vw - 3.2px) * 0.323), 20px) !important;
    border: 1px solid #ddd;
    border-radius: 2px;
    box-sizing: border-box;
}
.stx-login-form input::placeholder {color: #000}
.stx-login-terms {
    font-style: italic;
    color: #333;
    line-height: 1.5;
    margin: 16px 0 20px;
  padding-inline: 20px;
}
.stx-login-terms a {
    color: #333;
    text-decoration: underline;
}
.stx-login-error {
    color: #b00020;
    font-weight: bold;
    margin-bottom: 16px;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {font-weight: 800 !important;}
@media screen and (max-width:991px) {
  .stretched {
    grid-template-rows:auto auto;
    gap: 0px;
  }
  .stretched .img {
    grid-column:1 / -1!important;
    grid-row:1
  }
  .stretched .content {
    grid-column:2 / -2!important;
    padding-inline: 0px!important;
	padding-block: 30px !important
  }
  .stretched::after {
    grid-row:2
  }
}
@media screen and (min-width: 1024px) {
	.excavators.excavators {
		grid-template-columns: repeat(6, 1fr);
	}
	.track-steps.track-steps {
		grid-template-columns: repeat(2, 1fr);
	}
}

.footer-nav-link p{
	font-weight: 600;
}

.calculator .grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: var(--wp--preset--spacing--70);
  h2 {
    text-transform: uppercase;
  }
  .form {
    grid-row: span 2;
  }
  .field {
    margin-top: clamp(20px,2.2vw,30px);
  }
  select, .with-prefix {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--wp--preset--color--primary);
    border-radius: 10px;
    background-color: #fff;
    font-size: var(--wp--preset--font-size--normal);
  }
	select {
		cursor: pointer;
		background-repeat: no-repeat;
		background-position: calc(100% - 5px) 50%;
		appearance: none;
		background-size: 35px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
	}
  label {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    width: 100%; 
    border: none;
    accent-color: var(--wp--preset--color--secondary);
    display: inline-block;
    margin-bottom: 10px;
	font-size: var(--wp--preset--font-size--medium);
    font-weight: bold;
  }
  .with-prefix {
    display: flex; 
    width: auto;
	align-items: center;
    line-height: 1;
     input {
      width: 100%;
      /*! max-width: auto; */
       border: none;
       padding-block: 0;
       appearance: none;
       background: none;
       font-size: var(--wp--preset--font-size--normal);
      line-height: 1;
	  padding-left: 2px;
      outline: none;
    }    
  }
  input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    width: 100%; 
    border: none;
    padding: 0px;
	will-change: transform;
    transform: translateZ(0);
  }
  input[type="range"]:focus {
    outline: none;
  }
  input[type="range"]::-webkit-slider-runnable-track {
    background: linear-gradient(to right, #da6b2d var(--value), #212a39 var(--value));
    border-radius: 0px;
    height: 10px;
  }
  input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background-color: #da6b2d;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    margin-top: -6px;
  }
  input[type="range"]::-moz-range-track {
    background: linear-gradient(to right, #da6b2d var(--value), #212a39 var(--value));
    border-radius: 0px;
    height: 10px;
  }

  input[type="range"]::-moz-range-thumb {
    background-color: #da6b2d;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    border: none;             /* Clears Firefox default border */
  }
}
.calculator .slider-row {
  display: flex;
  justify-content: space-between;
  font-size: var(--wp--preset--font-size--medium);
  .slider-val {
    flex-shrink: 0;
    font-weight: 800;
    color: var(--wp--preset--color--primary)
  }  
}
.calculator .field .hint {
  font-weight: normal !important;
  font-style: italic;
}
.calculator .result {
  color: #fff;
  background: var(--wp--preset--color--secondary);
  padding: clamp(1.25rem, 0.6818rem + 1.8182vw, 2.5rem);
  border-radius: 40px;
  margin: 0px;
  .meter-label, .meter-sub, .k {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--custom-headings);
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
  }
  .meter-label, .k {text-transform: uppercase;
    margin-top: 15px;
  }
  .meter {
    font-size: clamp(2.8125rem, 2.1023rem + 2.2727vw, 4.375rem);
    margin: 0;
    line-height: 1.2;   
    font-weight: 800;
  }
  .split {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
  }
  .v {
    font-size: var(--wp--preset--font-size--huge);
    margin: 0;
    line-height: 1.2;    
    font-weight: 800;
  }  
}
.calculator .payoff {
  grid-column: 2 / -1;
  margin: 0;
  font-size: var(--wp--preset--font-size--normal);
  text-align: center;
  border-radius: 40px;
  padding: var(--wp--preset--font-size--medium);
  background-color: #fff;
  border: 1px solid var(--wp--preset--color--custom-headings);
}
@media screen and (max-width:768px) {
	.calculator .grid {
		grid-template-columns: 1fr;
	}
	.calculator .payoff {
		grid-column: 1 / -1;
	}
}
.demo-scheduler input.datePicker::placeholder {
  opacity: 1;
  color: #000;
}
.demo-scheduler {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 30px;
  align-items: center;
  .demo-field {
    flex-grow: 1;
    display: flex;
    position: relative;
  }
  input, select {
    width: 100%;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #d0d9e0;
    background-color: #fff;
    font-size: var(--wp--preset--font-size--medium);
	cursor: pointer;
    background-repeat: no-repeat;
    background-position: calc(100% - 5px) 50%;
    appearance: none;
    background-size: 35px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
	color: #000;
  }
}
.checks {
    list-style: none;
  padding: 0 !important;
}
.checks li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
    font-size: 22px;
    line-height: 1.4;
    color: #111;
}
.checks li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #d5641c;
    font-weight: bold;
    font-size: 24px;
}
.checks li strong {
    font-weight: 700;
    color: #111;
}



/* Container Base Scaling */
.flatpickr-calendar {
  width: 430px !important;
  font-size: 19.6px !important;
}

/* Day Grid Container Scaling */
.flatpickr-days {
  width: 430px !important;
}

.dayContainer {
  width: 430px !important;
  min-width: 430px !important;
  max-width: 430px !important;
}

/* Individual Day Elements Scaling */
.flatpickr-day {
  max-width: 54.6px !important;
  height: 54.6px !important;
  line-height: 54.6px !important;
}

/* Weekday Label Scaling (Mon, Tue, etc.) */
.flatpickr-weekdays {
  width: 430px !important;
  height: 39px !important;
}

span.flatpickr-weekday {
  line-height: 39px !important;
}

/* Month and Year Header Nav Scaling */
.flatpickr-months .flatpickr-month {
    height: 45px !important;
}

.flatpickr-current-month {
  padding: 9.8px 0px 0px 0px !important; /* Scaled padding */
}

.wp-block-themeisle-blocks-tabs__header_item {
  padding: 0px !important;
  margin-bottom: 0px !important;
  border-bottom-width: 8px !important;
  > div {
    font-size: var(--wp--preset--font-size--custom-1) !important;
    font-weight: 800;
  }
}
.wp-block-themeisle-blocks-tabs__header {
  gap: 20px clamp(1.25rem, 0.1136rem + 3.6364vw, 3.75rem);
  position: relative;
  isolation: isolate;
  &::before {
    position: absolute;
    content: '';
    width: 1px;
    height: 100%;
    box-shadow: 0 0 0 1000vmax #fff;
    clip-path: inset(0 -1000vmax);
    z-index: -1;
  }
}

.wp-block-themeisle-blocks-tabs-item__content {
  border: none !important;
  padding-inline: 0px !important;
  background: inherit !important;
  padding-block: clamp(30px, 5.8vw, 80px) !important;
  > div {
    margin-bottom: 0px
  }
}
/* .pf-form-wrap {
  max-width: 780px;
} */
.pf-field input {
  width: 100%;
  border: none;
  outline: none;
  padding: 16px 14px;
  font-size: var(--wp--preset--font-size--medium);
  color: #333;
  box-sizing: border-box;
  background: transparent;
  border: 1px solid #d9d9d9;
  margin-bottom: 18px;
}
.pf-field input::placeholder {
  color: #000000;
  opacity: 1;
}
.pf-row {
  display: flex;
  gap: 18px;  
}
.pf-row .pf-field {
  border-bottom: none;
  flex: 1;
}

.pf-submit-row {
  padding: 16px 0;
  text-align: right;
  background: #fff;
}
.pf-submit-btn {
  background: #d9662b;
  color: #fff;
  border: none;
  padding-top: var(--wp--preset--spacing--40);
  padding-right: var(--wp--preset--spacing--50);
  padding-bottom: var(--wp--preset--spacing--40);
  padding-left: var(--wp--preset--spacing--50);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--normal);
  letter-spacing: 0.5px;
  border-radius: 3px;
  cursor: pointer;
}
.pf-submit-btn:hover {
  background: #c25a25;
}
.contact .wpcf7-form-control:not([type="submit"], [type="checkbox"], [type="radio"]) {
  font-size: clamp(16px, 1rem + ((1vw) * 0.323), 22px) !important;
  border-radius: 0px;
  background-color: #fff;
  width: 100% !important;
  text-align: left;
  padding: 10px 15px;
  border: 1px solid #b8bdc9;
  font-family: var(--wp--preset--font-family--barlow);
  font-weight: 500;
  max-width: 780px;
	min-height: 0px;
}
.contact , .contact .wpcf7-form-control:not(#productSearch-input)::placeholder, .wpcf7-form-control.wpcf7-textarea::placeholder {
  font-weight: 500 !important;
  color: #000 !important;
}
.contact p {
  margin: 0;
  width: 100%;
  text-align: left;
}
.contact br {display: none;}
.wpcf7-form-control-wrap {
	position: relative;
	display: flex;
	flex-wrap: wrap;
  margin-bottom: 20px;
}
.wpcf7-submit.wpcf7-submit.wpcf7-submit {
	background-color: #ca713d;
	border-radius: 0;
	color: #fff;
	font-size: clamp(16px, 1rem + ((1vw - 3.2px) * 0.323), 20px) !important;
	padding-top: 0.67rem;
	padding-right: clamp(1.125rem, 0.6136rem + 1.6364vw, 2.25rem) !important;
	padding-bottom: 0.67rem;
	padding-left: clamp(1.125rem, 0.6136rem + 1.6364vw, 2.25rem) !important;
	text-transform: uppercase;
	border-color: #ca713d;
	height: auto !important;
	font-weight: bold;
  max-width: 230px;
  margin-left: 0px;
	cursor: pointer;
}
.wpcf7-submit.wpcf7-submit.wpcf7-submit:hover {
	background-color: #425e83;
}
.contact p:has(.wpcf7-submit)::after {
  content: '*Required field';
  font-size: clamp(16px, 1rem + ((1vw - 3.2px) * 0.323), 20px) !important;
  font-style: italic;
}
.contact p:has(.wpcf7-submit) {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.contact.demo .wpcf7-form-control:not([type="submit"], [type="checkbox"], [type="radio"]) {
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 15px;
  font-size: var(--wp--preset--font-size--medium) !important;
}