/* //////////////// CSS - GENERAL //////////////// */

/* INFO BREAKPOINTS OLD
	-- 1280px
	-- 975px
	-- 768px
	-- 675px
	-- 375px
*/


/* INFO BREAKPOINTS NEW
	-- 1280px
	-- 975px
	-- 768px
	-- 625px
	-- 425px
*/

/*///////////////////////////////////////////// CUSTOM FONTS */

/* HEADING FONT */
@import url('https://fonts.cdnfonts.com/css/arial');

/* PARAGRAPH FONT */
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600,700&display=swap');

/* ////////////////////////////////////////////// CSS VARIABLES */
:root {
	--transition: .3s;
	--transition-slow: .6s;
	--transition-fast: .15s;
	--widthdesktop: 1140px;
	--margindesktop: 40px;
	--widthscrollbar: 10px;
}
:root body {
    --metalite-group: #1e4486;
    --metalite-blue: #0ca0d7;
    --metalite-orange: #e37d3a;
    
	--grey: #E5E5E5;
	--light-grey: #EEE;
	--dark-grey: #444;
	--white: #ffffff;
	--black: #000000;
	
	--standard-padding: 30px;
}

@media (max-width: 675px) {
	:root {
		--margindesktop: 30px; 
		--widthscrollbar: 0px;
	}
}

/* ////////////////////////////////////////////// BACKGROUND COLOR CLASSES */
.m_group {
    background-color: var(--metalite-group);
}
.m_blue { 
    background-color: var(--metalite-blue);
}
.m_orange { 
    background-color: var(--metalite-orange);
}

/* ////////////////////////////////////////////// COLOR CLASSES */
.metalite-c-group {
    color: var(--metalite-group);
}
.metalite-c-blue { 
    color: var(--metalite-blue);
}
.metalite-c-orange { 
    color: var(--metalite-orange);
}

/* ////////////////////////////////////////////// TEXT CLASSES */

.title-font{
	font-family: 'Montserrat', sans-serif;                                                
	font-weight: 600;
	line-height: 1.4;
}

.paragraph-font{
	font-family: 'Montserrat', Arial;
}

.is-bold{
	font-weight: 700;
}

/* ////////////////////////////////////////////// TEXT STYLES */

body {
	font-family: 'Montserrat', Arial;
	font-weight: 500;
}

h1, h1 a, .font-size-48 {
	font-family: 'Montserrat', sans-serif;
	font-size: 48px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: calc(var(--margindesktop) / 1);
}

@media (max-width: 675px) {
	h1, h1 a, .font-size-48 {
		font-size: 36px;
	}	
}

h2, h2 a, .font-size-28 {
	font-family: 'Montserrat', sans-serif;                                                
	font-size: 28px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: calc(var(--margindesktop) / 2);
}

h3, h3 a, .font-size-18 {
	font-family: 'Montserrat', sans-serif;                                                
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: calc(var(--margindesktop) / 2);
}

h4, h4 a {
	font-family: 'Montserrat', sans-serif;                                                
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: calc(var(--margindesktop) / 2);
}

h5, h5 a {
	font-family: 'Montserrat', sans-serif;                                                
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: calc(var(--margindesktop) / 2);
}

h6, h6 a {
	font-family: 'Montserrat', sans-serif;                                                
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: calc(var(--margindesktop) / 2);
}

p {
	font-family: 'Montserrat', Arial;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	margin-bottom: calc(var(--margindesktop) / 2);
}

p.bold, p strong {
	font-weight: 700;
}

strong {
	font-weight: bold;
}

a {
	line-height: 1.4;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

em {
	font-style: italic;
}

ul:not(.menu, .sub-menu, .wp-block-social-links, .search-sidebar-widget ul, .archive-sidebar-widget ul, .searchandfilter ul, ul.wp-block-navigation ),
ol:not(.menu, .sub-menu, .wp-block-social-links, .search-sidebar-widget ul, .archive-sidebar-widget ul, .searchandfilter ul, ul.wp-block-navigation ) {
	list-style: outside;
	margin-left: calc(var(--margindesktop) * 1);
	margin-bottom: calc(var(--margindesktop) / 1 );
	width: auto!important;
}

li:not(.menu-item) {
	font-family: 'Montserrat', Arial;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: calc(var(--margindesktop) / 2);
}

input, select, textarea {
	font-family: 'Montserrat';
}

@media (max-width: 675px) {
	ul:not(.menu, .sub-menu, .wp-block-social-links, .search-sidebar-widget ul, .archive-sidebar-widget ul, .searchandfilter ul, ul.wp-block-navigation ),
	ol:not(.menu, .sub-menu, .wp-block-social-links, .search-sidebar-widget ul, .archive-sidebar-widget ul, .searchandfilter ul, ul.wp-block-navigation )  {
		margin-left: calc(var(--margindesktop) / 2);
	}
}

/*///////////////////////////////////////////// HEADER */

.header {
    z-index: 1000;
	position: sticky;
	width: 100%;
	transition: var(--transition);
}


.home .header {
    width: 100%;
    z-index: 1000;
	position: fixed;
}



.header a {
    color: var(--white);
}
.header .m_group a {
    border-bottom: 4px solid var(--metalite-group);
}
.header .m_blue a {
    border-bottom: 4px solid var(--metalite-blue);
}
.header .m_orange a {
    border-bottom: 4px solid var(--metalite-orange);
}
.header a:hover {
    border-bottom: 4px solid var(--white);
}

.admin-bar .header {
	top: var(--wp-admin--admin-bar--height);
}

@media (max-width: 975px) {
.header {
	transition: unset;
}
}
/* ///////////////// SIMPLE HEADER  */

.header-top-bar {
    max-height: 40px !important;
    padding-left: var(--standard-padding);
    padding-right: var(--standard-padding);
    background-color: var(--black);
    color: var(--white);
    display: flex;
    justify-content: flex-start !important;
    align-items: center;
    font-size: 12px;
}
.header-top-bar span {
    font-size: 15px;
}
.header-top-bar div {
    margin-right: 20px;
}
.header-top-bar span,
.header-top-bar div {
    height: 100%;
    display: flex;
    align-items: center;
}


/* ///////////////// GENERAL HEADER */


.header .header-container {
    padding-left: var(--standard-padding);
    padding-right: var(--standard-padding);
    width: 100%;
	height: 100px;
    display: flex;
    justify-content: space-around;
	align-items: center;
	max-width: var(--widthdesktop);
	margin: 0px auto;
	
}

.header .header-container .header-container-left {
    width: 25%;
    display: flex;
}

.header .header-container .header-container-right {
    width: 75%;
    display: flex;
    height: 100%;
}


.header .header-container .header-container-left {
    justify-content: flex-start;
}
 
.header .header-container .header-container-right  {
    justify-content: flex-end;
}


@media (max-width: 1280px) {
.header .header-container {
    padding-left: var(--margindesktop);
    padding-right: var(--margindesktop);
    width: 100%;
	height: 100px;
    display: flex;
    justify-content: space-around;
	align-items: center;
}	
}


@media (max-width: 975px) {
.header .header-container .header-container-left {
    width: 50%;
}
.header .header-container .header-container-right {
    width: 50%;
}
}

@media (max-width: 675px) {
.header .header-container {
	height: 80px;
}
}

/* HEADER MENU */

.header .menu ul {
    display: inline-flex;
    list-style: none;
    margin: unset;
}


.header .menu ul li {
    margin-bottom: unset;
    padding-left: calc( var(--margindesktop) / 2);
}



/* HEADER LOGO */

.header .header-container .custom-logo {
   transition: var(--transition);
    height: 50px;
    display: flex;
    align-items: center;
	margin: 0;
	padding: 0;
	margin-bottom: 15px;
}


/* ///////////////// HEADER MOBILE */

@media (min-width: 976px) {
.header .header-mobile {
    display: none!important;
}
}

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

.header .header-mobile {
	width: 100%!important;
}

/*///////////////////////////////////////////// FOOTER */


div.footer .footer-container {
	padding-left: calc( ( 100% - var(--widthdesktop) ) / 2 );
    padding-right: calc( ( 100% - var(--widthdesktop) ) / 2 );
    width: 100%;
}

.footer-container-top {
	padding: var(--margindesktop) 0;
    display: flex;
    justify-content: flex-start;
}

div.footer .footer-container-center {
    display: flex;
	padding-bottom: var(--margindesktop);
	flex-wrap: wrap;
}

div.footer .footer-container-bottom {
    display: flex;
    padding-bottom: var(--margindesktop);
    flex-direction: column;
}

div.footer .footer-container-bottom  p, 
div.footer .footer-container-bottom  a {
    font-size: 12px;
}

div.footer .footer-container-center .footer-container-center-columm {
    width: 25%;
}

div.footer h3 {
    color: var(--blue-light);
}

div.footer p, 
div.footer a {
    color: #ffffff;
}

div.footer a:hover {
    text-decoration: underline;
}

div.footer .wp-block-social-links .wp-social-link svg {
    height: 45px;
    width: 45px;
}

@media (max-width: 1280px) {
div.footer .footer-container {
	padding-left: var(--margindesktop);
    padding-right: var(--margindesktop);
    width: 100%;
}	
}

@media (max-width: 1280px) {
div.footer .footer-container-center .footer-container-center-columm {
    width: 50%;
}
div.footer .footer-container-center .footer-container-center-columm.one,
div.footer .footer-container-center .footer-container-center-columm.two {
    padding-bottom: var(--margindesktop);
}
}

@media (max-width: 625px) {
div.footer .footer-container-center .footer-container-center-columm {
    width: 100%;
}
div.footer .footer-container-center .footer-container-center-columm:not(:last-child) {
    padding-bottom: var(--margindesktop);
}
}

/* FOOTER FORMS */

div.footer form input[type="text"],
div.footer form input[type="tel"],
div.footer form input[type="email"],
div.footer form textarea, 
div.footer .wpcf7 input.wpcf7-text,
div.footer .wpcf7 input.wpcf7-tel,
div.footer .wpcf7 input.wpcf7-email,
div.footer .wpcf7 textarea {
	border: unset;
	background-color: #ffffff;
}

div.footer form input[type="submit"],
div.footer .wpcf7 input.wpcf7-submit {
	background-color: unset;
	border: 1px solid #ffffff;
	color: #ffffff;
}

div.footer form input[type="submit"]:hover,
div.footer .wpcf7 input.wpcf7-submit:hover {
	background-color: #ffffff;
}

div.footer .wpcf7 form.sent .wpcf7-response-output,
div.footer .wpcf7 form.invalid .wpcf7-response-output,
div.footer .wpcf7 form.unaccepted .wpcf7-response-output,
div.footer .wpcf7 form.payment-required .wpcf7-response-output,
div.footer .wpcf7 form .wpcf7-response-output {
	font-size: 12px;
	color: #fff;
	border: 1px solid #fff;
	margin: unset;
	text-align: center;
	padding: calc(var(--margindesktop) / 2);
	margin-bottom: calc(var(--margindesktop) / 2);
}

/*///////////////////////////////////////////// CONTAINER */

/*
.main-container {
	opacity: 1;
}
*/

.home .main-container {
    top: 0px;
}

.home.admin-bar .main-container {
    top: var(--wp-admin--admin-bar--height);
}


div#container .header,
div#container header {
	padding-left: calc( ( 100% - var(--widthdesktop) ) / 2 );
    padding-right: calc( ( 100% - var(--widthdesktop) ) / 2 );
    padding-top: var(--margindesktop);
    width: 100%;
}

/* ENTRY CONTENT */

body:not(.home, .page-distributors-area) .entry-content {
    padding-top: calc( var(--margindesktop) * 1);
    padding-bottom: calc( var(--margindesktop) * 1);
}

.entry-content > :not(.full-width-element) {
	padding-left: calc( ( 100% - var(--widthdesktop) ) / 2 );
    padding-right: calc( ( 100% - var(--widthdesktop) ) / 2 );
    width: 100%;
}

.entry-content > .full-width-element {
	width: 100%;
}

@media (max-width: 1280px) {
div#container .header,
div#container header {
	padding-left: var(--margindesktop);
    padding-right: var(--margindesktop);
    padding-top: var(--margindesktop);
    width: 100%;
}	

/* TBC .entry-content > .full-width-element, */
.entry-content > :not(.full-width-element) {
	padding-left:  var(--margindesktop);
	padding-right:  var(--margindesktop);
	width: 100%;
}
}

/* ENTRY FOOTER */

.entry-footer > :not(.full-width-element) {
	padding-left: calc( ( 100% - var(--widthdesktop) ) / 2 );
    padding-right: calc( ( 100% - var(--widthdesktop) ) / 2 );
    width: 100%;
}

@media (max-width: 1280px) {
.entry-footer > :not(.full-width-element) {
	padding-left:  var(--margindesktop);
	padding-right:  var(--margindesktop);
	width: 100%;
}
}

/*///////////////////////////////////////////// BEADCRUMBS */

.section-breadcrumb {
    height: 50px;
    display: flex;
    align-items: center;
    border: 1px solid var(--grey-light);
	padding-left: calc( ( 100% - var(--widthdesktop) ) / 2 );
    padding-right: calc( ( 100% - var(--widthdesktop) ) / 2 );

}

@media (max-width: 1280px) {
.section-breadcrumb {
    height: 50px;
    display: flex;
    align-items: center;
    padding-left: var(--margindesktop);
    padding-right:var(--margindesktop);
}
}

@media (max-width: 975px) {
.section-breadcrumb {
	display: none;
}
}

/*///////////////////////////////////////////// DIVIDERS */

.divider-top {
	padding-left: unset!important;
	padding-right: unset!important;
	width: 100%!important;
	position: absolute;
	z-index: 0;
	background-color: #ffffff;
	top: -1px;
}

.divider-bottom {
	padding-left: unset!important;
	padding-right: unset!important;
	width: 100%!important;
	position: absolute;
	z-index: 0;
	background-color: #ffffff;
	bottom: -1px;
}

.divider-bottom img {
	width: 100%;
}

/*///////////////////////////////////////////// SEPARATOR */

body .entry-content > .wp-block-separator,
body .entry-content > hr  {
	margin-bottom: calc( var(--margindesktop) / 1 );
	margin-top: calc( var(--margindesktop) / 1 );
    margin-left: calc( ( 100% - var(--widthdesktop) ) / 2 );
    margin-right: calc( ( 100% - var(--widthdesktop) ) / 2 );
	width: auto!important;
	color: var(--grey-light);
}

@media (max-width: 1280px){
body .entry-content > .wp-block-separator,
body .entry-content > hr {
    margin-left: var(--margindesktop);
    margin-right: var(--margindesktop);
    width: auto!important;
}
}

/*///////////////////////////////////////////// COLUMNS */

:where(.wp-block-columns.is-layout-flex) {
	gap: var(--margindesktop);
}

/*///////////////////////////////////////////// FORMS */

.wpcf7 br {
	display: none;
}

form select,
form input[type="text"],
form input[type="tel"],
form input[type="email"],
form input[type="password"],
form textarea, 
.wpcf7 input.wpcf7-text,
.wpcf7 input.wpcf7-tel,
.wpcf7 input.wpcf7-email,
.wpcf7 textarea {
	padding: 0 10px;
	height: 40px;
	margin-bottom: calc( var(--margindesktop) / 2);
	font-size: 16px;
	background-color: #ffffff;
	width: 100%;
	transition: var(--transition);
	
    /* Disable rounding on iPhone */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;      
}

.wpcf7 textarea {
	height: unset;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
	font-size: 12px;
	margin: unset;
	text-align: center;
	padding: calc(var(--margindesktop) / 2);
	margin-bottom: calc(var(--margindesktop) / 2);
}

.wpcf7 .wpcf7-list-item {
	margin: 10px 0 0 0;
}

.wpcf7 span.wpcf7-form-control.wpcf7-acceptance {
	display: flex;
}

.wpcf7 .wpcf7-not-valid-tip {
	font-size: 16px;
	font-weight: unset;
	display: block;
}

::-webkit-input-placeholder {
	/* WebKit browsers */
	opacity: 1;
}

:-moz-placeholder {
	/* Mozilla Firefox 4 to 18 */
	opacity: 1;
}

::-moz-placeholder {
	/* Mozilla Firefox 19+ */
	opacity: 1;
}

:-ms-input-placeholder {
	/* Internet Explorer 10+ */
	opacity: 1;
}


.wpcf7 .form-row p {
	display: flex;
}

@media (max-width: 475px) {
	/* Add specific styles for screens up to 475px wide */
}

/* FORM COLUMNS */

/* Container for two-column layout */
.cf7-two-column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.cf7-two-column p {
    margin-bottom: unset;
}

/* Individual column styling */
.cf7-column {
    flex: 1;
    box-sizing: border-box;
    max-width: calc(50% - calc( var(--margindesktop) / 2) );
}

/* Flex display for rows within columns */
.cf7-column > div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

/* Full-width section */
.cf7-fullwidth {
    width: 100%;
    margin-top: calc( var(--margindesktop) / 2); /* Adjust spacing as needed */
}

/* Adjust styles for smaller screens */
@media screen and (max-width: 768px) {
	.cf7-two-column {
		flex-direction: column;
	}
    .cf7-column {
        max-width: 100%;
    }
}


/*///////////////////////////////////////////// BUTTONS */

.cta-button,
.wpcf7 input.wpcf7-submit,
li.sf-field-submit input {
  background-color: var(--black);
  height: 40px;
  width: fit-content;
  min-width: 180px;
  color: #ffffff;
  font-size: 16px;
  transition: var(--transition);
  padding-left: 20px;
  padding-right: 20px;
  padding-top: unset;
  padding-bottom: unset;
  display: flex !important;
  align-items: center;
  border: unset;
  line-height: unset;
  border-radius: 0px;
}

.cta-button.button-primary {
	background-color: var(--black);
}

.cta-button.button-secondary,
li.sf-field-submit input {
	color: var(--black);
	background-color: var(--grey);
}

.cta-button.button-primary:hover,
.wpcf7 input.wpcf7-submit:hover {
	background-color: var(--light-grey);
	color: var(--black);
	cursor: pointer;
}

.cta-button.button-secondary:hover,
li.sf-field-submit input:hover {
	background-color: var(--light-grey);
	color: var(--black);
	cursor: pointer;
}

.cta-button::after,
.wpcf7 input.wpcf7-submit::after,
li.sf-field-submit input::after {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: calc(var(--margindesktop) / 2);
}

/*///////////////////////////////////////////// TABLES */

table * ,
.wp-block-table * {
	font-size: 16px;
	line-height: calc(16px * 1.4);
}
.wp-block-table thead {
	background-color: var(--grey-light);
}
.wp-block-table th {
	font-family: "FontTown10Bold", Helvetica;
	text-align: left;
}
table th,
table td,
.wp-block-table th, 
.wp-block-table td {
	padding: 15px 10px;
	;
}
table:not(.lwa table) tr,
.wp-block-table tr {
	border-bottom: 1px solid var(--grey-light);
}
@media (max-width: 475px){
	table td:not(:first-child),
	.wp-block-table th:not(:first-child), 
	.wp-block-table td:not(:first-child) {
		padding: 15px 2.5px;
	}
}

/*///////////////////////////////////////////// IMG & POST IMAGE */

.wp-post-image, 
img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin-bottom: calc( var(--margindesktop) / 2);
    margin-top: calc( var(--margindesktop) / 2);
}

/*///////////////////////////////////////////// NAV LINKS */

.nav-links {
    display: flex;
    justify-content: space-between;
    padding-left: calc( ( 100% - var(--widthdesktop) ) / 2);
    padding-right: calc( ( 100% - var(--widthdesktop) ) / 2);
    padding-top: var(--margindesktop);
    padding-bottom: var(--margindesktop);
}

.nav-links * {
	transition: var(--transition);
}
.nav-links a {
	color: var(--dark-grey);
	text-decoration: unset;
}
.nav-links .nav-previous:hover a,
.nav-links .nav-next:hover a {
	color: var(--dark-grey);
}

@media screen and (max-width: 1280px) {
.nav-links {

    padding-left: var(--margindesktop);
    padding-right: var(--margindesktop);

}
}

/*///////////////////////////////////////////// ADMIN BAR */

@media screen and (max-width: 600px) {
	#wpadminbar {
		position: fixed;
	}
}
/*///////////////////////////////////////////// RE-CAPTCHA */

.grecaptcha-badge { 
    visibility: hidden;
}

/*///////////////////////////////////////////// FANCYBOX */

.fancybox-nav span {
    position: absolute;
    top: 50%;
    width: 50px;
    height: 50px;
    margin-top: -18px;
    cursor: pointer;
    z-index: 100040;
    visibility: hidden;
    background-image: unset;
    background-color: #ffffff;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
	transition: var(--transition);
}

.fancybox-prev span:before {
    content: "\f341";
    font-family: 'dashicons';
}

.fancybox-next span:before {
    content: "\f345";
    font-family: 'dashicons';
}


/*///////////////////////////////////////////// SEARCH AND FILTER */

.searchandfilter ul {
    display: flex;
    flex-wrap: wrap;
}

.searchandfilter label {
    width: 100%;
}

.searchandfilter ul li {
    padding: unset;
    width: 100%;
}


/*///////////////////////////////////////////// PAGINATION */

.archive-pagination {
    margin-top: var(--margindesktop);
}

/* ===== EBY mobile header fixes ===== */

/* 0) Make sure the mobile nav actually hides/shows via [hidden] */
.mobile-nav[hidden] { display: none !important; }

/* 1) Desktop defaults */
.primary-nav { display: block; height: 100%; }
.primary-nav ul {height: inherit;}


/* 2) Mobile breakpoint: hide desktop nav, show mobile block, show toggle */
@media (max-width: 975px) {
  /* show the toggle and make it visible in flow */
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: none;
    border: 0;
    padding: .25rem .5rem;
    line-height: 1;
    cursor: pointer;
  }

  /* hide desktop nav on small screens */
  .primary-nav { display: none !important; }

  /* undo the "always hide" from general.css */
  .header .header-mobile { display: block !important; width: 100% !important; }

  /* make the mobile menu block-level when shown (we still use [hidden] to toggle) */
  .mobile-nav { display: block; }

  /* optional: give the panel some structure so it’s not collapsing */
  .mobile-nav .menu { display: block; padding: .75rem 0; }
  .mobile-nav .menu > li { padding: .5rem var(--margindesktop); }
  .mobile-nav .menu a.menu-link { display: block; }
}

/* 3) Header layout tweaks so the toggle doesn’t get pushed off-screen */
.header .header-container { justify-content: space-between; } /* was space-around */
.header .header-container-left,
.header .header-container-right { align-items: center; }

/* 4) Logo: target WP’s markup reliably */
.custom-logo-link img,
img.custom-logo {
  display: block;
  height: 50px;
  width: auto;
  margin: 0; /* avoid the 15px bottom gap pushing things */
}

/* 5) Submenu defaults (desktop); mobile uses stacked styles above */
.menu li > ul.sub-menu[hidden] { display: none; }
.menu li.submenu-open > ul.sub-menu { display: block; }
