/* Namami Multipack – site-specific styles (hero slider, contact form, 404, small fixes) */

/* ---------- Hero slider (replaces the old Revolution Slider) ---------- */
.nm-hero { position: relative; width: 100%; height: 775px; overflow: hidden; background: #fff; }
.nm-slide { position: absolute; inset: 0; visibility: hidden; }
.nm-slide.is-prev { visibility: visible; z-index: 1; }
.nm-slide.is-active { visibility: visible; z-index: 2; }
.nm-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
/* 3D "card" entrance of the background, like the original slider (about 2s) */
@keyframes nmCardIn {
  0%   { opacity: 0; transform: perspective(1500px) translate3d(-45%, 0, -400px) rotateY(60deg); }
  35%  { opacity: .6; }
  100% { opacity: 1; transform: perspective(1500px) translate3d(0, 0, 0) rotateY(0); }
}
.nm-slide.is-active .nm-bg { animation: nmCardIn 2s cubic-bezier(.645,.045,.355,1) both; transform-origin: 0 50%; }
.nm-grid { position: relative; width: 1370px; height: 100%; margin: 0 auto; transform-origin: top left; }
.nm-layer { position: absolute; margin: 0; font-family: 'Poppins', sans-serif; font-weight: 600; color: #fff; white-space: nowrap; }
.nm-title.t90 { font-size: 90px; line-height: 90px; }
.nm-title.t72 { font-size: 72px; line-height: 78px; }
.nm-title.t60 { font-size: 60px; line-height: 78px; }
.nm-title.accent-red { color: #ff3a2d; }
.slide-1 .l1 { left: 102px; top: 89px; }
.slide-1 .l2 { left: 95px; top: 194px; }
.slide-1 .nm-list { left: 95px; top: 301px; list-style: none; padding: 0; font-family: 'Rubik', sans-serif; font-weight: 300; font-size: 18px; line-height: 40px; }
.slide-1 .nm-list li { white-space: nowrap; line-height: 40px; margin: 0; padding: 0; }
.slide-1 .nm-list .fa { margin-right: 6px; }
.slide-1 .b1 { left: 99px; top: 611px; }
.slide-2 .r1 { left: 22px; top: 228px; }
.slide-2 .r2 { left: 21px; top: 327px; }
.slide-2 .b1 { left: 35px; top: 446px; }
.slide-3 .r1 { left: 19px; top: 202px; }
.slide-3 .r2 { left: 18px; top: 282px; }
.slide-3 .b1 { left: 26px; top: 388px; }
.slide-3 .b2 { left: 210px; top: 388px; }
.hero-btn { display: inline-block; font-size: 16px; line-height: 16px; border-radius: 50px; padding: 15px 30px; color: #fff; text-decoration: none; border: 2px solid #fff; transition: background .3s, border-color .3s, color .3s; }
.hero-btn-red { background: #dc2628; border-color: #dc2628; font-weight: 600; }
.hero-btn-outline { background: transparent; font-weight: 500; padding: 14px 30px; }
.hero-btn:hover, .hero-btn:focus { background: #2685f9; border-color: #2685f9; color: #fff; }

/* Layer entrance animations: start whenever a slide becomes active */
@keyframes nmDrop  { from { opacity: 0; transform: translateY(-50px); } to { opacity: 1; transform: none; } }
@keyframes nmSlideL { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: none; } }
@keyframes nmFromTop { from { opacity: 0; transform: translateY(-90px); } to { opacity: 1; transform: none; } }
@keyframes nmFromRight { from { opacity: 0; transform: translateX(120px); } to { opacity: 1; transform: none; } }
@keyframes nmRise  { from { opacity: 0; transform: translateY(110px); } to { opacity: 1; transform: none; } }
.nm-slide.is-active .slide-1 .l1, .slide-1.is-active .l1 { animation: nmDrop 1.31s cubic-bezier(.34,1.56,.64,1) .2s both; }
.slide-1.is-active .l2 { animation: nmDrop 1.31s cubic-bezier(.34,1.56,.64,1) .45s both; }
.slide-1.is-active .nm-list { animation: nmFromRight 1.5s cubic-bezier(.22,1,.36,1) .6s both; }
.slide-1.is-active .b1 { animation: nmRise 1s cubic-bezier(.23,1,.32,1) .1s both; }
.slide-2.is-active .r1, .slide-3.is-active .r1 { animation: nmSlideL .71s cubic-bezier(.77,0,.175,1) .3s both; }
.slide-2.is-active .r2, .slide-3.is-active .r2 { animation: nmFromTop .91s cubic-bezier(.23,1,.32,1) .5s both; }
.slide-2.is-active .b1, .slide-3.is-active .b1 { animation: nmRise .9s cubic-bezier(.23,1,.32,1) .8s both; }
.slide-3.is-active .b2 { animation: nmRise .9s cubic-bezier(.23,1,.32,1) .95s both; }

/* Bullets (right side, vertical – same spot as the original) */
.nm-bullets { position: absolute; left: 100%; top: 50%; transform: translate(-152px, -78px); width: 15px; z-index: 5; }
.nm-bullet { display: block; position: relative; width: 15px; height: 15px; margin: 0 0 15px; padding: 0; border: 0; border-radius: 50%; background: #fff; cursor: pointer; transition: background .3s; }
.nm-bullet:hover { background: #888; }
.nm-bullet.is-active { background: none; border: 2px solid #2d87f7; }
.nm-bullet.is-active::after { content: ''; position: absolute; left: 50%; top: 50%; box-sizing: border-box; width: 7px; height: 7px; margin: 0; transform: translate(-50%, -50%); border: 2px solid #2d87f7; border-radius: 50%; }

@media (max-width: 1199px) {
  .nm-hero { height: 640px; }
}
@media (max-width: 778px) {
  .nm-hero { height: 500px; }
  .nm-slide { background-position: 70% center; }
  .nm-grid { width: 100%; transform: none !important; padding: 0 15px; }
  .nm-layer { position: absolute; left: 15px !important; right: auto !important; white-space: normal; }
  .nm-title.t90, .nm-title.t72, .nm-title.t60 { font-size: 36px; line-height: 48px; }
  .slide-1 .l1 { top: 45px; } .slide-1 .l2 { top: 93px; }
  .slide-1 .nm-list { top: 170px; font-size: 14px; line-height: 28px; color: #f8e510; }
  .slide-1 .b1 { top: 400px; }
  .slide-2 .r1, .slide-3 .r1 { top: 80px; }
  .slide-2 .r2, .slide-3 .r2 { top: 128px; font-size: 36px; color: #fff; }
  .slide-2 .b1, .slide-3 .b1 { top: 250px; }
  .slide-3 .b2 { top: 250px; left: 175px !important; }
  .hero-btn { padding: 13px 24px; font-size: 14px; }
  .nm-bullets { transform: translate(-30px, -40px); }
}

/* ---------- Contact form ---------- */
.dl-contact-form-7 .nm-error { display: block; color: #dc2628; font-size: 13px; margin: 4px 0 0; }
.dl-contact-form-7 .nm-notice { padding: 12px 16px; margin-bottom: 15px; border-radius: 3px; font-size: 15px; }
.dl-contact-form-7 .nm-notice.ok { background: #e6f6ea; color: #1b6b32; border: 1px solid #b6e2c1; }
.dl-contact-form-7 .nm-notice.bad { background: #fdecec; color: #a11a1c; border: 1px solid #f3bcbc; }
.dl-contact-form-7 .nm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dl-contact-form-7 input.nm-submit { cursor: pointer; }

/* ---------- 404 ---------- */
.nm-404 { text-align: center; padding: 80px 15px; }
.nm-404 h2 { font-size: 72px; margin: 0 0 10px; color: #111c55; }
.nm-404 p { font-size: 18px; margin-bottom: 25px; }

/* The contact map is full width */
.wpb_map_wraper iframe { width: 100%; }


/* Footer contact block: stack lines normally, readable link colour */
.footer-widgets .footer-widget-contact a { color: #abaebe; }
.footer-widgets .footer-widget-contact a:hover { color: #fff; }


/* Contact page: e-mail addresses use the same grey as the phone number */
.dl-contact-box .extra-ct-box li a { color: inherit; }
.dl-contact-box .extra-ct-box li a:hover { color: #23527c; }

