@charset "utf-8";

@font-face { font-family: 'GothamBold'; src: url('https://ruparel.in/fonts/GothamBold.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: 'GothamBook_4'; src: url('https://ruparel.in/fonts/GothamBook_4.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: 'andantinoscript'; src: url('https://ruparel.in/fonts/andantinoscript.ttf') format('truetype'); font-display: swap; }

/* Reset */
html { font-size: 100%; }
article, aside, details, figcaption, figure, footer, header, main, nav, section, summary, title { display: block; }
body { font-family: 'Work Sans', sans-serif; font-weight: normal; font-style: normal; font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; margin: 0; padding: 0; box-sizing: border-box; }
dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, legend, input, textarea, p, blockquote, th, td { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', sans-serif; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
ol, ul { list-style: none; }
* { outline: none !important; }
a:active, a:focus, a:hover, input, :focus { outline: 0; text-decoration: none; }
.clearfix::before, .clearfix::after { display: block; content: ""; line-height: 0; }
.clearfix::after { clear: both; }
.clear { clear: both; }
.btn { outline: 0; }
.mainpage { position: relative; overflow: hidden; }
.container { max-width: 1170px; margin: 0 auto; }
a, button { transition: all 0.5s ease-in-out; }
img { vertical-align: middle; }
u { text-decoration-color: #E53C39; }

/* Header */
header { width: 100%; position: inherit; padding: 5px 0; background: #fff; z-index: 9999; }
.fixed-top, header { z-index: 99999; box-shadow: rgba(99,99,99,0.2) 0px 2px 8px 0px; animation: smoothScroll 1s forwards; transition: all 0.5s ease; }
@keyframes smoothScroll { 0% { transform: translateY(-100px); } 100% { transform: translateY(0px); } }
header .navbar { padding: 0; }
header .navbar-nav { margin-left: 32%; }
header .navbar-nav .calltxt { font-size: 16px; color: #575757; font-weight: 600; padding: 0 50px 5px 0; border-right: 1px solid #575757; margin-right: 30px; }
header .navbar-expand-md .navbar-nav .nav-link { color: #575757; margin: 0 5px; }
header .container { z-index: 99999; }

/* Hamburger */
.button { display: inline; position: relative; z-index: 99999; }
.button span { text-decoration: none; cursor: pointer; }
.btn-open::after { content: ''; background: url(../images/menu.svg) center top no-repeat; width: 37px; height: 24px; background-size: 100%; position: absolute; top: -12px; right: 0; transition: all 0.2s linear; }
.btn-close::after { content: ''; background: url(../images/close.svg) center top no-repeat; width: 37px; height: 36px; background-size: 100%; position: absolute; top: -12px; right: 0; transition: all 0.2s linear; }

/* Off-canvas overlay */
.overlay { position: fixed; top: 0; height: 100vh; width: 300px; background: #fff; overflow: auto; z-index: 9999; right: 0; padding: 80px 50px 0 20px; text-align: right; transform: translateX(100%); transition: transform 0.3s ease; }
.overlay.open { transform: translateX(0); }
.overlay li a { color: #575757; font-size: 22px; font-weight: 600; padding: 30px 0; display: block; text-transform: uppercase; }
.overlay li.active a, .overlay li a:hover { color: #EEA757; text-decoration: underline; }
.overlay li .sub-menu { margin-bottom: 25px; }
.overlay li .sub-menu ul li a { font-size: 16px; color: #949494; padding: 13px 0; }

/* Slideshow */
.mySlides { display: none; }
.slideshow-container { position: relative; margin: auto; top: 50px; }
.prev, .next { cursor: pointer; position: absolute; top: 50%; width: auto; padding: 16px; margin-top: -22px; color: white; font-weight: bold; font-size: 18px; transition: 0.6s ease; border-radius: 0 3px 3px 0; user-select: none; }
.next { right: 0; border-radius: 3px 0 0 3px; }
.prev:hover, .next:hover { background-color: rgba(0,0,0,0.8); }
.dot { cursor: pointer; height: 15px; width: 15px; margin: 0 2px; background-color: #bbb; border-radius: 50%; display: none; transition: background-color 0.6s ease; }
.dot.active, .dot:hover { background-color: #fff; }
.fade { animation-name: fade; animation-duration: 1.5s; }
@keyframes fade { from { opacity: 0.4; } to { opacity: 1; } }

/* Scroll-to-top */
#scroll { position: fixed; right: 30px; bottom: 10px; cursor: pointer; width: 60px; height: 54px; background: linear-gradient(80deg, rgba(238,166,87,1) 0%, rgba(199,32,49,1) 100%); display: none; z-index: 99; }
#scroll span { position: absolute; top: 38%; left: 44%; margin-left: -8px; margin-top: -14px; height: 0; width: 0; border: 12px solid transparent; border-bottom-color: #ffffff; }
#scroll:hover { background-color: #111; }

/* Content section */
.content-section { background: #f8f8f8; padding: 56px 0; }
.content-section h1.page-title { font-family: 'Montserrat', sans-serif; font-size: 26px; font-weight: 700; color: #1a1a1a; margin-bottom: 20px; line-height: 1.35; }
.content-section h2.section-heading { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 700; color: #1a1a1a; margin: 40px 0 14px; line-height: 1.3; }
.content-section p { font-family: 'Work Sans', sans-serif; font-size: 15px; line-height: 1.75; color: #333; margin-bottom: 14px; }
.content-section a { color: #2563eb; text-decoration: none; }
.content-section a:hover { text-decoration: underline; }

/* FAQ section */
.faq-section { background: #fff; padding: 60px 0; }
.faq-title { font-family: 'Montserrat', sans-serif; font-size: 28px; font-weight: 700; margin-bottom: 30px; color: #1a1a1a; }
.faq-item { border: 1px solid #e2e2e2; border-radius: 6px; margin-bottom: 10px; overflow: hidden; }
.faq-question { width: 100%; background: #fff; border: none; outline: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; text-align: left; font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 600; color: #1a1a1a; transition: background 0.2s; }
.faq-question:hover { background: #fafafa; }
.faq-question span { flex: 1; padding-right: 16px; }
.faq-question .faq-icon { font-size: 14px; color: #555; flex-shrink: 0; transition: transform 0.3s ease; }
.faq-item.active .faq-question .faq-icon { transform: rotate(180deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.35s ease; padding: 0 20px; }
.faq-item.active .faq-answer { max-height: 400px; padding: 0 20px 18px; }
.faq-answer p { font-family: 'Work Sans', sans-serif; margin: 0; font-size: 14px; line-height: 1.7; color: #555; }

/* Footer font overrides — all-custom.css uses Jost/Lato; force Work Sans/Montserrat */
.footer-wrapper,
.footer-wrapper p,
.footer-wrapper a,
.footer-wrapper span,
.footer-wrapper li,
.footer-wrapper small { font-family: 'Work Sans', sans-serif !important; }
.footer-wrapper h1,
.footer-wrapper h2,
.footer-wrapper h3,
.footer-wrapper h4,
.footer-wrapper h5,
.footer-wrapper h6 { font-family: 'Montserrat', sans-serif !important; }

/* Responsive */
@media only screen and (max-width: 980px) {
    .hidden-mob { display: none; }
    .mob-down { margin-bottom: 25px; }
}
@media (min-width: 980px) {
    .hidden-desk { display: none; }
}
@media (min-width: 576px) {
    .modal-dialog { max-width: 500px; margin: 1.75rem auto; }
}
@media only screen and (min-width: 767px) {
    .rowflex { display: flex; align-items: center; }
}
@media only screen and (max-width: 767px) {
    .modal-dialog .iagree { width: auto !important; }
    .modal-open .modal { overflow-y: scroll; }
}
