/*
Theme Name: RPS Custom Theme
Author: Clover WordPress team
Author URI: https://cloverimaging.com
Description: Custom child theme designed for Clover Imaging Group WP Webiste
Version: 1.0
Template: astra
Text Domain: astra
*/

/* 300 Light */
@font-face {
    font-family: 'Montserrat';
    src: url('./fonts/montserrat/Montserrat-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* 400 Regular */
@font-face {
    font-family: 'Montserrat';
    src: url('./fonts/montserrat/Montserrat-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* 500 Medium */
@font-face {
    font-family: 'Montserrat';
    src: url('./fonts/montserrat/Montserrat-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* 600 SemiBold */
@font-face {
    font-family: 'Montserrat';
    src: url('./fonts/montserrat/Montserrat-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* 700 Bold */
@font-face {
    font-family: 'Montserrat';
    src: url('./fonts/montserrat/Montserrat-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* 900 Black */
@font-face {
    font-family: 'Montserrat';
    src: url('./fonts/montserrat/Montserrat-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

.sgpb-theme-6-overlay {
  z-index: -1 !important;
}

.archive .sgpb-popup-dialog-main-div-wrapper { display: none !important; }

.termly-display-preferences {  color: #fff; font-size: 13px;  text-decoration: underline; }
.termly-display-preferences:hover {  color: #fff;  text-decoration: underline; }

.header-v1 {
    z-index: 20;
    border-bottom: 1px solid rgba(220, 226, 232, 0.9);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
}
#masthead {
    position: sticky !important;
    top: 0;
    width: 100%!important;
    z-index: 999;
}
@media (max-width:767px) {
	.hfe-nav-menu__toggle.elementor-clickable {  padding-bottom: 5px;}
	.hfe-nav-menu .hfe-dropdown.menu-is-active {  padding-top: 13px;  }
	
	.footerconsent  {  text-align: center; margin-left: auto;  margin-right: auto; width: 100%;   }
	.footermenu {   text-align: center; margin-left: auto;  margin-right: auto;  width:  100%;  }
	#menu-1-1bff6cb {  margin-left: auto;  margin-right: auto;  }
	
}
.footer-width-fixer .hfe-nav-menu__layout-horizontal {  width: auto !important; }

nav.hfe-dropdown li a.hfe-menu-item {
	display: flex;
	justify-content: center;
}
nav.hfe-dropdown  li.menu-item-object-page.current-menu-item a.hfe-menu-item {
	background-color: #0A1E38 !important;
	color: #fff !important;
}
nav.hfe-dropdown  li:hover a.hfe-menu-item {
	background-color: #0A1E38 !important;
	color: #fff !important;
}

.termly-styles-closeTag-a5641f {    background-color: #fff !important;   }

.search.search-results .manual-pagination { text-align: center; }
.search.search-results .manual-pagination a.page-numbers { color: #0A1E38; }
.search.search-results .manual-pagination a.page-numbers,
.search.search-results .manual-pagination span.page-numbers.current { padding-left: 5px; padding-right: 5px; }
.search.search-results .manual-pagination a.page-numbers:hover { text-decoration: underline; color: #000; }

.search.search-results .ast-container,
.search.search-no-results .ast-container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.archive.tax-brand .ast-container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.elementor.elementor-975 {
	width: 100%;
}

.search.search-results #masthead .elementor-image-box-description,
.archive.tax-brand #masthead .elementor-image-box-description {   margin-bottom: 0px !important; }

#webequipe-elementor-page {
    width: 100%;
    max-width: none;
}

#webequipe-elementor-page .elementor {
    width: 100%;
    max-width: none;
}
.page-template-page-webequipe-results .ast-container {
    max-width: none !important;
    width: 100% !important;
}

@media (max-width: 1199px) {
	#masthead .masthead-custom { 	padding-left: 10px;	 padding-right: 10px;    } 
}
@media (max-width: 767px) {
	#masthead .masthead-custom .main-menu-left { 	width: calc(100% - 64px)!important;     } 
	#masthead .masthead-custom .main-menu-right { 	width: 42px !important;    }
}
.home-banner::before {
    content: "";
    background: linear-gradient(
        105deg,
        rgba(248, 250, 251, 0.98) 0%,
        rgba(248, 250, 251, 0.94) 46%,
        rgba(248, 250, 251, 0.58) 74%,
        rgba(248, 250, 251, 0.26) 100%
    ) !important;
}

.brand-symbol1 a {
    width: auto;    display: block;    color: #fff !important;
    background: linear-gradient(135deg, #0A1E38 0%, #00AE41 100%) !important;
    border-radius: 8px !important;    padding: 13px 11px !important;
}

.jotform-frame {    display: block;    width: 100%;    min-height: 560px;    border: 0;    background: #fff;   }

.elementor-page-809 #content > .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/*-----------grid section layout on manuals and homepage with manufacturers------------------------------------------------------------*/
.custom-tax-grid {    display: flex;    flex-wrap: wrap;    gap: 12px;    justify-content: center;   }
.tax-card {
    width: calc(25% - 10px);    background: #fff;    border: 1px solid #eee;    border-radius: 14px;    padding: 15px 20px;    text-align: center;    display: flex;    flex-direction: column;
    align-items: center;    justify-content: center;   border: 1px solid #dce2e8;    transition: all 0.3s ease;    position: relative;    overflow: hidden;    background: #fff;
}
.tax-card:hover {   border-color: #0A1E38;   }
.tax-image {    width: 200px;    height: 80px;    display: flex;    align-items: center;    justify-content: center;    margin-bottom: 18px; }
.tax-image img {    max-width: 100%;    max-height: 100%;    object-fit: contain;    transition: 0.3s ease;   }
.tax-card:hover .tax-image img {    transform: scale(1.05); }
.tax-content h3 {    font-size: 18px;    margin: 0;    font-weight: 600;    color: #222;   }
.tax-content .count {   text-align: center;    font-size: 15px;    font-weight: 400;    color: #5F6875;   }
@media(max-width: 992px) {    .tax-card {        width: calc(50% - 25px);    }   }
@media(max-width: 600px) {    .tax-card {        width: 100%;    }   }

#quick-links .e-con-inner .elementor-element {
    display: flex;
    flex-direction: column;
}

#quick-links .e-con-inner .elementor-element > div:last-child {
    margin-top: auto !important;
}
/*-----------end of card grid css----------------------------------------------------------------------------------------------------*/
/*-----------manual Library CSS adjustments to match the rest of the website -------------------------------------------------------------------------------------------*/
.manual-search-wrap {    max-width:900px;    position:relative;    }
.search-box {    display: flex;    gap: 10px;    position: relative;  }
.search-box input {   flex: 1;    height: 60px;    border: 2px solid #f3f6f8;    border-radius: 8px;    padding: 0 20px;    font-size: 20px;    outline: none;    font-size: 16px;   background: #f3f6f8;  }
.search-box button {
    background: #0A1E38;    color: #fff;    border: none;    padding: 0.72rem 1rem;    border-radius: 8px;    cursor: pointer;    font-weight: 800;    transition: all ease 300ms;    
}
.search-box button:hover {  background: #000;   }
#manual-search-results {  margin-top: 15px;   }
.manual-result-item {   display: block;   background:#fff;   border: 1px solid #d8e0ea;  border-radius: 8px;    padding: 12px 10px;   margin-bottom: 12px;    text-decoration: none;    transition: .3s;  }
.manual-result-item:hover {    box-shadow: 0 3px 12px rgba(0,0,0,.08);  }
.manual-meta {    color: #5f6875;    font-size: 15px;    line-height: 1.2;  }
.manual-no-result {    padding: 20px;    background: #fff;    border-radius: 10px;    border: 1px solid #d8e0ea;   }
.manual-title {    color: #0A1E38;    font-size: 16px;    font-weight: 700;    margin-bottom: 5px;  }
.manual-brand {    font-weight: 600;    color: #0A1E38;  }
.manual-desc {    color: #0A1E38;   }
.separator {    margin: 0 3px; }
.search-box-wrap {    position: relative;   }
#manual-search-input {    width: 100%;    height: 60px;    padding: 0 50px 0 20px;   }
#manual-clear-search {    position: absolute;   right: 115px;    top: 50%;    transform: translateY(-50%);    font-size: 24px;    line-height: 1;    cursor: pointer;
    color: #888;    display: none;    z-index: 10;  }
#manual-clear-search:hover {    color: #000;   }
.manual-search-wrap > h3 {    margin-bottom: 0.6rem;    font-size: 1rem;    color: #5f6875;    font-weight: 700;   }
.manual-search-wrap {    max-width: 900px;    margin-top: 5px;    padding: 12px 12px 12px;    border: 1px solid rgba(143, 160, 174, 0.28);    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);    color: #0A1E38;    box-shadow: 0 22px 60px rgba(20, 50, 74, 0.16);   }

.manual-grid {
    display: grid;    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));    gap: 20px; /* Space between boxes */
    align-items: stretch; /* This forces all grid items to have equal height */
}
/* 2. Make the link wrapper expand to fill the grid slot height */
.manual-card-link {    display: flex;    text-decoration: none;    height: 100%; 
}
/* 3. Make the card box itself expand layout vertically */
.manual-card {    display: flex;    flex-direction: column;    width: 100%;    height: 100%; /* Forces card to stretch to match the tallest sibling */    box-sizing: border-box;
}
/* 4. Push the PDF button down to the very bottom uniformly */
.manual-btn {    margin-top: auto;
}

.manual-grid {    display:flex;    flex-wrap:wrap;    gap:20px;    margin: 0 0 30px 0;  }
a.manual-card-link{        width:calc(33.333% - 14px);  }
.manual-card {    background:#fff;    border:1px solid #d9e3ea;    border-radius:12px;    padding:17px 15px;    transition:.3s;  }
h2.manual-category-title {    font-size: 22px;    font-weight: 700;    line-height: 1em;    color: #0A1E38;    margin-bottom: 15px;  }
.manual-card:hover {    box-shadow:0 10px 25px rgba(0,0,0,.08);    transform:translateY(-3px);  }
.manual-card h3 {    font-size: 16px;    font-weight: 700;    line-height: 1.4em;    color: #0A1E38;
						max-width: 35ch;  -webkit-line-clamp: 2;  overflow: hidden;  text-overflow: ellipsis;  display: -webkit-box;  -webkit-box-orient: vertical;  }
.manual-desc {
    font-size: 15px;    font-weight: 400;    margin:10px 0 0 0;    color: #666F7B;
    display:-webkit-box;    -webkit-line-clamp:2;    -webkit-box-orient:vertical;    overflow:hidden;    min-height: 60px;
}
.manual-btn {
    display:block;    width:100%;     font-size: 13px;    font-weight: 700;    text-transform: uppercase;    fill: #FFFFFF;    color: #FFFFFF;   background-color: #0A1E38;
    border-radius: 8px 8px 8px 8px;    padding: 11px 11px 11px 11px;        padding: 11px 11px 11px 11px;    text-align: center;
}
.manual-desc p {  margin: 5px 0 0px 0;  max-width: 50ch;  -webkit-line-clamp: 2;  overflow: hidden;  text-overflow: ellipsis;  display: -webkit-box;  -webkit-box-orient: vertical;  line-height: 1.3em;  }
.manual-btn:hover {    background: #000;    color:#fff;  }
.manual-card-link {    text-decoration:none;    color:inherit;    display:block;    height:100%;  }
.manual-card {    cursor:pointer;    transition:.3s;  min-height: 200px;  }
.manual-card:hover {    transform:translateY(-5px);  }
.manual-card-link:hover .manual-btn {    opacity:.9;   }
@media(max-width:991px) {
    a.manual-card-link {  width:calc(50% - 10px);   }
}
@media(max-width:767px){
    a.manual-card-link{   width:100%;    }
	.manual-desc{  min-height: 40px;  }
}

.webequipe-pdf-search-form-wrapper {
  margin: 0px 0 !important;
  width: 100% !important;
}

.archive.tax-brand .manual-search-wrap {    position: relative;    max-width: 600px;}
.archive.tax-brand .search-box {    position:relative;}
.archive.tax-brand input#manualSearch {   flex: 1;   height: 60px;   border: 2px solid #ffffff;   border-radius: 8px;   padding: 0 12px;   font-size: 20px;   outline: none;   font-size: 15px;  background: #ffffff; }
.archive.tax-brand #noResults {    text-align:center;    padding:20px;    font-size:18px;    font-weight:600;}
.archive.tax-brand .ach-card.hidden-card {    display:none !important;}
.archive.tax-brand .hidden-card {    display:none !important;}
.archive.tax-brand #clearSearch {    position:absolute;    right:15px;    top:50%;    transform:translateY(-50%);    font-size:24px;    line-height:1;    cursor:pointer; }
.archive.tax-brand #clearSearch:hover {    color:#000; }
/*--------------------End of Manual Library CSS adjustments----------------------------------------------------------------------------------------------------------*/

/*--------------------Hubspot form CSS adjustments ------------------------------------------------------------------------------------------------------------------*/
.hbspt-form {justify-content: center !important;  display: grid !important;}
.hbspt-form fieldset.form-columns-1, .hbspt-form fieldset.form-columns-2, .hbspt-form fieldset.form-columns-3 {  padding-top: 10px !important;  }
.hbspt-form fieldset.form-columns-1 .hs-email .hs-input { width: 100% !important; }
.hbspt-form input[type="submit"] { 
	background-color: #0a1e38 !important; border: 1px solid #0a1e38 !important;  color: #fff !important; 
	font-size: 16px !important; font-weight: 600 !important;  border-radius: 8px !important; padding: 10px 30px !important; 
}
.hbspt-form input[type="submit"]:hover { background-color: #fff !important; border: 1px solid #0a1e38 !important;  color: #0a1e38 !important; }
.hbspt-form ul { list-style: none !important; margin-left: 20px !important;  }
.hbspt-form ul li span { padding-left: 5px !important;  }
.hbspt-form fieldset.form-columns-3 {    display: flex !important;    gap: 8px;  }
.hbspt-form fieldset.form-columns-3 > div {    width: auto !important;    flex: 1 !important;    margin: 0 !important;  }
@media (max-width: 950px) {
    .hbspt-form fieldset.form-columns-3 {   flex-direction: column;   }
    .hbspt-form fieldset.form-columns-3 > div {    width: 100% !important;    }
}
/*----End of form adjustments-----*/



