:root {
    --white: #FFFFFF;
    --lime-green :#E6FFBD;
    --off-white: #FAFAFA;
    --primary-blue: #1D97F1;
    --secondary-blue: #000E2B;
    --black: #000000;
    --light-grey: #868C90;
    --light-gray: #DFE2E3;

    --glass-bg: rgba(66, 168, 243, 0.2);
}

::selection { background-color: var(--lime-green); color: var(--black); }

/* RESET CSS */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

html { margin-top: 0 !important; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1;background-color: var(--off-white); }
ol, ul { list-style: none; }

/*
** Fonts
*/

@font-face {
    font-family: 'bricolage';
    src: url('../fonts/BricolageGrotesque-Regular.woff2') format('woff2'),
        url('../fonts/BricolageGrotesque-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'bricolage-md';
    src: url('../fonts/BricolageGrotesque-Medium.woff2') format('woff2'),
        url('../fonts/BricolageGrotesque-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'bricolage-sb';
    src: url('../fonts/BricolageGrotesque-SemiBold.woff2') format('woff2'),
        url('../fonts/BricolageGrotesque-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

html, body { font-family: 'bricolage'; }

h1, .h1 { font-size: 84px; line-height: 94px; font-family: 'bricolage-sb'; margin-bottom: 20px; }
h2, .h2 { font-size: 64px; line-height: 74px; font-family: 'bricolage'; margin-bottom: 20px; }
h3, .h3 { font-size: 48px; line-height: 56px; font-family: 'bricolage'; margin-bottom: 20px; }
h4, .h4 { font-size: 36px; line-height: 46px; font-family: 'bricolage'; margin-bottom: 18px; }
h5, .h5 { font-size: 28px; line-height: 34px; font-family: 'bricolage'; margin-bottom: 18px; }
h6, .h6 { font-size: 22px; line-height: 30px; font-family: 'bricolage'; margin-bottom: 18px; }

.text-rg { font-family: 'bricolage'; }
.text-md { font-family: 'bricolage-md';}
.text-sb { font-family: 'bricolage-sb'; }

.text-20 { font-size: 20px; line-height: 30px; }
.text-18 { font-size: 18px; line-height: 24px; }
.text-16 { font-size: 16px; line-height: 20px; }

.text-lime-green { color: var(--lime-green); }
.text-primary-blue{ color: var(--primary-blue); }
.text-light-grey{ color: var(--light-grey); }
.text-white{ color: var(--white); }
.text-grey { color: #505456; }

.section{ padding: 150px 0; }
.section-bottom{ padding-bottom: 150px; }
.btn-padding{ padding: 20px 30px; }
.container-sm{ width: 1140px; margin: 0 auto; padding: 0 12px;}

.nav-wrapper{ display: flex; align-items: center; justify-content: space-between; padding: 15px 0; }
.navbar-img-wrapper .navbar-img { width: 140px; }

.navbar-links ul{  display: flex;  gap: 70px; background: rgba(66, 168, 243, 0.2); border-radius: 100px; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(20px); padding: 20px 30px; }
.navbar-links-wrapper button{ background: rgba(66, 168, 243, 0.2); border-radius: 100px; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(19.1px); padding: 20px 30px;  border: none; }
.navbar-links ul li a { position: relative; text-decoration: none; color: var(--white); padding-bottom: 3px;  }
.navbar-links ul li a::after { content: ""; position: absolute; left: 0; bottom: -5px; width: 0%; height: 2px; background: var(--lime-green); transition: width 0.3s ease; }
.navbar-links ul li a:hover::after { width: 100%; }
.navbar-links ul li a:hover { color: var(--lime-green); }
.navbar-links-wrapper{ display: flex; align-items: center; gap: 10px; }

.navbar-links-for-responsive {
  position: fixed;
  top: calc(50% + 80px);
  right: 10%;
  transform: translateY( 100%); /* hidden below screen */
  width: 238px !important;
  height: 306px;
  /* background: var(--white); */
  /* background: rgba(66, 168, 243, 0.2); */
  background-color: rgba(0, 14, 43, 0.6);
  border-radius: 20px;
  backdrop-filter: blur(20px);
  padding: 30px 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  opacity: 0;
  pointer-events: none;
  transition: transform 0.45s ease, opacity 0.3s ease;
  z-index: 9;
  text-decoration: none; 
  color: var(--white);
}

.navbar-links-for-responsive ul{ display: flex; flex-direction: column; gap: 20px; padding: 0; margin: 0; list-style: none; width: 100%;}
.navbar-links-for-responsive ul li a{ text-decoration: none; color: white; }
.navbar-links ul li a{ padding-bottom: 0; }

.navbar-links-for-responsive.active { transform: translateY( -20px); opacity: 1; pointer-events: auto; }
.hamburger.active{ background: var(--glass-bg); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(19.1px); border-radius: 50%; }
.bar.active{ background-color: var(--white); }
.hamburger {
    width: 50px;
    height: 50px;
    background: var(--glass-bg);
    box-shadow: 0 4px 30px rgba(197, 0, 0, 0.1);
    backdrop-filter: blur(19.1px);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}
.bar { width: 22px; height: 2px;  background-color: var(--lime-green); transition: 0.3s ease; }
.hamburger.active .bar:nth-child(2) { opacity: 0; }
.hamburger.active .bar:nth-child(1) { transform: translateY(7px) rotate(45deg); background-color: var(--white); }
.hamburger.active .bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); background-color: var(--white); }
.hamburger, .navbar-links-for-responsive{ display: none; } 

.footer-wrapper{ background-color: var(--secondary-blue); }
.footer-cta-main{ padding: 80px 0; color: var(--white); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(85, 85, 85, 0.1);}
.footer-cta-text{ width: 1200px; }
.cta-arrow{ width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background-color: var(--lime-green); }
.footer-cta-button{ display: flex; align-items: center; gap: 20px; background: rgba(255, 255, 255, 0.11); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(19.1px); padding: 10px 20px; border-radius: 100px; }

.footer-links-main { padding-bottom: 80px; padding-top: 0 !important; display: flex; align-items: end; justify-content: space-between; }
.footer-logo-wrapper{ display: flex; flex-direction: column; gap: 20px; }
.footer-logo-text{ width: 378px; color: var(--white); opacity: 35%; }
.footer-logo-wrapper span{ font-size: 25px; color: #DAD7E2; }
.footer-links-wrapper{ display: flex; align-items: start; gap: 115px; }
.footer-address{ width: 280px; color: var(--white); opacity: 35%; }

.footer-links ul li a{ text-decoration: none; color: var(--white); opacity: 35%; }
.footer-contact-links{ display: flex; flex-direction: column;  }
.footer-contact-links a{ text-decoration: none; color: var(--white); opacity: 35%; padding-top: 14px;  }
.footer-links ul li{ padding-top: 14px; }
.footer-cnct-heading{ padding-bottom: 20px; }
.footer-links-heading{ padding-bottom: 10px; }
.footer-links-wrapper a:hover{ color: var(--lime-green); opacity: 100%; }
.footer-copyright{ display: flex; justify-content: space-between; padding-top: 30px; padding-bottom: 40px; border-top: 1px solid rgba(85, 85, 85, 0.1); margin-top: 78px;}
.footer-copyright p{ color: var(--white); opacity: 35%; }
.footer-copy-right-policies{ display: flex; gap: 20px; }
.footer-copy-right-policies a{ text-decoration: none; color: var(--white); opacity: 35%; }


/* CSS BY ANIKET */

.header-container { width: 100%; position: fixed; top: 0; z-index: 99; transition: transform 0.3s ease-in-out; transform: translateY(0); }
.header-container.hide-header { transform: translateY(-100%); }
.nav-wrapper { transition: all 1s ease-in-out; }
.nav-wrapper.header-scrolled { padding: 10px 0; }
.footer-container { background-color: #000E2B; }
.contact-faq { overflow: hidden; }
/* .nav-wrapper.header-scrolled .navbar-links ul, 
.nav-wrapper.header-scrolled .navbar-links-wrapper button, 
.nav-wrapper.header-scrolled .navbar-links-for-responsive,
.nav-wrapper.header-scrolled .hamburger
{ background: rgba(66, 168, 243, 0.6); } */

.footer-cta-button p { color: var(--lime-green); font-family: 'bricolage-md'; }
.rpd-branding a { color: #ED0180; opacity: 1; }
.we-are-rarepixels { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.we-are-rarepixels span { display: block; }


.contact-body{ background-color: var(--white) !important; }
.header-main { background-color: rgba(0, 14, 43, 0.6); backdrop-filter: blur(20px); }

.navbar-links ul, .navbar-links-wrapper button { backdrop-filter: none; box-shadow: none; background: rgba(0, 0, 0, 0); }
.nav-wrapper.header-scrolled .navbar-links ul, 
.nav-wrapper.header-scrolled .navbar-links-wrapper button, 
.hamburger, .hamburger.active,
.nav-wrapper.header-scrolled .hamburger
{backdrop-filter: none; box-shadow: none; background: rgba(0, 0, 0, 0);}




.calc-headings { margin-top: 180px; }
.calc-headings .h2 { color: var(--black); }
.calc-form { margin-top: 80px; }
.calc-main-wrapper { display: flex; background-color: var(--white); }

.calc-form-fields { width: calc(100% - 650px); padding: 40px; background-color: var(--white); }
.calc-calculations-part { width: 650px; border-left: 1px solid #EFF0F1; background-color: var(--white); }
.calc-button-group { justify-content: end; }
.custom-tab.btn-transprerant { background-color: transparent !important; border: 1px solid var(--black) !important; color: var(--black) !important; }

.hidden-file-input { display: none; }
/* .date-input { padding-top: 60px; } */
.date-picker { padding: 10px 20px; border: 1px solid var(--light-grey); }
.common-fields { padding-top: 30px; }
.common-fields span { display: inline-block; margin-bottom: 10px; color: var(--light-grey); }
.measure-btn-grp { display: flex; align-items: center; gap: 10px; width: max-content; background-color: #EFF0F1; border-radius: 10px !important; }
.calc-measure-btn { padding: 10px 20px; border: none; border-radius: 10px; color: var(--light-grey); }
.calc-measure-btn.calc-measure-btn-active { background-color: var(--primary-blue); color: var(--white); }

.common-fields-wrapper, .heating-mode-fields, .economizer-mode-fields { display: flex; gap: 20px; flex-wrap: wrap; }
.calc-half-width { width: calc(50% - 10px); padding-top: 30px; }
.calc-quarter-width { width: calc(33.33% - 14px); padding-top: 30px; }
.common-fields-wrapper input, .heating-mode-fields input, .economizer-mode-fields input { display: block; width: 100%; border: none; padding: 20px; background-color: #EFF0F1; }
.calc-half-width span sup, .calc-quarter-width span sup { color: red; display: inline-block; padding-left: 5px; }

.common-fields-wrapper select {width: 100%; border: none; border-right: 20px solid transparent; background-color: #EFF0F1; }
.duct-select { padding: 20px; }
.calc-duct-size { display: block; width: 100%; padding-top: 30px; }
.d-size-input { width: 140px !important; border-radius: 10px; }
.calc-duct-size p { display: flex; align-items: center; gap: 12px; }
.x-spacer { margin-bottom: 0 !important; color: black !important; }

.calc-calculations-part { padding: 60px 40px 40px 40px; }
.calcu-data-headings { margin-top: 20px; }
.heating-mode-calculations { margin-top: 100px; }
.economizer-mode-calculations { margin-top: 60px; }
.calc-hr { width: 100%; height: 1px; margin: 60px 0; background-color: #EFF0F1; }
.calcu-item { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.calculation-field-open-btn { text-align: left; width: 50%; border: none; padding: 18px 40px; background-color: var(--primary-blue); color: var(--white); position: relative; }
.calculation-field-open-btn img { position: absolute; top: 50%; right: 40px; transform: translateY(-50%); }


.heating-mode-fields, .economizer-mode-fields { max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.4s ease, opacity 0.3s ease; }

/* When dropdown is open */
.heating-mode-fields.active, .economizer-mode-fields.active { max-height: 1000px; /* big enough to fit content */ opacity: 1; }

.calculation-field-open-btn img { transition: transform 0.3s ease; }
.calculation-field-open-btn.active img { transform: translateY(-50%) rotate(180deg); }
.heating-mode-btns { display: flex; justify-content: flex-end; gap: 20px; width: 100%; padding-top: 20px; }
.zone-txt-input { margin-right: 20px; padding-top: 15px !important; }
.common-fields-wrapper .add-zone { width: 100%; display: flex; flex-wrap: wrap; gap: 10px; }
.add-new-zone { border: none; background-color: transparent; color: var(--primary-blue); }
.unit-measure-date { display: flex; flex-direction: row-reverse; align-items: end; justify-content: space-between; }

.for-tablet, .for-mobile { display: none; }
.linkedin-social-link { color: rgba(255, 255, 255, 0.5); }

.back-to-top { margin-top: 20px; display: flex; align-items: center; justify-content: end; }
.back-to-top a { color: var(--primary-blue); display: flex; align-items: center; gap: 10px; }