/*
Theme Name: Allenmoos Custom Theme
Theme URI: https://allenmoos.ch
Description: Build with GeneratePress
Author: Sikander Jafar
Author URI: https://sikanderjafar.com
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-child
*/







/* === Menu Hover line === */

.primary-navigation a {
  position: relative;
  text-decoration: none;
}

.primary-navigation a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px; /* space under text */
  width: 0;
  height: 2.3px; /* 👈 thickness control */
  background-color: #FFFF; /* 👈 line color */
  transition: width 0.3s ease;
}

.primary-navigation a:hover::after {
  width: 100%;
}






/* ============================================
   KEN BURNS EFFECT WITH OVERLAY
   Apply one of these classes to your container:
   .kb-zoom-in / .kb-zoom-out / .kb-drift-right / .kb-drift-left
   Adjust --kb-overlay-opacity to control darkness
   ============================================ */

/* --- Container base --- */
.kb-zoom-in,
.kb-zoom-out,
.kb-drift-right,
.kb-drift-left {
  position: relative !important;
  overflow: hidden !important;
}

/* --- Background image layer (::before) --- */
.kb-zoom-in::before,
.kb-zoom-out::before,
.kb-drift-right::before,
.kb-drift-left::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

/* --- Animations assigned to ::before --- */
.kb-zoom-in::before {
  animation: kenBurnsZoomIn 12s ease-in-out infinite alternate;
}

.kb-zoom-out::before {
  animation: kenBurnsZoomOut 12s ease-in-out infinite alternate;
}

.kb-drift-right::before {
  animation: kenBurnsDriftRight 17s ease-in-out infinite alternate;
}

.kb-drift-left::before {
  animation: kenBurnsDriftLeft 17s ease-in-out infinite alternate;
}

/* --- Keyframes --- */
@keyframes kenBurnsZoomIn {
  from { transform: scale(1); }
  to   { transform: scale(1.15); }
}

@keyframes kenBurnsZoomOut {
  from { transform: scale(1.15); }
  to   { transform: scale(1); }
}

@keyframes kenBurnsDriftRight {
  from { transform: scale(1.1) translateX(0); }
  to   { transform: scale(1.15) translateX(3%); }
}

@keyframes kenBurnsDriftLeft {
  from { transform: scale(1.1) translateX(0); }
  to   { transform: scale(1.15) translateX(-3%); }
}

/* --- Dark overlay layer (::after) --- */
/* ↓ Change this value to control darkness: 0.1 light → 0.7 dark */
.kb-zoom-in::after,
.kb-zoom-out::after,
.kb-drift-right::after,
.kb-drift-left::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
}

/* --- Keep content above both layers --- */
.kb-zoom-in > *,
.kb-zoom-out > *,
.kb-drift-right > *,
.kb-drift-left > * {
  position: relative;
  z-index: 2;
}




/* --- Border line Design --- */
.Border-line {
  width: 2;
  height: 3px;
  background: linear-gradient(
    to right,
    transparent,
    #000,
    transparent
  );
  opacity: 0.3;
}









/* ============================================
   ALLENMOOS – NINJA FORMS CUSTOM CSS
   Paste into WordPress Customizer → Additional CSS
   ============================================ */

/* ── Base & Typography ── */
.nf-form-content,
.nf-form-content * {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  box-sizing: border-box;
}

/* ── Form Wrapper ── */
.nf-form-wrap {
  max-width: 640px;
  margin: 0 auto;
  padding: 40px 0;
}

/* ── Required field note ── */
.nf-before-form-content .nf-form-fields-required {
  font-size: 12px;
  color: #888;
  margin-bottom: 28px;
  letter-spacing: 0.02em;
}

/* ── Progress Bar ── */
.nf-progress-container {
  height: 3px;
  background: #e8e4de;
  border-radius: 99px;
  margin-bottom: 24px;
  overflow: hidden;
}
.nf-progress {
  height: 100%;
  background: #DD3333;
  border-radius: 99px;
  transition: width 0.4s ease;
}

/* ── Breadcrumbs ── */
.nf-breadcrumbs {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  padding: 0;
  margin: 0 0 36px;
}
.nf-breadcrumbs li {
  display: flex;
}
.nf-breadcrumbs a.nf-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 8px 6px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none !important;
  text-align: center;
  line-height: 1.3;
  color: #999 !important;
  background: #fff;
  border: 1px solid #e0dbd2;
  border-radius: 6px;
  transition: all 0.2s ease;
  min-height: 48px;
}
.nf-breadcrumbs li.active a.nf-breadcrumb {
  color: #DD3333 !important;
  background: #fdf0f0;
  border-color: #f0b8b8;
  font-weight: 600;
}
@media (max-width: 480px) {
  .nf-breadcrumbs {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Field Rows ── */
.nf-row {
  margin-bottom: 20px;
}

/* ── Labels ── */
.nf-field-label label,
.nf-field-label .nf-label-span {
  display: block;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  margin-bottom: 7px !important;
  letter-spacing: 0.01em;
}

.ninja-forms-req-symbol {
  color: #c0392b;
  margin-left: 2px;
}

/* ── Inputs, Textareas, Tel, Email ── */
.nf-form-content input[type="text"],
.nf-form-content input[type="email"],
.nf-form-content input[type="tel"],
.nf-form-content textarea,
.nf-form-content input.datepicker {
  width: 100% !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
  border: 1px solid #ddd8d0 !important;
  border-radius: 8px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  appearance: none;
  -webkit-appearance: none;
}

.nf-form-content input[type="text"]:focus,
.nf-form-content input[type="email"]:focus,
.nf-form-content input[type="tel"]:focus,
.nf-form-content textarea:focus,
.nf-form-content input.datepicker:focus {
  border-color: #DD3333 !important;
  box-shadow: 0 0 0 3px rgba(221, 51, 51, 0.1) !important;
}

.nf-form-content textarea {
  min-height: 100px !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

/* ── Placeholder ── */
.nf-form-content input::placeholder,
.nf-form-content textarea::placeholder {
  color: #bbb !important;
}

/* ── File Upload Button ── */
.nf-fu-fileinput-button.btn-success {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  color: #DD3333 !important;
  background: #fdf0f0 !important;
  border: 1px solid #f0b8b8 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  box-shadow: none !important;
}
.nf-fu-fileinput-button.btn-success:hover {
  background: #fce4e4 !important;
}

.nf-fu-button-cancel {
  display: none !important;
}

/* ── File Progress Bar ── */
.nf-fu-progress {
  margin-top: 8px;
  height: 3px;
  background: #e8e4de;
  border-radius: 99px;
  overflow: hidden;
}
.nf-fu-progress-bar-success {
  height: 100%;
  background: #DD3333;
}

/* ── Error Messages ── */
.nf-error-wrap.nf-error {
  margin-top: 5px;
  font-size: 12px !important;
  color: #c0392b !important;
}

/* ── Next / Previous Buttons ── */
.nf-next-previous {
  list-style: none;
  padding: 0;
  margin: 36px 0 0;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

.nf-next-item input[type="button"].nf-next,
.nf-prev-item input[type="button"].nf-prev {
  padding: 12px 32px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.1s ease !important;
}

.nf-next-item input[type="button"].nf-next {
  background: #DD3333 !important;
  color: #ffffff !important;
}
.nf-next-item input[type="button"].nf-next:hover {
  background: #c02a2a !important;
  transform: translateY(-1px) !important;
}

.nf-prev-item input[type="button"].nf-prev {
  background: #f0ede8 !important;
  color: #1a1a1a !important;
}
.nf-prev-item input[type="button"].nf-prev:hover {
  background: #e5e0d8 !important;
}

/* ── Submit Button ── */
.nf-form-content input[type="submit"],
.nf-form-content button[type="submit"] {
  padding: 13px 36px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  background: #DD3333 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  width: 100% !important;
}
.nf-form-content input[type="submit"]:hover,
.nf-form-content button[type="submit"]:hover {
  background: #c02a2a !important;
}

/* ── Honeypot (hidden spam field) ── */
.nf-form-hp {
  display: none !important;
}

/* ── Form errors container ── */
#nf-form-errors-2 {
  margin-top: 16px;
  font-size: 13px;
  color: #c0392b;
}

/* ── Divider spacing between sections ── */
.nf-mp-footer {
  padding-top: 8px;
}






/* ── Smoonth scroll for GeneratePress website ── */
html {
  scroll-behavior: smooth;
}