/*
 Theme Name: Enfold Child
 Theme URI: http://www.kriesi.at/themes/enfold/
 Template: enfold
 Author: Kriesi
 Author URI: https://kriesi.at
 Description: Child theme for Enfold (custom CSS lives here)
 Version: 1.0
*/

/* =========================================================
   TOKENS
   ========================================================= */
:root{
  --blue:#1a8bc5;
  --blue-dk:#228fc7;
  --ink:#23274a;
  --muted:#5e657a;
  --alt:#f9fbfc;
  --shadow:0 6px 18px rgba(0,0,0,.08);
}

/* =========================================================
   TYPOGRAPHY
   ========================================================= */
.template-page .entry-content-wrapper h1,
.template-page .entry-content-wrapper h2,
.template-page .entry-content-wrapper h3{
  text-transform:none;
  letter-spacing:0;
}

.av-special-heading .av-special-heading-tag,
.av-special-heading .av-special-heading-tag *{
  text-transform:none;
  letter-spacing:0;
}

/* =========================================================
   TESTIMONIAL CARDS
   ========================================================= */
#top .avia-grid-testimonials .avia-testimonial,
#top .avia-testimonial{
  background:#fff;
  color:var(--ink);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:22px;
}

#top .avia-grid-testimonials .avia-testimonial-name,
#top .avia-testimonial-name{
  color:var(--blue);
  font-weight:700;
}

@media (max-width: 989px){
  #top .avia-grid-testimonials .avia-testimonial,
  #top .avia-testimonial{
    padding:16px;
    border-radius:16px;
  }
}

/* =========================================================
   SHARE BUTTONS
   ========================================================= */
.shariff{
  display:flex;
  justify-content:center;
}

/* =========================================================
   BUTTONS: alignment + icon color, no global color overrides
   ========================================================= */
#top .avia-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1.2;
}

#top .avia-button .avia_button_icon,
#top .avia-button i,
#top .avia-button svg,
#top .avia-button svg *{
  color: currentColor;
  fill: currentColor;
  opacity: 1;
}

/* Theme Color buttons (Basic options only → Theme Color) */
#top .avia-button.avia-color-theme-color,
#top a.avia-button.avia-color-theme-color{
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: #fff !important;
}

#top .avia-button.avia-color-theme-color:hover,
#top a.avia-button.avia-color-theme-color:hover{
  background: var(--blue-dk) !important;
  border-color: var(--blue-dk) !important;
  color: #fff !important;
}

/* Invert buttons inside blue sections:
   Add class "btn-invert" to the Color Section */
#top .btn-invert a.avia-button,
#top .btn-invert .avia-button{
  background:#fff !important;
  border-color:#fff !important;
  color: var(--blue) !important;
  -webkit-text-fill-color: var(--blue) !important;
}

#top .btn-invert a.avia-button:hover,
#top .btn-invert .avia-button:hover{
  background: rgba(255,255,255,0.92) !important;
  border-color: rgba(255,255,255,0.92) !important;
  color: var(--blue-dk) !important;
  -webkit-text-fill-color: var(--blue-dk) !important;
}

/* Optional: single weird CTA button fix (only if you actually use class cta-touch) */
#top a.avia-button.cta-touch{
  line-height: 1.1 !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

/* =========================================================
   FOOTER DARK
   ========================================================= */
#top #footer{
  background:#10121e !important;
  color:#c9d2df !important;
}
#top #footer .widgettitle{
  color:#ffffff !important;
  font-weight:700;
}
#top #footer a{
  color:#7fcce6 !important;
  text-decoration:none;
}
#top #footer a:hover{
  color:var(--blue) !important;
  text-decoration:underline;
}
#top #socket{
  background:#0b0d17 !important;
  color:#b9c2cf !important;
  border-top:1px solid rgba(255,255,255,.08);
}
#top #socket a{ color:#7fcce6 !important; }
#top #socket a:hover{ color:var(--blue) !important; }

/* =========================================================
   REMOVE SECTION DIVIDER LINES (without killing backgrounds)
   ========================================================= */
#top .avia-section,
#top .container_wrap,
#top .main_color,
#top .alternate_color,
#top .container_wrap_first,
#top .container_wrap_last{
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   MAIN MENU (colors, focus frame, active frame, submenu box)
   ========================================================= */

/* Main menu link color (prevent purple visited) */
#top #header_main .av-main-nav > li > a,
#top #header_main .av-main-nav > li > a:link,
#top #header_main .av-main-nav > li > a:visited,
#top #header_main .av-main-nav > li > a:hover,
#top #header_main .av-main-nav > li > a:active,
#top #header_main .av-main-nav > li > a:focus{
  color: var(--blue) !important;
  -webkit-text-fill-color: var(--blue) !important;
  text-decoration:none !important;
}

/* Dropdown link color (prevent purple/red) */
#top #header_main .av-main-nav ul.sub-menu a,
#top #header_main .av-main-nav ul.sub-menu a:link,
#top #header_main .av-main-nav ul.sub-menu a:visited,
#top #header_main .av-main-nav ul.sub-menu a:hover,
#top #header_main .av-main-nav ul.sub-menu a:active,
#top #header_main .av-main-nav ul.sub-menu a:focus{
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
}

/* Dropdown hover */
#top #header_main .av-main-nav ul.sub-menu a:hover{
  color: var(--blue) !important;
  -webkit-text-fill-color: var(--blue) !important;
}

/* Focus outline (accessibility) */
#top #header_main .av-main-nav > li > a:focus,
#top #header_main .av-main-nav ul.sub-menu a:focus{
  outline: 2px solid var(--blue) !important;
  outline-offset: 3px !important;
}

/* Active item frame (thin) */
#top .av-main-nav > li.current-menu-item > a,
#top .av-main-nav > li.current_page_item > a{
  border: 1px solid var(--blue) !important;
  border-radius: 10px !important;
  padding: 6px 10px !important;
}

/* Make submenu appear above content */
#top #header_main,
#top #header_main .main_menu{
  position: relative !important;
  z-index: 9999 !important;
}
#top .av-main-nav ul{
  z-index: 10000 !important;
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.15);
  border-radius:8px;
}

/* Keep menu in one row on desktop */
@media (min-width: 990px){
  #top .av-main-nav{
    display:flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }
  #top .av-main-nav > li > a{
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    padding: 10px 8px !important;
    white-space: nowrap !important;
  }
}

/* =========================================================
   STICKY HEADER (DESKTOP) + FIX TOP OFFSET
   ========================================================= */

/* Force sticky header on desktop */
@media (min-width: 990px){
  #top #header{
    position: fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index: 99999 !important;
    background:#fff !important;
  }
  #top #main{
    padding-top: 120px !important; /* adjust 105–135 depending on header height */
  }
}

/* =========================================================
   MOBILE HEADER FIX (your screenshot: huge empty space, can’t see top)
   ========================================================= */

/* On mobile, DO NOT fix the header; let Enfold handle it.
   Also reduce top padding so the page starts at the top again. */
@media (max-width: 989px){
  #top #header{
    position: relative !important;
  }
  #top #main{
    padding-top: 0 !important;
  }

  /* Optional: reduce header padding if it became too tall */
  #top #header_main .container{
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  /* Keep your burger overlay readable (existing rules kept) */
  .av-burger-overlay,
  .av-burger-overlay-inner,
  .av-burger-overlay-bg,
  .av-burger-overlay-scroll{
    background: rgba(0,0,0,0.92) !important;
  }

  .av-burger-menu-main a,
  #av-burger-menu-ul a,
  .av-burger-overlay a,
  .av-burger-menu-main a span,
  #av-burger-menu-ul a span{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-decoration:none !important;
    opacity:1 !important;
  }

  .av-burger-menu-main li,
  #av-burger-menu-ul li,
  .av-burger-menu-main a,
  #av-burger-menu-ul a{
    border:0 !important;
    box-shadow:none !important;
    background-image:none !important;
  }

  .av-burger-menu-main > ul > li,
  #av-burger-menu-ul > li{
    border-bottom:1px solid rgba(255,255,255,0.12) !important;
  }

  .av-burger-menu-main .sub-menu,
  .av-burger-menu-main .sub-menu li,
  #av-burger-menu-ul .sub-menu,
  #av-burger-menu-ul .sub-menu li{
    background:#000 !important;
  }

  .av-burger-menu-main .sub-menu a,
  #av-burger-menu-ul .sub-menu a{
    padding-left:22px !important;
  }

  /* Hide breadcrumbs + archive widget on mobile */
  .av-breadcrumbs,
  .breadcrumb-trail,
  .breadcrumb{
    display:none !important;
  }
  .widget_archive,
  .widget_archive *{
    display:none !important;
  }
}

/* =========================================================
   ICON LIST – remove dotted vertical connector (working block)
   ========================================================= */
#top .avia-icon-list .iconlist-timeline,
#top .avia-icon-list .iconlist-timeline:before,
#top .avia-icon-list .iconlist-timeline:after,
#top .avia-icon-list:before,
#top .avia-icon-list:after,
#top .avia-icon-list li:before,
#top .avia-icon-list li:after,
#top .avia-icon-list-container:before,
#top .avia-icon-list-container:after{
  display:none !important;
  content:none !important;
  background:none !important;
  border:0 !important;
}
#top .avia-icon-list,
#top .avia-icon-list-container,
#top .avia-icon-list .iconlist_item,
#top .avia-icon-list .iconlist_icon,
#top .avia-icon-list .iconlist_content_wrap{
  background-image:none !important;
  border-image:none !important;
  border-left:0 !important;
}

/* =========================================================
   HERO BACKGROUND IMAGE (student-quotes)
   ========================================================= */
@media (max-width: 768px){
  .student-quotes{
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
}
@media (min-width: 990px){
  .student-quotes{
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-attachment:scroll !important;
  }
}
/* =========================================================
   HEADER (desktop) — SINGLE SOURCE OF TRUTH
   Goal: logo + menu + icons in ONE row, no overlap, not too far right
   ========================================================= */
@media (min-width: 990px){

  /* Change ONE value only */
  :root{ --logoLane: 145px; }   /* try 160–200 */

  /* Header row */
  #top #header_main .container_wrap{
    display:flex !important;
    align-items:center !important;
    position: relative !important;
    padding: 8px 0 !important;
  }

  /* Logo lane (fixed width) */
  #top #header_main .logo_container{
    width: var(--logoLane) !important;
    flex: 0 0 var(--logoLane) !important;
    display:flex !important;
    align-items:center !important;
    z-index: 5 !important;
  }

  #top #header_main .logo,
  #top #header_main .logo a{
    display:flex !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
  }

  #top #header_main .logo img{
    display:block !important;
    max-height: 48px !important;   /* logo size */
    height:auto !important;
    width:auto !important;
  }

  /* Menu occupies full row but starts after logo lane */
  #top #header_main .main_menu{
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: var(--logoLane) !important; /* key */
    margin: 0 !important;
    display:block !important;
    white-space: nowrap !important;
  }

  /* Nav horizontal */
  #top #header_main .av-main-nav-wrap{
    width:auto !important;
    float:none !important;
    position: static !important;
  }

  #top #header_main .av-main-nav{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap: 12px !important;
    margin:0 !important;
  }

  /* Links */
  #top #header_main .av-main-nav > li > a{
    display:inline-flex !important;
    align-items:center !important;
    font-size: 16.5px !important;
	  @media (min-width: 990px){

  /* Hard-pin logo vertical alignment (prevents random “logo drops”) */
  #top #header_main .logo_container,
  #top #header_main .logo,
  #top #header_main .logo a{
    display:flex !important;
    align-items:center !important;
  }

  /* Kill any theme offsets */
  #top #header_main .logo{
    top: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #top #header_main .logo img{
    display:block !important;
    vertical-align: middle !important;
  }
}
    font-weight: 500 !important;
    line-height: 1 !important;
    padding: 6px 8px !important;
    white-space: nowrap !important;

    /* reserve border space so active frame doesn't shift anything */
    border: 2px solid transparent !important;
    border-radius: 10px !important;
  }

  /* Active item: only change border color */
  #top .av-main-nav > li.current-menu-item > a,
  #top .av-main-nav > li.current_page_item > a{
    border-color: var(--blue) !important;
  }

  /* Right icons/flags baseline */
  #top #header_main .av_secondary_right,
  #top #header_meta{
    display:flex !important;
    align-items:center !important;
    margin-left:auto !important;
    line-height:1 !important;
    white-space: nowrap !important;
  }

  #top #header_main .av_secondary_right img{
    vertical-align: middle !important;
    display:inline-block !important;
    margin-top:0 !important;
  }
}
  /* Stop menu links from being tall blocks */
  #top .av-main-nav > li > a{
    display: inline-flex !important;
    align-items: center !important;
    height: auto !important;
    padding: 6px 10px !important;  /* tighter, prevents huge frames */
    line-height: 1.1 !important;
  }

  /* Active frame: same padding as normal, just border */
  #top .av-main-nav > li.current-menu-item > a,
  #top .av-main-nav > li.current_page_item > a{
    padding: 6px 10px !important;
    border-width: 2px !important;
  }
}