@charset "UTF-8";




/* CSS Document */

/* font-family: "Roboto Condensed", sans-serif; */
/* font-optical-sizing: auto; */
/* ont-weight: <weight>; */
/* font-style: normal; */
    
/* Dark Gold: #dbb810 */



body, html {background-color: #4d4d4f;margin: 0px;height: 100%;padding: 0px;font-family: "Roboto Condensed", sans-serif;}
#row {margin: 0px;float: left;width: 100%;}

.pers {color: #f6921e;}
.comm {color: #003d77;}
.tran {color: #2992d0;}
.spec {color: #723151;}
.grey {color: #4d4d4f;}
.gold {color: #ffd300;}

.leftline {background-image: url("../images/vertical-line.png"); background-repeat: no-repeat; background-position: left center;}
    
@media only screen and (min-width: 300px)  {
    #row.test {background-color: #FF0004;}
    #content {width: 90%;margin-right: 5%;margin-left: 5%;float: left; padding-left: 0px; padding-right: 0px;}
   .desktop {display: none;}
    .mobile {display: block;}
    } 
@media only screen and (min-width: 640px)  {
    #row.test {background-color: #FA8D00;}
    #content {width: 92%;margin-right: 4%;margin-left: 4%;float: left; padding-left: 0px; padding-right: 0px;}
    .desktop {display: none;}
    .mobile {display: block;}
    } 
@media only screen and (min-width: 768px)  {
    #row.test {background-color: #F9E702;}
    #content {width: 94%;margin-right: 3%;margin-left: 3%;float: left; padding-left: 0px; padding-right: 0px;}
    .desktop {display: block;}
    .mobile {display: none;}
    } 
@media only screen and (min-width: 1024px)  {
    #row.test {background-color: #01F920;}
    #content {width: 92%;margin-right: 4%;margin-left: 4%;float: left; padding-left: 0px; padding-right: 0px;}
    .desktop {display: block;}
    .mobile {display: none;}
    } 
@media only screen and (min-width: 1280px)  {
    #row.test {background-color: #027EF8;}
    #content {width: 1200px;margin-right:auto !important ;margin-left:auto !important ;float:none; max-width: 1280px;}
    .desktop {display: block;}
    .mobile {display: none;}
    } 
    
/* ---------------- TOPNAV ---------------- */

@media only screen and (min-width: 300px)  {
    #row.nav a {font-size: 12px; line-height: 40px; font-weight: 700; padding-right: 7px; padding-left: 0px; margin-left: 7px; margin-right: 0px;}
    #row.nav {text-align: center;}
    } 
@media only screen and (min-width: 640px)  {
    #row.nav a {font-size: 14px; line-height: 40px; font-weight: 700; padding-right: 7px; padding-left: 0px; margin-left: 7px; margin-right: 0px;}
    #row.nav {text-align: right;}
    } 
@media only screen and (min-width: 768px)  {
    #row.nav a {font-size: 14px; line-height: 40px; font-weight: 700; padding-right: 15px; padding-left: 0px; margin-left: 0px; margin-right: 15px;}
    #row.nav {text-align: right;}
    } 
@media only screen and (min-width: 1024px)  {
    #row.nav a {font-size: 13px; line-height: 40px; font-weight: 600; padding-right: 15px; padding-left: 0px; margin-left: 0px; margin-right: 15px;}
    #row.nav {text-align: right;}
    } 
@media only screen and (min-width: 1280px)  {
    #row.nav a {font-size: 13px; line-height: 40px; font-weight: 500; padding-right: 15px; padding-left: 0px; margin-left: 0px; margin-right: 15px;}
    #row.nav {text-align: right;}
    } 
#row.nav {background-color: #4d4d4f; float: left; box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.35); text-transform: uppercase;}
#row.nav a {color: #fff; opacity: 0.5; text-decoration: none; border-right: 1px; border-right-style: solid; border-right-color: #d6d5d5; font-weight: 500; float: right;}
#row.nav a:hover {opacity: 1; }

#row.nav ul {list-style: none !important;list-style-type: none !important;}
#row.nav li {list-style: none !important;list-style-type: none !important;}

/* ---------------- SMALLNAV ---------------- */


.smallnavbar {display: none; position: fixed; text-align: center; width: 100%; float: left; z-index: 1000; background-image: url("../images/smallnavback.png"); background-repeat: no-repeat; background-size: 100% auto; background-position: center bottom; padding-bottom: 20px; padding-top: 5px; vertical-align: text-bottom;}
    
.smallnavbar a {text-decoration: none; color: #a6a2a4; text-transform: uppercase; font-weight: 500; padding-top: 0px; padding-bottom: 0px; display: inline-block;}
.smallnavbar a:hover {color: #4d4d4f;}
.smallnavbar a img {width: auto; margin-right: 20px; margin-left: 0px; margin-bottom: -5px; margin-top: 0px;}

@media only screen and (max-width: 767px)  {
    #smallnavholder {display: none;}
    } 

@media only screen and (min-width: 768px)  {
    .smallnavbar a img {height: 40px;}
    .smallnavbar a {font-size: 14px; line-height: 40px;padding-left: 10px; padding-right: 10px; }
    #smallnavholder {display: block;}
    } 
@media only screen and (min-width: 1024px)  {
    .smallnavbar a img {height: 45px;}
    .smallnavbar a {font-size: 17px; line-height: 45px;padding-left: 15px; padding-right: 15px; }
    #smallnavholder {display: block;}
    } 
@media only screen and (min-width: 1280px)  {
    .smallnavbar a img {height: 50px;}
    .smallnavbar a {font-size: 20px; line-height: 50px;padding-left: 20px; padding-right: 20px; }
    #smallnavholder {display: block;}
    } 

/* ---------------- HEADER ---------------- */

@media only screen and (min-width: 300px)  {
    #row.hdr a #logo {width: 70%; margin-left: 15%; margin-right: 15%;}
    #row.hdr a #hdrlink {font-size: 25px; line-height: 20px; padding-left: 1%; padding-right: 1%; width: 31%; padding-top: 5%;}
    #row.hdr a #hdrlink.last {padding-right: 1%;}
    #row.hdr #hdrlink span {font-size: 20px; line-height: 25px;}
    } 
@media only screen and (min-width: 640px)  {
    #row.hdr a #logo {width: 30%; margin-left: 0%; margin-right: 0%;}
    #row.hdr a #hdrlink {font-size: 22px; line-height: 20px; padding-left: 15px; padding-right: 15px; width: inherit; padding-top: 4%;}
    #row.hdr a #hdrlink.last {padding-right: 15px;}
    #row.hdr #hdrlink span {font-size: 15px; line-height: 20px;}
    } 
@media only screen and (min-width: 768px)  {
    #row.hdr a #logo {width: 30%; margin-left: 0%; margin-right: 0%;}
    #row.hdr a #hdrlink {font-size: 25px; line-height: 22px; padding-left: 25px; padding-right: 25px; width: inherit; padding-top: 5%;}
    #row.hdr a #hdrlink.last {padding-right: 0px;}
    #row.hdr #hdrlink span {font-size: 15px; line-height: 20px;}
    } 
@media only screen and (min-width: 1024px)  {
    #row.hdr a #logo {width: 25%; margin-left: 0%; margin-right: 0%;}
    #row.hdr a #hdrlink {font-size: 30px; line-height: 25px; padding-left: 35px; padding-right: 35px; width: inherit; padding-top: 3%;}
    #row.hdr a #hdrlink.last {padding-right: 0px;}
    #row.hdr #hdrlink span {font-size: 18px; line-height: 22px;}
    } 
@media only screen and (min-width: 1280px)  {
    #row.hdr a #hdrlink {font-size: 38px; line-height: 30px; padding-left: 45px; padding-right: 45px; width: inherit; padding-top: 5%;}
    #row.hdr a #hdrlink.last {padding-right: 0px;}
    #row.hdr #hdrlink span {font-size: 20px; line-height: 25px;}
    #row.hdr a #logo {width: 30%; margin-left: 0%; margin-right: 0%;}
    } 
    
#row.hdr {padding-top: 10px;padding-bottom: 5px; background-color: #fff;}
#row.hdr a  {text-decoration: none; outline: none;}
#row.hdr a #hdrlink:hover  {color:#4d4d4f !important;}
#row.hdr a #logo {float: left; display: inline; text-align: center;}
#row.hdr a #logo img {width: 100%; height: auto;}
#row.hdr a #hdrlink {float: right; display: inline; text-align: center; color: #8a8a8b; font-weight: 500;}
#row.hdr #hdrlink span {color: #ffd300; font-weight: 700;}
    
/* ---------------- QUAD ---------------- */

@media only screen and (max-width: 500px) {

    #row.quad a h3 {font-size: 20px; line-height: 24px;}
    #row.quad a h3.pers span, a h3.comm span, a h3.tran span, a h3.spec span {font-size: 15px; line-height: 25px;}
}

@media only screen and (min-width: 768px) {
    
    #row.quad a h3 {font-size: 20px; line-height: 21px;}
    #row.quad a h3.pers span, a h3.comm span, a h3.tran span, a h3.spec span {font-size: 15px; line-height: 25px;}
}
@media only screen and (min-width: 1024px) {
 
    #row.quad a h3 {font-size: 24px; line-height: 25px;}
    #row.quad a h3.pers span, a h3.comm span, a h3.tran span, a h3.spec span {font-size: 15px; line-height: 25px;}
}
@media only screen and (min-width: 1280px) {
   
    #row.quad a h3 {font-size: 27px; line-height: 28px;}
    #row.quad a h3.pers span, a h3.comm span, a h3.tran span, a h3.spec span {font-size: 15px; line-height: 25px;}
}

#row.quad {height: auto; float: left; text-align: center; padding-bottom: 50px; padding-top: 20px; background-color: #fff;}
#row.quad a #quad:hover {opacity: 0.6;}
#row.quad a #quad {height: auto; float: left; text-align: center; }
#row.quad a #quad img {width: 25%; height: auto;}

#row.quad a h3 {text-decoration: none; outline: none; text-transform: uppercase; margin: 0px; padding: 0px; font-weight: 500;}
#row.quad a h3.pers span, a h3.comm span, a h3.tran span, a h3.spec span {text-transform: uppercase; color: #a6a6a7;}

#row.quad a h3.pers {color: #f6921e}
#row.quad a h3.comm {color: #003d77}
#row.quad a h3.tran {color: #2992d0}
#row.quad a h3.spec {color: #723151}

/* ---------------- TITLE ---------------- */

@media screen and (max-width: 500px) {
#row.title {margin-bottom: 40px !important;}
}



#row.title {text-align: center; margin-top: 15px;padding: 0px; margin-bottom: 75px;}
#row.title h1 {color: #fff; text-transform: uppercase; font-weight: 500;margin: 0px; position: relative; float: left; background-position: center center; background-size: 100% auto;left: 0;top: 0; z-index: 1;text-shadow: 0px 0px 20px rgba(0,0,0,0.95);}

#row.title h1 { display: block;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
	unicode-bidi: isolate;
padding-left: 20%; padding-right: 20%;
width: 60%; }

#row.title h1.promos {}
#row.title h2 {color: #fff; text-transform: uppercase; font-weight: 400;position: relative; width: 60%; float: left; left: 0; z-index: 2;text-shadow: 0px 0px 15px rgba(0,0,0,0.40); margin-left: 20%;box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.5); padding-left: 5%;padding-right: 5%; margin-bottom: -30px;}

#row.title h1.pers, #row.title h2.pers {background-color: #f6921e;}
#row.title h1.comm, #row.title h2.comm {background-color: #003d77;}
#row.title h1.tran, #row.title h2.tran {background-color: #2992d0;}
#row.title h1.spec, #row.title h2.spec {background-color: #723151;}
#row.title h1.grey, #row.title h2.grey {background-color: #4d4d4f;}
#row.title h1.gold, #row.title h2.gold {background-color: #ffd300;}

@media only screen and (min-width: 300px) {
#row.title h1 {font-size: 30px;line-height: 33px; padding-top: 40px; padding-bottom: 40px;border-radius: 10px;}
#row.title h1.promos {padding-top: 80px; padding-bottom: 80px;}
#row.title h2 {font-size: 16px;line-height: 20px; padding-top: 10px; padding-bottom: 10px;border-radius: 7px;top: -35px;}
}
@media only screen and (min-width: 640px) {
#row.title h1 {font-size: 40px;line-height: 43px; padding-top: 50px; padding-bottom: 50px;border-radius: 15px;}
#row.title h1.promos {padding-top: 100px; padding-bottom: 100px;}
#row.title h2 {font-size: 16px;line-height: 20px; padding-top: 10px; padding-bottom: 10px;border-radius: 10px;top: -40px;}
}
@media only screen and (min-width: 768px) {
#row.title h1 {font-size: 40px;line-height: 43px; padding-top: 50px; padding-bottom: 50px;border-radius: 15px;}
#row.title h1.promos {padding-top: 100px; padding-bottom: 100px;}
#row.title h2 {font-size: 16px;line-height: 20px; padding-top: 10px; padding-bottom: 10px;border-radius: 10px;top: -45px;}
}
@media only screen and (min-width: 1024px) {
#row.title h1 {font-size: 50px;line-height: 55px; padding-top: 60px; padding-bottom: 60px;border-radius: 15px;}
#row.title h1.promos {padding-top: 130px; padding-bottom: 130px;}
#row.title h2 {font-size: 20px;line-height: 23px; padding-top: 15px; padding-bottom: 15px;border-radius: 10px;top: -50px;}
}
@media only screen and (min-width: 1280px) {
#row.title h1 {font-size: 55px;line-height: 55px; padding-top: 70px; padding-bottom: 70px;border-radius: 20px;}
#row.title h1.promos {padding-top: 150px; padding-bottom: 150px;}
#row.title h2 {font-size: 25px;line-height: 28px; padding-top: 20px; padding-bottom: 20px;border-radius: 15px;top: -60px;}
}


/* ---------------- TEXT ---------------- */

@media screen and (max-width: 500px) {
#row.txt #grey-hold.contact {width: 80% !important; margin-right: 5% !important;margin-left: 5% !important;padding-left: 5% !important; padding-right: 5% !important; float: left !important; text-align: center !important; margin-bottom: 15px !important;}
}

#row.txt  {padding-bottom: 50px;}
#row.txt hr {height: 1px;background-color: #fff;background-image: linear-gradient(90deg, #fff, #ffd300, #fff);border: 0;margin-top: 25px; margin-bottom: 25px;}
#row.txt #txt-full {width: 90%; margin-left: 5%; margin-right: 5%; margin-top: 0px; margin-bottom: 20px;}
#row.txt .rounded {border-radius: 20px;}
#row.txt a.apply {background-color: #ffd300; padding: 10px; text-align: center; text-decoration: none; color: #4d4d4f; font-size: 18px; font-weight: 500; text-transform: uppercase; border-radius: 10px; margin: 15px;}
#row.txt a.apply:hover {background-color: #4d4d4f; padding: 10px; text-align: center; text-decoration: none; color: #fff; font-size: 18px; font-weight: 500; text-transform: uppercase; border-radius: 10px;-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25); margin: 15px;}

#row.txt hr.solid {height: 1px;background-color: #4d4d4f;background-image: linear-gradient(90deg, #4d4d4f, #4d4d4f, #4d4d4f);border: 0;margin-top: 25px; margin-bottom: 25px; opacity: 0.20;}

#row.txt #grey-hold {background-color: #e5e4e4; padding: 25px;}
#row.txt #grey-hold.contact {width: 45%; margin-right: 1%;padding-left: 1%; padding-right: 1%; float: left; text-align: center; margin-bottom: 0px;}
#row.txt #grey-hold hr {height: 2px;background-color: #e5e4e4;background-image: linear-gradient(90deg, transparent, #4d4d4f, transparent);border: 0;margin-top: 15px; margin-bottom: 15px; opacity: 0.3;}

#row.txt #txtbox-four {width: 23%; margin-left: 1%; margin-right: 1%; float: left; text-align: center; border-radius: 10px; padding-bottom: 10px; overflow: hidden;box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15); margin-bottom: 10px;}
#row.txt #txtbox-four p.txtbox-title {color: #fff; font-size: 20px; line-height: 22px; font-weight: 600; margin-bottom: 15px; width: 100%; padding-left: 0%; padding-right: 0%; margin-top: 0px; background-color: #4d4d4f; text-transform: uppercase; padding-top: 10px; padding-bottom: 20px;}
#row.txt #txtbox-four p.txtbox-title span {color: #fff; font-size: 12px; line-height: 20px; font-weight: 500; opacity: 0.5;}
#row.txt #txtbox-four p.txtbox-desc {color: #fff; font-size: 15px; line-height: 18px; font-weight: 400; margin-bottom: 10px; width: 80%; margin-left: 10%; margin-right: 10%; margin-top: 0px;}

@media only screen and (min-width: 400px) {
    #row.txt #txtbox-four {display: inline;}
    #row.txt #txtbox-four {width: 48%; margin-left: 1%; margin-right: 1%;}
}
@media only screen and (min-width: 640px) {
#row.txt #txtbox-four {display: inline;}
}
@media only screen and (min-width: 768px) {
#row.txt #txtbox-four {display: inline;}
    #row.txt #txtbox-four {width: 23%; margin-left: 1%; margin-right: 1%;}
}
@media only screen and (min-width: 1024px) {
#row.txt #txtbox-four {display: inline;}
    #row.txt #txtbox-four {width: 23%; margin-left: 1%; margin-right: 1%;}
}
@media only screen and (min-width: 1280px) {
#row.txt #txtbox-four {display: inline;}
    #row.txt #txtbox-four {width: 23%; margin-left: 1%; margin-right: 1%;}
}

a:hover table.products-promos {box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.4); opacity: 0.66}
a table.products-promos {border-radius: 15px; overflow: hidden;box-shadow: 0px 0px 0px 0px rgba(0,0,0,0); opacity: 1.0;}
a table.products-promos h6 {font-size: 24px !important; line-height: 26px !important; font-weight: 700; margin: 0px !important; padding-top: 25px !important; padding-bottom: 25px !important; text-transform: uppercase; width: 100%; background-position: center center; background-size: 135% auto; background-repeat: no-repeat;}

/* ---------------- COLUMNS ---------------- */

@media screen and (max-width: 500px) {
#row.txt #content.right-nav #left {width:90%!important; margin-bottom: 20px!important; }
#row.txt #content.right-nav #right {width:90% !important; margin-right: 5%!important; margin-left: 5%!important; text-align:center !important; margin-top: 60px !important; }
}

@media only screen and (min-width: 300px) {}
@media only screen and (min-width: 640px) {#row.txt #content.right-nav #left {width:90%;}    }
@media only screen and (min-width: 768px) {
    #row.txt #content.right-nav #left {width:65%; margin-right: 5%; margin-left: 5%; float: left; text-align:left; margin-bottom: 25px; }
    #row.txt #content.right-nav #right {width:20%; margin-right: 5%; float: left; text-align:left; display: block; margin-top: 0px !important;}
    #row.txt #four-col {width: 46%; padding: 2%; margin: 0px; float: left;}
}
@media only screen and (min-width: 1024px) {
    
}

/* ---------------- FONTS & TYPE ---------------- */

@media screen and (max-width: 500px) {
    #row.txt h2 { font-size: 20px !important; line-height: 25px !important; /* Optional: Adjusted line-height to keep the spacing proportional */}
    #row.txt p.home, #row.txt p.lrg, #row.txt p.intro {font-size: 20px !important; line-height: 24px !important;padding-top: 10px !important; padding-bottom: 10px !important; }
    #row.txt #txt-full {margin-bottom: 10px !important;}
    #row.txt img.map {display: none;}

}

@media only screen and (min-width: 380px) {
    #row.txt #four-col p.home {color: #4d4d4f; text-align: center; margin: 0px; padding-top: 20px; font-size: 15px; line-height: 18px; font-weight: 600;}

}
@media only screen and (min-width: 640px) {
    #row.txt #four-col p.home {color: #4d4d4f; text-align: center; margin: 0px; padding-top: 20px; font-size: 15px; line-height: 18px; font-weight: 600;}
    
}
@media only screen and (min-width: 768px) {
    #row.txt #four-col p.home {color: #4d4d4f; text-align: center; margin: 0px; padding-top: 20px; font-size: 18px; line-height: 20px; font-weight: 600;}
}
@media only screen and (min-width: 1024px) {
    #row.txt #four-col p.home {color: #4d4d4f; text-align: center; margin: 0px; padding-top: 20px; font-size: 20px; line-height: 22px; font-weight: 600;}
}
@media only screen and (min-width: 1280px) {
    #row.txt #four-col p.home {color: #4d4d4f; text-align: center; margin: 0px; padding-top: 20px; font-size: 20px; line-height: 22px; font-weight: 600;}
}

#row.txt h5 {font-size: 19px; line-height: 21px; font-weight: 500; text-transform: uppercase; margin: 0px; padding-top: 0px; padding-bottom: 20px;}
#row.txt h6 {font-size: 20px; line-height: 24px; font-weight: 700; margin: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-bottom: 20px;}
#row.txt h6 span {font-size: 18px; font-weight: 300; opacity: 0.66; margin-left: 15px;}

#row.txt h2 {color: #4d4d4f; font-size: 30px; line-height: 35px; font-weight: 500; text-transform: uppercase; text-align: center; margin: 0px; padding-top: 0px; padding-bottom: 0px;}
#row.txt p.home {color: #4d4d4f; font-size: 24px; line-height: 32px; font-weight: 300; text-align: center; margin: 0px; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px}
#row.txt p.lrg {color: #4d4d4f; font-size: 30px; line-height: 35px; font-weight: 300; text-align: center; margin: 0px; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px}

#row.txt p.intro {color: #4d4d4f; font-size: 22px; line-height: 28px; font-weight: 500; margin: 0px; padding-bottom: 0px; }

#row.txt p {color: #4d4d4f; font-size: 18px; line-height: 24px; font-weight: 300; margin-bottom: 15px;margin-top: 0px;}
#row.txt p a {color: #4d4d4f; }
#row.txt p.promos {font-size: 24px; line-height: 30px; font-weight: 500; margin-bottom: 20px;margin-top: 0px; text-align: center;}

#row.txt ul {margin: 0px;}
#row.txt ul li {color: #4d4d4f; font-size: 16px; line-height: 20px; font-weight: 300; margin-bottom: 5px; padding: 0px;}

#row.txt #content #col-nav a {width: 90%; padding: 5%; background-color:#ffd300; display: block; text-align: center; color: #4d4d4f; font-weight: 700; text-transform: uppercase; text-decoration: none; border-radius: 10px; margin-bottom: 10px; font-size: 16px; line-height: 16px;}

#row.txt #content #col-nav ul {list-style: none !important;list-style-type: none !important;}
#row.txt #content #col-nav li {list-style: none !important;list-style-type: none !important;}


#row.txt #content #col-nav a:hover {background-color:#4d4d4f; color: #ffd300; }

#row.txt p.contact-title {color: #4d4d4f; font-weight: 400; text-transform: uppercase; margin-bottom: 10px;margin-top: 20px; font-size: 14px; line-height: 16px; padding: 0px; opacity: 0.6;}
#row.txt p.contact {color: #4d4d4f; font-weight: 700; margin-bottom: 2px;margin-top: 2px; font-size: 16px; line-height: 20px; padding: 0px; opacity: 1;}
#row.txt p.contact-title a, #row.txt p.contact a {color: #4d4d4f;  text-decoration: none;}

#row.txt a p.button-download {color: #4d4d4f; font-size: 18px; line-height: 18px; font-weight: 500; margin-bottom: 15px; margin-top: 0px; float:left; text-transform: uppercase; padding-top: 15px; padding-bottom: 15px; padding-right: 20px; padding-left: 50px; border-radius: 10px; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1); background-image: url("../images/button-icon-download.png"); background-repeat: no-repeat; background-size: auto 40%; background-position: 16px center; text-decoration: none; background-color: #ffd300; display: inline-block; }

#row.txt a:hover p.button-download {color: #fff; background-color: #4d4d4f;}

#row.txt a p.button-link {color: #fff; font-size: 18px; line-height: 18px; font-weight: 500; margin-bottom: 15px; margin-top: 0px; float:left; text-transform: uppercase; padding-top: 15px; padding-bottom: 15px; padding-right: 20px; padding-left: 50px; border-radius: 10px; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1); background-image: url("../images/button-icon-link.png"); background-repeat: no-repeat; background-size: auto 40%; background-position: 16px center; text-decoration: none; background-color: #4d4d4f; display: inline-block; }

#row.txt a:hover p.button-link {color: #4d4d4f; background-color: #ffd300;}

#row.txt #right.pers p.contact a {color:#f6921e;}
#row.txt #right.comm p.contact a {color:#003d77;}
#row.txt #right.tran p.contact a {color:#2992d0;}
#row.txt #right.spec p.contact a {color:#723151;}
#row.txt #right.grey p.contact a {color:#4d4d4f;}
#row.txt #right.gold p.contact a {color:#ffd300;}

@media screen and (max-width: 500px) {
#row.txt #inset {float:none !important; margin-top: 20px !important; margin-left: 0px !important; width: 85% !important;margin-bottom: 30px !important;  }

}

#row.txt #inset {float: right; background-color: #eeeeee; padding: 25px; margin-top: 0px; margin-right: 0px; margin-left: 20px; margin-bottom: 20px; border-radius: 15px; }




/* ---------------- COLUMNS ---------------- */

@media only screen and (min-width: 300px)  {
    #row.txt #two-col {width: 96%; padding: 2%; margin: 0px; float: left; display: block;} 
    #row.txt #four-col {width: 96% ; padding: 2%; margin: 0px; float: left; display: block;}
    #row.txt #three-col {width: 96% ; padding: 2%; margin: 0px; float: left; display: block;}
} 
@media only screen and (min-width: 640px)  {
    #row.txt #two-col {width: 96%; padding: 2%; margin: 0px; float: left; display: block;} 
    #row.txt #four-col {width: 46% ; padding: 2%; margin: 0px; float: left; display: block;}
    #row.txt #three-col {width: 29% ; padding: 2%; margin: 0px; float: left; display: block;}
} 
@media only screen and (min-width: 768px)  {
    #row.txt #two-col {width: 46%; padding: 2%; margin: 0px; float: left; display: block;} 
    #row.txt #four-col {width: 21% ; padding: 2%; margin: 0px; float: left; display: block;}
    #row.txt #three-col {width: 29% ; padding: 2%; margin: 0px; float: left; display: block;}
} 
@media only screen and (min-width: 1024px)  {
    #row.txt #two-col {width: 46%; padding: 2%; margin: 0px; float: left; display: block;} 
    #row.txt #four-col {width: 21% ; padding: 2%; margin: 0px; float: left; display: block;}
    #row.txt #three-col {width: 29% ; padding: 2%; margin: 0px; float: left; display: block;}
} 
@media only screen and (min-width: 1280px)  {
    #row.txt #two-col {width: 46%; padding: 2%; margin: 0px; float: left; display: block;} 
    #row.txt #four-col {width: 21% ; padding: 2%; margin: 0px; float: left; display: block;}
    #row.txt #three-col {width: 29% ; padding: 2%; margin: 0px; float: left; display: block;}
} 


#row.txt #quotenow {border-radius: 20px; overflow: hidden; margin-top: 50px; }
#row.txt #quotenow #four-col {padding: 1%; width: 23%;}
#row.txt #quotenow #four-col a {text-decoration: none;color:#4d4d4f; }
#row.txt #quotenow #four-col p.home span {display: none;}
@media only screen and (min-width: 640px) {#row.txt #quotenow #four-col p.home span {display: inline;}} 
#row.txt #quotenow #four-col img.quotenow {width: auto; height:25px; vertical-align: middle; opacity: 0.5; padding: 0px; }
@media only screen and (max-width: 640px) {#row.txt #quotenow #four-col img.quotenow {width: auto; height:50px; vertical-align: middle; opacity: 0.5; padding: 15px; }} 



/* ---------------- IMAGES ---------------- */

#row.txt img.right {float: right; margin: 15px;}
#row.txt img.left {float: left; margin: 15px;}

@media only screen and (min-width: 380px) {
    
    #row.txt img.third {width: 30%; }
    #row.txt img.qtr {width: 50%; }
    #row.txt img.half {width: 50%; }
}
@media only screen and (min-width: 640px) {
     #row.txt img.map {width: 100%; margin-left: 0%;}
    #row.txt img.third {width: 40%; }
    #row.txt img.qtr {width: 50%; }
    #row.txt img.half {width: 50%; }
}
@media only screen and (min-width: 768px) {
    #row.txt img.map {width: 100%; margin-left: 0%;}
    #row.txt img.third {width: 50%; }
    #row.txt img.qtr {width: 33%; }
    #row.txt img.half {width: 33%; }
}
@media only screen and (min-width: 1024px) {
    #row.txt img.map {width: 100%; margin-left: 0%;}
    #row.txt img.third {width: 33%; }
    #row.txt img.qtr {width: 25%; }
    #row.txt img.half {width: 50%; }
}
@media only screen and (min-width: 1280px) {
    #row.txt img.map {width: 100%; margin-left: 0%;}
    #row.txt img.third {width: 33%; }
    #row.txt img.qtr {width: 25%; }
    #row.txt img.half {width: 50%; }
}

#row.txt img.full {width: 100%; height: auto;}
#row.txt img.half {height: auto;}
#row.txt img.qtr {height: auto;}
#row.txt img.third {height: auto;}

#row.txt img.left {float: left; margin-right: 5%; margin-bottom: 1%;}

img {animation: fadeInAnimation ease 3s;
            animation-iteration-count: 1;
            animation-fill-mode: forwards;}

/* ---------------- FOOTER LINKS ---------------- */

@media screen and (max-width: 500px) {
#row.ftr-links {display: none !important; } 

}

#row.ftr-links {background-color: #ffd300; padding-top: 50px;padding-bottom: 50px; display: inline-block;} 
#row.ftr-links #ftr-links-column {text-align: center;width: 33.1%; float: left;}  
#row.ftr-links p.ftr-links-title {color: #4d4d4f; font-size: 25px; font-weight: 700; margin: 0px; padding-top: 15px; padding-bottom: 15px;}
#row.ftr-links #ftr-links-column a {text-decoration: none; outline: none; background-color: #dbb810; color: #fff; font-size: 18px; line-height: 20px; display: inline-block; width: 70%; margin-left: 15%; margin-right: 15%; margin-top: 5px; margin-bottom: 5px; padding: 10px;border-radius: 10px; font-weight: 500;}
#row.ftr-links #ftr-links-column a.ftr-links-txt {text-decoration: none; outline: none; background-color:#ffd300 ; color: #4d4d4f; font-size: 16px; line-height: 20px; display: inline-block; width: 70%; margin-left: 15%; margin-right: 15%; margin-top: 0px; margin-bottom: 0px; padding: 5px;border-radius: 10px; font-weight: 500;}
#row.ftr-links #ftr-links-column a:hover {background-color: #af961c;} 
#row.ftr-links #ftr-links-column a.ftr-links-txt:hover {background-color: #fff;} 
    
/* ---------------- FOOTER ---------------- */

@media screen and (max-width: 500px) {
#row.ftr-links {display: none !important; } 

}

@media only screen and (min-width: 640px)  {
    #ftr-address {width: 100%; margin-left: 0%; margin-right: 0%; padding: 0px;}
    #ftr-addresses {width: 98%; float: left; margin: 1%; padding-bottom: 20px; padding-top: 20px;}
    #row.ftr-links #ftr-links-column img {width: 30%; height: auto;} 
    } 
@media only screen and (min-width: 768px)  {
    #ftr-address {width: 100%; margin-left: 0%; margin-right: 0%; padding: 0px;}
    #ftr-addresses {width: 50%; float: left; margin: 0%; padding: 0px;}
    #row.ftr-links #ftr-links-column img {width: 25%; height: auto;} 
    } 
@media only screen and (min-width: 1024px)  {
    #ftr-address {width: 90%; margin-left: 5%; margin-right: 5%; padding: 0px;}
    #ftr-addresses {width: 50%; float: left; margin: 0%; padding: 0px;}
    #row.ftr-links #ftr-links-column img {width: 20%; height: auto;} 
    } 
@media only screen and (min-width: 1280px)  {
    #ftr-address {width: 80%; margin-left: 10%; margin-right: 10%; padding: 0px;}
    #ftr-addresses {width: 50%; float: left; margin: 0%; padding: 0px;}
    #row.ftr-links #ftr-links-column img {width: 15%; height: auto;} 
    } 
    
#row.ftr {background-color: #4d4d4f; padding-top: 30px;padding-bottom: 30px;}
#row.ftr hr {height: 1px;background-color: #4d4d4f;background-image: linear-gradient(90deg, transparent, #ffd300, transparent);border: 0;height: 1px; margin-top: 25px; margin-bottom: 25px;}
#row.ftr p {text-align: center;margin: 0px; padding: 0px; text-transform: uppercase; }
#row.ftr p.sml-address {color:#ffd300; font-size: 13px; line-height: 20px; font-weight: 300; letter-spacing: 1px;}
#row.ftr p.sml-title {color:#888889; font-size: 10px; line-height: 20px; font-weight: 900; letter-spacing: 1px;}
#row.ftr p.address {color: #ffd300; font-size: 13px; line-height: 20px; font-weight: 300; letter-spacing: 1px;}
#row.ftr p.phone {color:#fff; font-size: 16px; line-height: 20px; font-weight: 700; letter-spacing: 1px;}
#row.ftr p.ftr-name {color: #ffd300; font-size: 14px; line-height: 10px; font-weight: 700; letter-spacing: 1px;}
#row.ftr #social {text-align: center;}
#row.ftr #social a:hover {opacity: 0.5;}
#row.ftr #social img {margin-left: 10px; margin-right: 10px;}
#row.ftr p.copyright {color: #ffd300; font-size: 10px; line-height: 20px; font-weight: 300; text-align: center; opacity: 0.5; margin-top: 20px;}

/* ---------------- ALERT ---------------- */

#row.alert {background-color: #990000; float: left; box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.35); color: #fff; font-weight: 500; font-size: 18px; line-height: 22px; padding-top: 15px; padding-bottom: 15px; }


/* ---------------- END CSS ---------------- */

#contactmap {width: 100; float: left; margin-bottom: 35px; box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);border-radius: 10px; overflow: hidden; padding: 0px;background-color: #4d4d4f; background-image: url("../images/directions.png"); background-position: center center; background-repeat: no-repeat; background-size: 100% 100%; }
#contactmap img.contactmap {opacity: 1;filter: alpha(opacity=100); width: 100%; height: auto; padding: 0px; margin: 0px; float: left; }
#contactmap img.contactmap:hover {opacity: 0.2;filter: alpha(opacity=20);}
    
    @keyframes fadeInUp {from {transform: translateY(500px);opacity: 0;} to {transform: translateY(0);opacity: 1;}} .fade-in-up {animation: 0.75s both fadeInUp;} #row.alert {display: block;}

 /* Slideshow Container */
        .slideshow-container {
            max-width: 800px;
            position: relative;
            border-radius: 8px;
            overflow: hidden;
            height: 500px; /* Consistent height prevents page jumping */
        }

        /* Individual Slides */
        .my-slide {
            display: none;
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            flex-direction: column;
            box-sizing: border-box;
            opacity: 0;
            transition: opacity 1s ease-in-out; /* Smooth cross-fade speed */
        }

        /* Active slide state managed by JS */
        .my-slide.active {
            display: flex;
            opacity: 1;
        }

        /* Slide Content Formatting */
        .slide-header {
            padding: 20px 30px 10px 30px;
            margin: 0;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            font-size: 1.5rem;
            color: #23282d;
            font-weight: 700;
        }

        .slide-image-wrapper {
            flex-grow: 1;
            background: #f1f1f1;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        .slide-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Crops cleanly inside viewport space */
        }

        .slide-text {
            padding: 15px 30px 25px 30px;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            font-size: 1rem;
            line-height: 1.5;
            color: #50575e;
            margin: 0;
            text-align: center !important;
        }

        /* Slide Count Badge Indicator */
        .slide-number {
            position: absolute;
            top: 10px;
            right: 30px;
            font-family: monospace;
            font-size: 0.85rem;
            background: rgba(0, 0, 0, 0.05);
            padding: 4px 8px;
            border-radius: 4px;
            color: #646970;
        }

        /* Navigation Buttons Wrapper */
        .slideshow-controls {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 20px;
            margin-bottom: 10px;
        }

        /* Styled Action Buttons */
        .slide-btn {
            display: inline-block;
            background-color: #aaaaaa;
            color: #000000;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            font-size: 0.85rem;
            font-weight: 600;
            border: none;
            padding: 10px 24px;
            border-radius: 4px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            cursor: pointer;
            transition: background-color 0.2s ease, transform 0.1s ease;
        }

        .slide-btn:hover {
            background-color: #8D8D8D;
        }

        .slide-btn:active {
            transform: scale(0.98);
        }


aria-current.page {background-color: #000;}

/* ---------------- EDIT PAGE BUTTON ---------------- */

.admin-edit-button-container	.hover:hover {opacity: 0.75;}
/* 1. Centering Container */
.admin-edit-button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 40px 0; /* Gives spacing below your page content */
    clear: both;
}

/* 2. The Button Styling */
.admin-edit-button-container a.admin-edit-btn {
    display: inline-block;
    background-color: #2271b1; /* WordPress admin blue */
    color: #ffffff !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none !important;
    padding: 10px 20px;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    specsition: background-color 0.2s ease, specsform 0.1s ease;
}

/* 3. Hover & Active States */
.admin-edit-button-container a.admin-edit-btn:hover {
    background-color: #135e96; /* Darker blue on hover */
    color: #ffffff !important;
    text-decoration: none !important;
}

.admin-edit-button-container a.admin-edit-btn:active {
    specsform: scale(0.98); /* Slight click indentation effect */
}

/* ---------------- CLAIMS SEARCH AREA ---------------- */

.search-section { background: var(--white); position: sticky; top: 0px; z-index: 90; }
.search-inner { margin: 0 auto; display: flex; gap: 12px; align-items: center; }
.search-wrap { position: relative; flex: 1; }
.search-wrap svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--gray-800); pointer-events: none; }
#search-input { width: 100%; padding: 12px 16px 12px 44px; font-family: var(--font-body); font-size: 16px; border: 1.5px solid var(--gray-200); border-radius: var(--radius-lg); background: var(--gray-100); color: var(--black); outline: none; transition: border-color 0.15s, background 0.15s; }
#search-input:focus { border-color: var(--gold); background: var(--white); }
#search-input::placeholder { color: #999; }
.results-meta { font-size: 13px; color: #777; white-space: nowrap; min-width: 90px; text-align: right; }
/* ── MAIN CONTENT ── */
.main { display: none; border-radius: 15px; background-color: #eeeeee; margin: 0 auto; padding: 28px 32px 60px; margin-top: 20px; }
/* ── CARRIER CARDS ── */
.carrier-list { display: flex; flex-direction: column; gap: 10px; }
.carrier-card { background: var(--white); border: 1.5px solid var(--gray-200); border-radius: var(--radius-lg); overflow: hidden; transition: border-color 0.15s, box-shadow 0.15s; cursor: pointer; }
.carrier-card:hover { border-color: var(--gold); box-shadow: var(--shadow-hover); }
.carrier-card.open { border-color: var(--gold); box-shadow: var(--shadow-hover); }
.carrier-header { display: flex; align-items: center; padding: 8px 10px; gap: 14px; user-select: none; }
.carrier-icon { width: 38px; height: 38px; border-radius: 8px; background: var(--gold-light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.carrier-icon svg { color: var(--gold-dark); }
.carrier-name { font-size: 15px; font-weight: 600; color: var(--black); flex: 1; line-height: 1.3; }
.carrier-quick { font-size: 13px; color: #777; display: none; white-space: nowrap; }
.carrier-chevron { color: #aaa; flex-shrink: 0; transition: transform 0.2s; }
.carrier-card.open .carrier-chevron { transform: rotate(180deg); color: var(--gold-dark); }
.carrier-body { display: none; padding: 0 20px 20px; border-top: 1px solid var(--gray-100); margin: 0 20px; }
.carrier-card.open .carrier-body { display: block; }
.contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 16px; }
.contact-item { display: flex; flex-direction: column; gap: 3px; }
.contact-label { font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #999; }
.contact-value { font-size: 14px; font-weight: 500; color: var(--black); }
.contact-value a { color: var(--black); text-decoration: none; display: inline-flex; align-items: center; gap: 5px; }
.contact-value a:hover { color: var(--gold-dark); text-decoration: underline; }
.contact-value.na { color: #bbb; font-style: italic; font-weight: 400; font-size: 13px; }
.contact-notes { margin-top: 14px; padding: 10px 14px; background: var(--gold-light); border-left: 3px solid var(--gold); border-radius: 0 4px 4px 0; font-size: 13px; color: var(--gray-800); line-height: 1.5; }
.contact-notes strong { font-weight: 600; }
.claim-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 10px 20px; background: var(--black); color: var(--gold); font-family: var(--font-body); font-size: 14px; font-weight: 600; border-radius: var(--radius); text-decoration: none; letter-spacing: 0.02em; transition: background 0.15s, transform 0.1s; }
.claim-btn:hover { background: var(--gray-800); transform: translateY(-1px); }
.claim-btn svg { flex-shrink: 0; }
/* ── EMPTY STATE ── */
.empty-state { text-align: center; padding: 64px 20px; color: #aaa; }
.empty-state svg { margin-bottom: 16px; color: #ccc; }
.empty-state h3 { font-size: 18px; color: #888; margin-bottom: 8px; }
.empty-state p { font-size: 14px; }
/* ── LOADING ── */
.loading { text-align: center; padding: 60px 20px; color: #aaa; font-size: 14px; }
.spinner { width: 32px; height: 32px; border: 3px solid var(--gray-200); border-top-color: var(--gold); border-radius: 50%; animation: spin 0.7s linear infinite; margin: 0 auto 16px; }
@keyframes spin { to { transform: rotate(360deg); } }
/* ── RESPONSIVE ── */
@media (max-width: 500px) {
 #search-input { width: 75%; }
  .search-section { padding: 14px 16px; }
  .main { padding: 20px 16px 48px; }
  .carrier-quick { display: none !important; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .header-badge { display: none; }
  .results-meta { display: none; }
  .site-footer { padding: 20px 16px; }
  .notice-bar { padding: 8px 16px; }
}
    
  @media (max-width: 400px) {.contact-grid { grid-template-columns: 1fr; }}

/* ---------------- MOBILE NAVIGATION MENU ---------------- */

#mobilenavrow {margin-bottom: 0px;}          
#mobilenavrow .nav-menu ul {margin: 0px; width: 100%; text-align: center; padding-top: 20px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; list-style-type: none;}
#mobilenavrow .nav-menu ul li {margin: 0px; padding: 0px; width: 100%;list-style-type: none;}
#mobilenavrow .nav-menu ul li ul {margin: 0px; width: 100%; text-align: center; padding-top: 0px; padding-bottom: 20px;list-style-type: none;}  
#mobilenavrow .big-links {display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 90%; margin-left: 5%; margin-right: 5%; margin-top: 25px;}
#mobilenavrow .big-links img { width: 100%; height: auto;}
#mobilenavrow .nav-menu li a { display: block; color: #4d4d4f; padding-top: 15px;  padding-bottom: 15px; text-decoration: none; font-size: 22px; line-height: 24px; font-weight: 600; text-transform: uppercase; border-top: #cccccc; border-top-width: 1px; border-top-style: solid;}  
#mobilenavrow .nav-menu ul li ul li a { display: block; color: #4d4d4f; padding-top: 10px;  padding-bottom: 10px; text-decoration: none; font-size: 18px; line-height: 18px; font-weight: 400; text-transform: capitalize; border-top-width: 0px; border-top-style: solid;}
#mobilenavrow .nav-menu li a:hover {background-color: #fff4bf;}
#mobilenavrow .navbar { background-color: #ffffff; position: relative; width: 100%; z-index: 1000;margin-bottom: 10px;}
#mobilenavrow .nav-container { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; height: 50px;}
#mobilenavrow .logo a img { width: 85%; float: left; margin-top: -20px;}
#mobilenavrow .menu-toggle {background: none;border: none;cursor: pointer;display: flex;flex-direction: column;justify-content: space-between;width: 110px;height: 21px;}
#mobilenavrow .bar {width: 100%;height: 3px;background-color: #ffd300;border-radius: 2px;transition: all 0.3s ease-in-out;}
/* --- ANIMATION LOGIC --- */
/* When the menu is active, rotate the bars into an 'X' */
#mobilenavrow .menu-toggle.is-active .bar:nth-child(1) {transform: translateY(9px) rotate(45deg);}
#mobilenavrow .menu-toggle.is-active .bar:nth-child(2) {opacity: 0; /* Hide middle bar */}
#mobilenavrow .menu-toggle.is-active .bar:nth-child(3) {transform: translateY(-9px) rotate(-45deg);}
#mobilenavrow .nav-menu {position: absolute;top: 50px; left: 0;width: 100%;background-image: url(../images/fade.png); background-repeat: repeat;list-style: none;display: grid;grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease-in-out;box-shadow: 0px 10px 10px rgba(0, 0, 0, .2);}
#mobilenavrow .nav-menu-inner {overflow: hidden;}
#mobilenavrow .nav-menu.is-active {grid-template-rows: 1fr;}


/* ---------------- BENEFIT BOXES ---------------- */


 .tm-benefit-boxes-section {
            width: 100%;
            margin: 40px auto;
            box-sizing: border-box;
        }

.tm-benefit-boxes-grid {
    display: flex;
    flex-wrap: nowrap; /* Rigid constraint to force a single horizontal row */
    gap: 15px; /* Slightly tightened gap to assist dense layouts */
    justify-content: center; /* Beautifully centers the layout within the viewport */
}

/* Base Card Frame */
.tm-public-benefit-card {
    flex: 1 1 0%; /* Allows cards to shrink seamlessly to match container limits instead of overflowing */
    min-width: 0; /* Critical flexbox reset that allows containers to shrink past content bounds */
    border-radius: 15px;
    display: flex;
    flex-direction: column; /* Stacks the two inner boxes vertically */
    overflow: hidden;       /* Forces the inner backgrounds to respect the card's border radius */
    box-sizing: border-box;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* --- NEW CODE FOR SCREENS UNDER 500PX --- */
@media (max-width: 500px) {
    .tm-benefit-boxes-grid {
        flex-direction: column; /* Switches from a horizontal row to a vertical stack */
    }

    .tm-public-benefit-card {
        flex: 1 1 auto; /* Resets the rigid 0% desktop width restriction */
        width: 100%;    /* Forces each card to stretch to the full width of the screen */
    }
    
    p.tm-public-card-title {
            font-size: 2rem !important; line-height: 1.5rem !important;
            font-weight: 700;
            margin: 0; /* Clear default margins that push boundaries out */
            line-height: 1.3;
        padding-bottom: 0px !important;
        }
    
    .tm-public-card-top {
        padding: 25px 25px 25px 25px !important; /* Balanced bottom padding out since content is top-justified */
    }
}

        a.tm-public-benefit-card:hover {
            transform: translateY(-5px);
        }

        /* Top Box (Icon + Title Area) */
        .tm-public-card-top {
        width: 100%;
        padding: 25px 25px 0px 25px; /* Balanced bottom padding out since content is top-justified */
        display: flex;
        flex-direction: column;
        align-items: center;      /* Centers items horizontally */
        justify-content: flex-start; /* MODIFIED: Justifies content straight to the top */
        text-align: center;
        box-sizing: border-box;
        
        /* ADDED: Forces an identical layout height across the entire horizontal line */
        min-height: 100px !important; 
    }

        /* Bottom Box (Text Area) */
        .tm-public-card-bottom {
            width: 100%;
            flex-grow: 1;              /* Makes the bottom box stretch to fill any remaining card height evenly */
            padding: 25px 25px 20px 25px;
            display: flex;
            flex-direction: column;
            align-items: center;      /* Centers text content blocks horizontally */
            justify-content: flex-start;   /* Centers text content blocks vertically */
            text-align: center;
            box-sizing: border-box;
        }

        /* Icon Dimensions */
        .tm-public-card-icon-wrap {
            width: 40%;
            height: 40%;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .tm-public-card-icon {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        /* Text Element Overrides to Prevent Text Gaps */
        p.tm-public-card-title {
            font-size: clamp(1rem, 4vw + 0.5rem, 1.25rem) !important; 
            line-height: 1.2 !important;
            font-weight: 500 !important;
            margin: 0; /* Clear default margins that push boundaries out */
            text-transform: uppercase;
            margin-bottom: 0px !important;
            padding-bottom: 0px !important;
            
        }

p.tm-public-card-title-promo {
            font-size: clamp(1.2rem, 4vw + 0.5rem, 1.5rem) !important; 
            line-height: 1.2 !important;
            font-weight: 500 !important;
            margin: 0; /* Clear default margins that push boundaries out */
            text-transform: uppercase;
            margin-bottom: 0px !important;
            padding-bottom: 0px !important;
            
        }

        .tm-public-card-body {
            font-size: 15px;
            line-height: 1.6;
            width: 100%;
        }

        /* Handle default margin formatting injected by WordPress visual editors */
        .tm-public-card-body p {
            margin: 0 0 12px 0;
        }
        
        .tm-public-card-body p:last-child {
            margin-bottom: 0;
        }

        /* Responsive Breakpoints */
        @media screen and (max-width: 980px) {
            .tm-public-benefit-card {
                flex: 1 1 calc(50% - 20px);
                max-width: calc(50% - 20px);
            }
        }

        @media screen and (max-width: 640px) {
            .tm-public-benefit-card {
                flex: 1 1 100%;
                max-width: 100%;
            }
        }
    
