/* 
Theme Name: Bricks Child
Theme URI: https://emberlydigital.com/
Description: A child theme for Bricks.
Author: Emberly Digital
Author URI: https://emberlydigital.com/
Template: bricks
Version: 1.0.1
Text Domain: bricks-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*** Default Colors ***/
:root {
    --black: #1E1E1E;
    --gray: #D9D9D9;
    --silver: #EAEAEA;
    --white: #FFFFFF;
	--red: #C41230;
	--red-dark: #86051B;
}

/*** Colors ***/
.color-black, .color-black a { color: var(--black); }
.color-gray, .color-gray a { color: var(--gray); }
.color-silver, .color-silver a { color: var(--silver); }
.color-titanium, .color-titanium a { color: var(--titanium); }
.color-white, .color-white a { color: var(--white); }

.color-hover-black:hover, *.hover .color-hover-black { color: var(--black); }
.color-hover-gray:hover, *.hover .color-hover-gray { color: var(--gray); }
.color-hover-silver:hover, *.hover .color-hover-silver { color: var(--silver); }
.color-hover-titanium:hover, *.hover .color-hover-titanium { color: var(--titanium); }
.color-hover-white:hover, *.hover .color-hover-white { color: var(--white); }

/*** Background Classes ***/
.bg-black { background-color: var(--black); }
.bg-gray { background-color: var(--gray); }
.bg-silver { background-color: var(--silver); }
.bg-titanium { background-color: var(--titanium); }
.bg-white { background-color: var(--white); }

.bg-hover-black:hover, *.hover .bg-hover-black { background-color: var(--black); }
.bg-hover-gray:hover, *.hover .bg-hover-gray { background-color: var(--gray); }
.bg-hover-silver:hover, *.hover .bg-hover-silver { background-color: var(--silver); }
.bg-hover-titanium:hover, *.hover .bg-hover-titanium { background-color: var(--titanium); }
.bg-hover-white:hover, *.hover .bg-hover-white { background-color: var(--white); }

/*** Buttons ***/
.bricks-background-primary {
	clip-path:polygon(0% 0%, 94% 0%, 100% 25%, 100% 100%, 6% 100%, 0% 75%);
}

	
/*** Gravity Forms ***/
body .gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 5%;
    grid-row-gap: 30px;
}

body .gform_wrapper.gravity-theme .gfield_label {
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 8px;
    padding: 0;
    font-family: 'Futura', sans-serif;	
	color: var(--black);
}

body .gform_wrapper .ginput_container input, body .gform_wrapper .ginput_container_select select {
    line-height: 1.1em;
}

body .gform_wrapper .gform_footer input[type=submit] {
    background-color: var(--red);
    line-height: 1em;
    width: fit-content;
    text-align: center;
    color: var(--white);
    font-weight: 700;
    font-size: 0.875rem;
    font-family: "Futura";
    text-transform: uppercase;
    border: none;
    padding: 1em 3em;
    clip-path: polygon(0% 0%, 94% 0%, 100% 25%, 100% 100%, 6% 100%, 0% 75%);
	margin-bottom: 0;
	transition: all ease .03s;
}
body .gform_wrapper .gform_footer input[type=submit]:hover {
	background-color: var(--red-dark);
}
@media screen and (max-width: 641px) {
	body .gform_wrapper .gform_footer input[type=submit] {
		line-height: 1em!important;
	}
	body .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
		line-height: 1em!important;
	}
}

/*** Gravity Form Custom ***/
body .gform_wrapper .sutphen-button-dark .gform_footer input[type=submit] { 
	background-color:var(--black);
}
body .gform_wrapper .sutphen-button-dark .gform_footer input[type=submit]:hover {
	background-color:var(--red-dark);
}

body .gform_wrapper .form-light label.gfield_label {
    color: var(--white);
}
body .gform_wrapper .form-light .gfield_required {
    color: var(--gray);
}
body .gform_wrapper .form-light .ginput_container input, body .gform_wrapper .form-light .ginput_container_select select {
    background-color: var(--white);
}

body .gform-footer.gform_footer {
    align-items: center;
    justify-content: center;
}

/**** Timeline CSS ****/
/* .timeline-wrapper {
    position: relative;
    width: 90%;
    max-width: 1100px;
    margin: auto;
}
 */

.timeline-item {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-direction: column;
}

.timeline-item::before {
    content: "";
    position: absolute;
    top: 6rem;
    width: 5rem;
    height: 1px;
    background-color: #000000;
}

.timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    width: 1px;
    background-color: #000000;
    height: 100%;
    transform: translateX(-50%);
}

.timeline-year {
	text-transform: none;
    margin-bottom: 1rem;
}

.timeline-content-wrapper {
    display: flex;
    width: 100%;
    max-width: 65rem;
    justify-content: space-between;
	margin-top: 5rem;
}

.timeline-item.left .timeline-content-wrapper {
    flex-direction: row-reverse;
}

.timeline-image {
    width: 45%;
	padding-left: 2rem;
    padding-right: 2rem;
}

.timeline-image img {
    width: 100%;
    display: block;
}

.timeline-content {
    width: 45%;
    text-align: right;
	padding-left: 2rem;
    padding-right: 2rem;
}

.timeline-item.right .timeline-content {
    text-align: left;
}


.timeline-desc {
    line-height: 1.5;
}

/* ----- Responsive Adjustments ----- */

/* For tablets and smaller screens */
@media (max-width: 1024px) {
    .timeline-content-wrapper {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

	    .timeline-line {
        left: 10px;
        transform: none;
        width: 2px;
    }
	
    .timeline-image {
		display:flex;
		justify-content: center;
        width: 80%;
        padding: 1rem 0;
    }
	
	.timeline-image img {
	width: 70%;
}

    .timeline-content {
        width: 80%;
        text-align: center;
        padding: 1rem;
    }

    .timeline-item.left .timeline-content-wrapper {
        flex-direction: column;
    }

    .timeline-item.right .timeline-content {
        text-align: center;
    }
	    .timeline-item::before {
       	top: 15rem;
   	 	left: 0%;
    	width: 8rem;
    }
}

/* For mobile screens */
@media (max-width: 768px) {
    .timeline-wrapper {
        width: 100%;
    }

    .timeline-content-wrapper {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .timeline-image {
        width: 100%;
        padding: 0 0 0 .5rem;
    }
	.timeline-year {
		margin-bottom: .5rem;
	}

    .timeline-content {
        width: 100%;
        text-align: center;
        padding: 1rem;
    }

    .timeline-item::before {
        width: 2rem;
        left: 10px;
    }
}

/*** Specs Table ***/
.specs-table .spec-row {
    display: grid;
    grid-template-columns: 15rem 1fr;
    background: #e9e9e9;
    padding: 0;
}

.specs-table .spec-row:nth-child(even) {
    background: #f5f5f5;
}

.specs-table .spec-cell {
    padding: 0.75rem;
    line-height: 1em;
}

@media screen and (max-width: 800px) {
    .specs-table .spec-row {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
        padding: 0.75rem 1rem;
    }

    .specs-table .spec-cell {
        width: 100%;
        padding: 0;
        font-size: 0.9rem;
        line-height: 1.2em;
    }
}

/**** Fire Truck Features Styling ****/
.fire-truck-features-wrapper {
    width: 100%;
    text-align: center;
    padding: 20px 0;
}

.fire-truck-features-row {
    display: grid;
    margin: 0 auto;
    padding: 0;
    justify-content: center;
    align-items: center;
    justify-content: flex-start;
	grid-template-rows: auto;
}

.feature-item {
    display: flex;
    width: 100%;
    gap: 1.2rem;
    padding: 8px 12px;
    align-items: center;
    margin: 0 auto;
    height: auto;
}

/* Desktop Sizing */
@media screen and (min-width: 1300px) {
    .fire-truck-features-row {
        grid-template-columns: repeat(4, 1fr);
    }

    .feature-item:nth-child(4n)::after {
        display: none;
    }
}

/* Tablet Sizing */
@media screen and (min-width: 800px) and (max-width: 1300px) {
    .fire-truck-features-row {
        grid-template-columns: repeat(2, 1fr);
    }

    .feature-item:nth-child(2n)::after {
        display: none;
    }

    .feature-item:nth-child(-n+6) {
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        border-bottom: 2px solid var(--red-dark);
    }
}

/* Tablet and Desktop */
@media screen and (min-width: 799px) {
	.feature-item {
		height: -webkit-fill-available;
	}
	
    .feature-item:nth-child(-n+4) {
        padding-bottom: 1.5rem;
        margin-bottom: 1.5rem;
        border-bottom: 2px solid var(--red-dark);
    }

    .feature-item::after {
        width: 0.25rem;
        height: 3rem;
        display: block;
        content: "";
        visibility: visible;
        background: var(--red-dark);
        margin: 0 1rem;
    }
}

.feature-icon {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0; /* Ensures icons remain the same size */
}

.feature-title {
	font-size: 1.125rem;
	font-weight: bold;
	color:#fff;
    line-height: 1.4;
    flex-grow: 1;
}

/*** Dealers Icon****/
.dealer-icons {
    display: flex;
    gap: 2rem;
	align-items: center;
	justify-content: center;
}

.dealer-icon {
    width: 2.5rem;
    height: 2.5rem;
	object-fit: contain;
}
.dealer-pagination .page-numbers {
    height: 2.5rem;
    min-width: 2.5rem;
    border: 3px solid var(--bricks-color-asjpxk);
    align-items: center;
    text-align: center;
    justify-content: center;
    line-height: 1em;
    display: flex;
    width: auto;
    padding: .25rem;
    font-size: 1.25rem;
}

.dealer-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

span.page-numbers.current {
    background-color: var(--red-dark);
    color: var(--white);
    border-top-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}
/**** Mega Menu *****/
#brxe-qcamck .bricks-nav-menu-wrapper .bricks-nav-menu li.mega-menu-heading.menu-item.bricks-menu-item a {
	font-weight: bold;
	text-transform: uppercase;
}

li.mobile-menu-only.menu-item {  
	display: none;  
}
li.mega-menu.menu-item {
	display: block;	 
}
  
@media (max-width: 990px) {  
    li.mobile-menu-only.menu-item {  
        display: block;  
    }
	li.mega-menu.menu-item {
		display: none;	 
	}
}  

/*** Mobile Menu ***/
.sub-menu li.menu-item-has-children .brx-submenu-toggle a {
    font-weight: 600;
}
.sub-menu li.menu-item-has-children .sub-menu {
    margin-left: 20px;
}

/*** Menu Icons ***/
.menu-icon-login a {
	align-items: center;
}
.menu-icon-login a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url('https://devsutphen.emberlydev.com/wp-content/uploads/2025/03/login-icon.svg');
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 8px;
  vertical-align: middle;
  position: relative;
}


/*** Shape Dividers on Desktop ***/
@media screen and (min-width: 800px) {
	.bricks-shape-divider .bricks-shape-divider-inner {
		width: 2.5rem !important;
		height: 2.5rem !important;
	}
}

/*** Dealer Locator ***/
main.page-content {
    padding: 5rem 1.5rem;
}

.container {
    width: 100%;
    max-width: 90rem;
    margin: 0 auto;
}

@media screen and (max-width: 800px) {
    main.page-content {
        padding: 3rem 1.5rem;
    }
}

.page-content-interior {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

form.filters {
    background: var(--red);
    padding: 2rem;
    border-top: 0.5rem solid var(--red-dark);
    display: grid;
    grid-template-columns: 1fr 1fr max-content max-content;
    gap: 2rem;
}

/* Inputs */
body.bricks-is-frontend input[type=text], body.bricks-is-frontend input[type=email], body.bricks-is-frontend input[type=tel], body.bricks-is-frontend input[type=number], body.bricks-is-frontend select, body.bricks-is-frontend textarea {
    width: 100%;
    padding: 0.75rem;
    border-radius: 0;
    border: 2px solid var(--silver);
    background-color: var(--white);
    font-size: 1rem;
    line-height: 1em;
    color: var(--black);
}

.form-light button[type=submit], .form-light input[type=submit] {
    background-color: transparent;
    color: var(--white);
    border: 2px solid var(--white);
    padding: 0.5rem 2rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    transition: all ease .03s;
}
.form-light button[type=submit]:hover, .form-light input[type=submit]:hover {
	color: var(--gray);
	border-color: var(--gray);
}

/* Buttons */
.button, input[type=submit] {
    background-color: var(--red);
    color: var(--white);
    border: 2px solid var(--red);
    padding: 0.5rem 2rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    transition: all ease .03s;
    clip-path:polygon(0% 0%, 94% 0%, 100% 25%, 100% 100%, 6% 100%, 0% 75%);
    display: flex;
    align-items: center;
    gap: 10px;
	justify-content: center;
	letter-spacing: .5px;
}
.button:hover, input[type=submit]:hover {
	background-color: var(--red-dark);
	border-color: var(--red-dark);
}

.button.button-secondary {
	 background-color: var(--transparent);
	 border: none;
	text-transform: unset;
}

.button.button-secondary:hover {
    color: var(--gray);
}

/*** Filters ***/
.filters .filter {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.filters label {
    font-weight: 800;
    color: var(--white);
    margin: 0;
}

/*** Dealer Items ***/
.dealer-items {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.dealer-item {
    border: 2px solid var(--silver);
    border-top: 0.5rem solid var(--red);
    padding: 2rem;
}

.dealer-item-inner {
    display: grid;
    grid-template-columns: 40% 1fr max-content max-content;
    gap: 2rem;
    align-items: center;
}

.dealer-item h3 {
    font-size: 1.25rem;
    text-transform: none;
}

.dealer-type-items {
    display: flex;
    gap: 2rem;
    align-items: center;
}

.dealer-type-legend {
    display: flex;
    justify-content: flex-end;
    gap: 2rem;
    width: 100%;
}

.dealer-type-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

#county-dropdown.loading {
    opacity: 0.5;
    pointer-events: none;
}

@media screen and (max-width: 800px) {
    form.filters {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .dealer-item {
        padding: 1.5rem;
    }
    
    .dealer-item-inner {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .dealer-type-legend {
        flex-direction: column;
        gap: 1rem;
    }
}

@media screen and (min-width: 1000px) {
    .dealer-item-inner .dealer-item-col:nth-child(1) {
        border-right: 2px solid var(--silver);
    }
    
    .dealer-item-inner .dealer-item-col:nth-child(2) {
        padding-left: 2rem;
    }
}

/* Grid Layout */
.related-deliveries-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 2rem;
}

.delivery-item {
    display: flex;
    flex-direction: column; 
    justify-content: flex-start;
    text-align: left;
}

.delivery-image-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.delivery-image {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    border: 0.9rem solid var(--red-dark);
    border-radius: 0; 
	aspect-ratio: 4 / 3;
}
a.delivery-item:hover img.delivery-image {
    border-color: #6c0415;
}
a.delivery-item:hover h3 {
    color: var(--gray);
}

.delivery-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-top: 10px;
    color: #fff; 
}

@media (max-width: 767px) {
	.delivery-image {
	 	border-width: .5rem;
	}
    .related-deliveries-grid {
        grid-template-columns: 1fr; 
    }
	
}

/*** Desktop Only ***/
@media (min-width: 767px) {
	.desktop-only {
		display: none!important;
	}
}

/*** No Word Wrap ***/
.no-text-wrap {
	text-wrap: nowrap;
}

/*** Single Dealer ***/
#single-dealer {
    padding: 5rem 1.5rem;
}

#single-dealer .single-dealer-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

#single-dealer .single-dealer-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 2rem;
    row-gap: 0;
    width: 100%;
    border: 1px solid var(--silver);
    border-top: 0.5rem solid var(--red);
}

#single-dealer .single-dealer-inner .col {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 2rem;
}

#single-dealer .single-dealer-inner .col:not(:last-child)  {
    border-right: 1px solid var(--silver);
}

#single-dealer .single-dealer-inner .col h3 {
    font-size: 1.25rem;
}

#single-dealer .single-dealer-inner .col h4 {
    font-size: 0.9rem;
}

#single-dealer .dealer-type-markup .dealer-type {
    display: flex;
    align-items: center;
    gap: 1rem;
}

@media (max-width: 768px) {
    #single-dealer {
        padding: 3rem 1.5rem;
    }

    #single-dealer .single-dealer-inner {
        grid-template-columns: 1fr;
        gap: 0;
    }

    #single-dealer .single-dealer-inner .col:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid var(--silver);
    }
}

#single-dealer .regional-territories {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#single-dealer .col.dealer-regions {
    grid-column: span 4;
    border-top: 1px solid var(--silver);
}

/*** Sold Stock Units ***/
.brxe-heading.sold-heading, body .sold-heading {
    font-size: 3rem;
    transform: rotate(-10deg);
    border: 2px dashed var(--silver);
    line-height: 1em;
    padding: 0.5rem 1rem;
}

@media (max-width: 800px) {
    .brxe-heading.sold-heading, body .sold-heading {
        font-size: 2rem;
    }
}

/*** Breadcrumbs ***/
.breadcrumbs a:hover, p#breadcrumbs a:hover {
    color: var(--red-dark);
}

.breadcrumbs span, p#breadcrumbs span {
    gap: 1.2rem;
    display: flex;
    align-items: center;
}