/* Lapse Motion: site header (approved canvas option D, the Creatives Grab Coffee pill header in Lapse colours).
   Every main-menu link is a pill with its own small picture; the pictures are added by lapse-motion.php
   (nav_menu_item_title) and are hidden from screen readers. Labels, links and order come from the WordPress menu.
   Pictures move while a pill is hovered; the current page's picture and the Contact dot play only at the top of
   the page and stop once the visitor scrolls (html.lhm-scrolled). Remove the plugin and the old header returns. */

/* ---------- bar ---------- */
#masthead .ast-primary-header-bar,#masthead .ast-primary-header-bar.ast-header-sticked{background-color:#DB3D3C !important;border-bottom-width:0 !important;}
#masthead .custom-logo-link{display:inline-block;transition:transform .45s cubic-bezier(.2,.8,.2,1);}
#masthead .custom-logo-link:hover{transform:rotate(-4deg) scale(1.04);}
#masthead .custom-logo{display:block;width:auto !important;max-width:none !important;}
@media (min-width:922px){
  #ast-desktop-header .ast-primary-header-bar{transition:box-shadow .3s ease;}
  #ast-desktop-header .site-primary-header-wrap{min-height:104px !important;height:104px;transition:min-height .3s ease,height .3s ease;}
  #ast-desktop-header .ast-builder-grid-row{height:100%;}
  #ast-desktop-header .custom-logo{height:54px !important;transition:height .3s ease;}
  #ast-desktop-header .ast-header-sticked{box-shadow:0 14px 30px -18px rgba(20,20,20,.55);}
  #ast-desktop-header .ast-header-sticked .site-primary-header-wrap{min-height:76px !important;height:76px;}
  #ast-desktop-header .ast-header-sticked .custom-logo{height:40px !important;}
}

/* ---------- the pills ---------- */
#masthead .main-header-menu>li>a.lhm-pl{
  display:inline-flex !important;align-items:center;gap:10px;box-sizing:border-box;
  height:48px !important;min-height:0 !important;line-height:1 !important;padding:0 18px 0 7px !important;
  border:0 !important;border-radius:999px;
  background:rgba(255,255,255,.14) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);
  font-family:'Jost',Arial,sans-serif;font-weight:500 !important;font-size:16px !important;letter-spacing:0;color:#FFFFFF !important;
  text-decoration:none !important;white-space:nowrap;
  transition:background .25s ease,color .25s ease,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,height .3s ease;
}
#masthead .main-header-menu>li>a.lhm-pl:hover,
#masthead .main-header-menu>li>a.lhm-pl:focus-visible,
#masthead .main-header-menu>li.current-menu-item>a.lhm-pl,
#masthead .main-header-menu>li.current-menu-ancestor>a.lhm-pl,
#masthead .main-header-menu>li.current_page_parent>a.lhm-pl{
  background:#FFFFFF !important;color:#DB3D3C !important;box-shadow:0 12px 26px -14px rgba(20,20,20,.7);
}
#masthead .main-header-menu>li>a.lhm-pl:hover{transform:translateY(-2px);}
#masthead .main-header-menu>li>a.lhm-pl:focus-visible{outline:2px solid #141414;outline-offset:3px;}
#masthead a.lhm-pl::before,#masthead a.lhm-pl::after{display:none !important;content:none !important;}
#masthead a.lhm-pl>.ast-icon{display:none !important;}
#masthead a.lhm-pl .menu-text{display:inline-flex;align-items:center;gap:inherit;}

.lhm-ic{position:relative;flex:none;width:34px;height:34px;border-radius:50%;background:rgba(20,20,20,.22);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background .25s ease,width .3s ease,height .3s ease;}
a.lhm-pl:hover .lhm-ic,a.lhm-pl:focus-visible .lhm-ic,.current-menu-item>a.lhm-pl .lhm-ic,.current-menu-ancestor>a.lhm-pl .lhm-ic,.current_page_parent>a.lhm-pl .lhm-ic{background:#DB3D3C;}
.lhm-ic svg{width:20px;height:20px;overflow:visible;}

/* when a picture moves: on hover, or on the current page before the visitor scrolls */
/* Home: play button with a pulse ring */
.lhm-ring{position:absolute;inset:5px;border-radius:50%;border:2px solid #FFFFFF;opacity:0;}
a.lhm-pl-home:hover .lhm-ring,html:not(.lhm-scrolled) .current-menu-item>a.lhm-pl-home .lhm-ring{animation:lhmRing 1.6s ease-out infinite;}
@keyframes lhmRing{0%{opacity:.8;transform:scale(.7);}100%{opacity:0;transform:scale(1.35);}}
/* Video: camera with a REC dot */
.lhm-rec{position:absolute;left:8px;top:9px;width:5px;height:5px;border-radius:50%;background:#DB3D3C;box-shadow:0 0 0 1.5px #FFFFFF;}
a.lhm-pl:hover .lhm-rec,.current-menu-item>a.lhm-pl .lhm-rec{background:#FFFFFF;box-shadow:none;}
a.lhm-pl-vid:hover .lhm-rec,html:not(.lhm-scrolled) .current-menu-item>a.lhm-pl-vid .lhm-rec{animation:lhmBlink 1s steps(1) infinite;}
@keyframes lhmBlink{50%{opacity:.2;}}
/* Drone: rotors spin */
.lhm-rot{transform-box:fill-box;transform-origin:center;}
a.lhm-pl-drn:hover .lhm-rot,html:not(.lhm-scrolled) .current-menu-item>a.lhm-pl-drn .lhm-rot{animation:lhmSpin .25s linear infinite;}
@keyframes lhmSpin{to{transform:rotate(360deg);}}
/* Photo: iris blades close and open */
.lhm-pl-pho .lhm-ic svg{width:24px;height:24px;}
.lhm-bl{fill:#FFFFFF;stroke:rgba(20,20,20,.45);stroke-width:.7;transform-box:fill-box;transform-origin:89.73% 100%;transform:rotate(-20deg);}
a.lhm-pl-pho:hover .lhm-bl,html:not(.lhm-scrolled) .current-menu-item>a.lhm-pl-pho .lhm-bl{animation:lhmIris 2.6s cubic-bezier(.6,0,.3,1) infinite alternate;}
@keyframes lhmIris{0%,15%{transform:rotate(-8deg);}85%,100%{transform:rotate(-50deg);}}
/* Pricing: a receipt that prints */
.lhm-rc{position:relative;width:14px;height:19px;padding:3px 2.5px;box-sizing:border-box;background:#FFFFFF;border-radius:1.5px;display:flex;flex-direction:column;gap:2.5px;-webkit-mask:linear-gradient(#000,#000) top/100% calc(100% - 3px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 90deg,#0000 91deg) bottom/4px 3px repeat-x;mask:linear-gradient(#000,#000) top/100% calc(100% - 3px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 90deg,#0000 91deg) bottom/4px 3px repeat-x;}
.lhm-rc i{display:block;height:2px;border-radius:1px;background:#CFCECA;}
.lhm-rc i:last-child{width:60%;background:#DB3D3C;}
a.lhm-pl-pri:hover .lhm-rc,html:not(.lhm-scrolled) .current-menu-item>a.lhm-pl-pri .lhm-rc{animation:lhmPrint 4s cubic-bezier(.4,0,.2,1) infinite;}
@keyframes lhmPrint{0%,8%{clip-path:inset(0 0 100% 0);transform:translateY(-4px);}55%,100%{clip-path:inset(0 0 0 0);transform:none;}}
/* About: a person who nods */
.lhm-head{transform-box:fill-box;transform-origin:center;}
a.lhm-pl-ab:hover .lhm-head,html:not(.lhm-scrolled) .current-menu-item>a.lhm-pl-ab .lhm-head{animation:lhmNod 1.6s ease-in-out infinite;}
@keyframes lhmNod{0%,100%{transform:none;}30%{transform:translateY(-1.5px);}60%{transform:translateY(.5px);}}
/* Blog: two pages fan open */
.lhm-pg{position:absolute;width:13px;height:17px;border-radius:2px 5px 2px 2px;background:#FFFFFF;transition:transform .45s cubic-bezier(.2,.8,.2,1);}
.lhm-pg.a{transform:rotate(-8deg) translateX(-2px);}
.lhm-pg.b{transform:rotate(6deg) translateX(3px);background:#F6D2D1;}
.lhm-pg.b::before{content:"";position:absolute;left:3px;right:3px;top:5px;height:1.5px;background:#DB3D3C;box-shadow:0 3.5px 0 #DB3D3C,0 7px 0 #DB3D3C;}
a.lhm-pl-blog:hover .lhm-pg.a,html:not(.lhm-scrolled) .current-menu-item>a.lhm-pl-blog .lhm-pg.a,html:not(.lhm-scrolled) .current_page_parent>a.lhm-pl-blog .lhm-pg.a{animation:lhmFa 1.6s cubic-bezier(.2,.8,.2,1) infinite alternate;}
a.lhm-pl-blog:hover .lhm-pg.b,html:not(.lhm-scrolled) .current-menu-item>a.lhm-pl-blog .lhm-pg.b,html:not(.lhm-scrolled) .current_page_parent>a.lhm-pl-blog .lhm-pg.b{animation:lhmFb 1.6s cubic-bezier(.2,.8,.2,1) infinite alternate;}
@keyframes lhmFa{to{transform:rotate(-20deg) translateX(-5px);}}
@keyframes lhmFb{to{transform:rotate(14deg) translateX(5px) translateY(-1px);background:#FFFFFF;}}

/* ---------- Contact: dark pill with a red dot ---------- */
#masthead .ast-header-button-1 .ast-custom-button{display:inline-flex !important;align-items:center;gap:10px;height:48px;padding:0 22px !important;border:0 !important;border-radius:999px !important;background:#141414 !important;color:#FFFFFF !important;font-family:'Jost',Arial,sans-serif;font-size:13px !important;font-weight:500 !important;letter-spacing:.16em !important;line-height:1 !important;text-transform:uppercase;box-shadow:0 14px 28px -16px rgba(0,0,0,.8);transition:background .2s ease,transform .2s ease,height .3s ease;}
#masthead .ast-header-button-1 .ast-custom-button::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#DB3D3C;}
html:not(.lhm-scrolled) #masthead .ast-header-button-1 .ast-custom-button::before{animation:lhmBlink 1.2s steps(1) infinite;}
#masthead .ast-header-button-1 a:hover .ast-custom-button{background:#000000 !important;transform:translateY(-2px);}
#masthead .ast-header-button-1 a:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px;border-radius:999px;}

/* ---------- desktop row ---------- */
#ast-hf-menu-1{gap:8px;align-items:center;}
#ast-hf-menu-1>li{display:flex;align-items:center;}
@media (min-width:922px){
  #ast-desktop-header .ast-header-sticked #ast-hf-menu-1>li>a.lhm-pl,#ast-desktop-header .ast-header-sticked .ast-custom-button{height:42px !important;}
  #ast-desktop-header .ast-header-sticked #ast-hf-menu-1>li>a.lhm-pl{font-size:15px !important;}
  #ast-desktop-header .ast-header-sticked #ast-hf-menu-1 .lhm-ic{width:30px;height:30px;}
}
@media (max-width:1300px){
  #masthead #ast-hf-menu-1{gap:6px;}
  #masthead #ast-hf-menu-1>li>a.lhm-pl{font-size:15px !important;height:44px !important;gap:8px;padding-right:14px !important;}
  #masthead #ast-hf-menu-1 .lhm-ic{width:30px;height:30px;}
  #masthead .ast-header-button-1 .ast-custom-button{height:44px;padding:0 18px !important;}
}
@media (max-width:1160px){
  #masthead #ast-hf-menu-1{gap:4px;}
  #masthead #ast-hf-menu-1>li>a.lhm-pl{font-size:14px !important;padding:0 12px 0 6px !important;gap:6px;}
  #masthead #ast-hf-menu-1 .lhm-ic{width:28px;height:28px;}
  #masthead #ast-hf-menu-1 .lhm-ic svg{width:17px;height:17px;}
  #ast-desktop-header .custom-logo{height:46px !important;}
}
@media (max-width:1060px) and (min-width:922px){
  #masthead #ast-hf-menu-1 .lhm-ic{display:none;}
  #masthead #ast-hf-menu-1>li>a.lhm-pl{padding:0 13px !important;}
  #masthead .ast-header-button-1 .ast-custom-button{padding:0 14px !important;letter-spacing:.1em !important;}
}

/* ---------- phone: dark menu button, dark panel with stacked pills ---------- */
@media (max-width:921px){
  #ast-mobile-header .ast-primary-header-bar,#ast-mobile-header .site-primary-header-wrap{min-height:76px !important;}
  #ast-mobile-header .site-primary-header-wrap{padding-left:20px !important;padding-right:16px !important;}
  #ast-mobile-header .custom-logo{height:36px !important;}
  #ast-mobile-header .ast-header-button-1 .ast-custom-button{height:42px;padding:0 16px !important;font-size:12px !important;}
}
#ast-mobile-header .menu-toggle{width:46px;height:46px;margin-left:10px;padding:0 !important;display:inline-flex !important;align-items:center;justify-content:center;border:0 !important;border-radius:14px !important;background:#141414 !important;color:#FFFFFF !important;box-shadow:0 10px 24px -14px rgba(20,20,20,.6);}
#ast-mobile-header .menu-toggle .ast-mobile-svg,#ast-mobile-header .menu-toggle svg{fill:#FFFFFF;color:#FFFFFF;}
#ast-mobile-header .menu-toggle:focus{outline:0;}
#ast-mobile-header .menu-toggle:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px;}
#ast-mobile-header .ast-mobile-header-content{background:#141414 !important;padding:14px 16px 22px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);}
#ast-mobile-header .ast-mobile-header-content .main-header-menu{display:flex !important;flex-direction:column;gap:10px;margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important;}
#ast-mobile-header .ast-mobile-header-content .main-header-menu>li{margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;animation:lhmNavIn .5s cubic-bezier(.2,.8,.2,1) both;}
#ast-mobile-header .ast-mobile-header-content .main-header-menu>li:nth-child(2){animation-delay:.04s;}
#ast-mobile-header .ast-mobile-header-content .main-header-menu>li:nth-child(3){animation-delay:.08s;}
#ast-mobile-header .ast-mobile-header-content .main-header-menu>li:nth-child(4){animation-delay:.12s;}
#ast-mobile-header .ast-mobile-header-content .main-header-menu>li:nth-child(5){animation-delay:.16s;}
#ast-mobile-header .ast-mobile-header-content .main-header-menu>li:nth-child(6){animation-delay:.2s;}
#ast-mobile-header .ast-mobile-header-content .main-header-menu>li:nth-child(7){animation-delay:.24s;}
#ast-mobile-header .main-header-menu>li>a.lhm-pl{display:flex !important;width:100%;height:60px !important;font-size:20px !important;padding:0 20px 0 9px !important;gap:14px;}
#ast-mobile-header .lhm-ic{width:42px;height:42px;}
#ast-mobile-header .main-header-menu>li>a.lhm-pl:hover{transform:none;}
@keyframes lhmNavIn{from{opacity:0;translate:-14px 0;}to{opacity:1;translate:0 0;}}

/* ---------- back to top ---------- */
#ast-scroll-top{width:48px !important;height:48px !important;line-height:48px !important;border-radius:999px !important;background-color:#141414 !important;box-shadow:0 10px 24px -10px rgba(20,20,20,.6);transition:background-color .2s ease,transform .2s ease;}
#ast-scroll-top:hover{background-color:#DB3D3C !important;transform:translateY(-2px);}

@media (prefers-reduced-motion:reduce){
  #masthead *,#masthead *::before,#masthead *::after,#ast-scroll-top{animation:none !important;transition:none !important;}
}
