.elementor-kit-6{--e-global-color-primary:#F8F8F5;--e-global-color-secondary:#ECEDE8;--e-global-color-text:#1B1E1E;--e-global-color-accent:#005EB8;--e-global-color-b8a54b6:#FFCD00;--e-global-color-c05a1a7:#6E7169;--e-global-color-af741f5:#49989B;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-size:210px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:181px;--e-global-typography-primary-letter-spacing:-4.2px;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-size:27px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:27px;--e-global-typography-secondary-letter-spacing:1.4px;--e-global-typography-text-font-family:"Hanken Grotesk";--e-global-typography-text-font-size:22px;--e-global-typography-text-font-weight:300;--e-global-typography-text-font-style:italic;--e-global-typography-text-line-height:33px;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Cormorant Garamond";--e-global-typography-accent-font-size:58px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:63px;--e-global-typography-accent-letter-spacing:-0.6px;--e-global-typography-fc1bc7c-font-family:"Cormorant Garamond";--e-global-typography-fc1bc7c-font-size:36px;--e-global-typography-fc1bc7c-font-weight:500;--e-global-typography-fc1bc7c-line-height:40px;--e-global-typography-fc1bc7c-letter-spacing:0px;--e-global-typography-2544b1a-font-family:"Cormorant Garamond";--e-global-typography-2544b1a-font-size:25px;--e-global-typography-2544b1a-font-weight:500;--e-global-typography-2544b1a-line-height:29px;--e-global-typography-2544b1a-letter-spacing:0px;--e-global-typography-0882ded-font-family:"Cormorant Garamond";--e-global-typography-0882ded-font-size:48px;--e-global-typography-0882ded-font-weight:500;--e-global-typography-0882ded-line-height:48px;--e-global-typography-0882ded-letter-spacing:0px;--e-global-typography-0193c9a-font-family:"Cormorant Garamond";--e-global-typography-0193c9a-font-size:22px;--e-global-typography-0193c9a-font-weight:400;--e-global-typography-0193c9a-line-height:22px;--e-global-typography-0193c9a-letter-spacing:0px;--e-global-typography-8ca87cc-font-family:"Hanken Grotesk";--e-global-typography-8ca87cc-font-size:12px;--e-global-typography-8ca87cc-font-weight:400;--e-global-typography-8ca87cc-text-transform:uppercase;--e-global-typography-8ca87cc-line-height:17px;--e-global-typography-8ca87cc-letter-spacing:2.9px;--e-global-typography-a1bee45-font-family:"Hanken Grotesk";--e-global-typography-a1bee45-font-size:17px;--e-global-typography-a1bee45-font-weight:300;--e-global-typography-a1bee45-line-height:30px;--e-global-typography-706247f-font-family:"Hanken Grotesk";--e-global-typography-706247f-font-size:14.5px;--e-global-typography-706247f-font-weight:300;--e-global-typography-706247f-line-height:24px;--e-global-typography-706247f-letter-spacing:0px;--e-global-typography-4e9a55b-font-family:"Hanken Grotesk";--e-global-typography-4e9a55b-font-size:12px;--e-global-typography-4e9a55b-font-weight:400;--e-global-typography-4e9a55b-text-transform:uppercase;--e-global-typography-4e9a55b-line-height:16px;--e-global-typography-4e9a55b-letter-spacing:1.7px;--e-global-typography-e1342a8-font-family:"Hanken Grotesk";--e-global-typography-e1342a8-font-size:12px;--e-global-typography-e1342a8-font-weight:400;--e-global-typography-e1342a8-text-transform:uppercase;--e-global-typography-e1342a8-line-height:16px;--e-global-typography-e1342a8-letter-spacing:1.9px;--e-global-typography-b41f693-font-family:"Hanken Grotesk";--e-global-typography-b41f693-font-size:12px;--e-global-typography-b41f693-font-weight:400;--e-global-typography-b41f693-text-transform:uppercase;--e-global-typography-b41f693-line-height:16px;--e-global-typography-b41f693-letter-spacing:1.9px;--e-global-typography-1210649-font-family:"Hanken Grotesk";--e-global-typography-1210649-font-size:11px;--e-global-typography-1210649-font-weight:400;--e-global-typography-1210649-text-transform:uppercase;--e-global-typography-1210649-line-height:15px;--e-global-typography-1210649-letter-spacing:2px;--e-global-typography-7213474-font-family:"Cormorant Garamond";--e-global-typography-7213474-font-size:17px;--e-global-typography-7213474-font-weight:400;--e-global-typography-7213474-font-style:italic;--e-global-typography-7213474-line-height:26px;--e-global-typography-7213474-letter-spacing:0px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:var( --e-global-typography-b41f693-font-family ), Sans-serif;font-size:var( --e-global-typography-b41f693-font-size );font-weight:var( --e-global-typography-b41f693-font-weight );text-transform:var( --e-global-typography-b41f693-text-transform );line-height:var( --e-global-typography-b41f693-line-height );letter-spacing:var( --e-global-typography-b41f693-letter-spacing );border-radius:2px 2px 2px 2px;padding:15px 30px 15px 30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:74px;--e-global-typography-secondary-font-size:24px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:34px;--e-global-typography-accent-line-height:40px;--e-global-typography-accent-letter-spacing:-0.6px;--e-global-typography-fc1bc7c-font-size:26px;--e-global-typography-fc1bc7c-line-height:30px;--e-global-typography-2544b1a-font-size:23px;--e-global-typography-0882ded-font-size:38px;--e-global-typography-a1bee45-font-size:15px;--e-global-typography-706247f-font-size:14px;--e-global-typography-4e9a55b-font-size:11px;--e-global-typography-4e9a55b-line-height:17px;--e-global-typography-4e9a55b-letter-spacing:1.7px;--e-global-typography-e1342a8-font-size:14px;--e-global-typography-1210649-font-size:10px;--e-global-typography-7213474-font-size:17px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-b41f693-font-size );line-height:var( --e-global-typography-b41f693-line-height );letter-spacing:var( --e-global-typography-b41f693-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-b41f693-font-size );line-height:var( --e-global-typography-b41f693-line-height );letter-spacing:var( --e-global-typography-b41f693-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================================
   VILLA EOS — SITE CUSTOM CSS
   Elementor → hamburger → Site Settings → Custom CSS
   ============================================================================

   Your existing rules, merged with the additive layer, organised into parts.
   Everything you had is still here — nothing was dropped except one rule of
   mine that conflicted with yours (noted in Part 2).

   CONTENTS
     0  Tokens
     1  Layout fixes            — square carousel, page header, header gutter
     2  Anchors & scrolling
     3  Accessibility           — focus states, skip link
     4  Resilience              — no-JS, reduced motion
     5  Mobile                  — tap targets, small text, carousel, gallery, CTA
     6  Hero
     7  Form
     8  Media & polish
     9  Print

   THREE THINGS TO KNOW
     · `.page-header{display:none}` (Part 1) hides "Elementor #7" but it is
       still in the DOM as one of two <h1>s. Rename the page and switch on
       Page Settings → Hide Title. The CSS is a patch, not the fix.
     · Hiding the gallery captions (Part 5) works around 12 filename captions
       like "…Third Bedroom extrai". Those strings are also what Google reads.
       Fix them in the Media Library when you get a chance.
     · The hero scrim (Part 6) is commented out. Switch it on only if the hero
       container has no Background Overlay of its own — two scrims stack.
   ========================================================================= */


/* ============================================================================
   0 · TOKENS
   ========================================================================= */

:root{
  --eos-ink:   var(--e-global-color-text,    #1B1E1E);
  --eos-sand:  var(--e-global-color-primary, #F8F8F5);
  --eos-stone: var(--e-global-color-c05a1a7, #6E7169);
  --eos-sea:   var(--e-global-color-af741f5, #49989B);
  --eos-focus: var(--e-global-color-af741f5, #49989B);

  /* One number for every anchor landing. Must stay >= your Elementor
     Anchor Offset (currently 80) or headings tuck under the sticky header. */
  --eos-anchor-offset: 88px;

  /* Height of the sticky mobile CTA bar, used to pad the page bottom
     and lift the sound button clear of it. */
  --eos-cta-height: 72px;
}


/* ============================================================================
   1 · LAYOUT FIXES
   ========================================================================= */

/* --- Square media box for the slide carousels ---------------------------- */
.square-carousel{
  --sq-size: 100%;          /* fixed size? set e.g. 420px */
  width: 100%;
  max-width: var(--sq-size);
  margin-inline: auto;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

/* Every layer between the widget and the media fills that box. */
.square-carousel > .elementor-widget-container,
.square-carousel .elementor-image-carousel-wrapper,
.square-carousel .elementor-main-swiper,
.square-carousel .swiper,
.square-carousel .swiper-wrapper,
.square-carousel .swiper-slide,
.square-carousel .swiper-slide-inner,
.square-carousel .elementor-carousel-image{
  height: 100% !important;
  width: 100%;
  margin: 0;
}

.square-carousel .swiper-slide-inner{ display: block; }

/* Images: cover + centred. */
.square-carousel .swiper-slide-image,
.square-carousel .swiper-slide-inner img,
.square-carousel figure img{
  width: 100% !important;
  height: 100% !important;
  max-height: none;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* The media carousel uses a background-image, not an <img>. */
.square-carousel .elementor-carousel-image{
  background-size: cover !important;
  background-position: center center !important;
  padding-bottom: 0 !important;
}

/* --- Hide the Hello Elementor page title --------------------------------
   Still renders "Elementor #7" on the front page.
   NOTE: this hides it, it does not remove it. See the header of this file. */
.page-header{ display: none !important; }

/* --- Header gutter -------------------------------------------------------
   Outer padding is 20px, but .e-con-inner adds another 34 — header content
   started at 54px while every section starts at 20. */
@media (max-width: 1024px){
  .elementor-location-header .e-con-inner{
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100%;
  }
}


/* ============================================================================
   2 · ANCHORS & SCROLLING
   ============================================================================
   Your Elementor Anchor Offset (80) handles in-page nav clicks. This covers
   someone opening /#house cold, where Elementor's JS never runs.

   REMOVED FROM THE ORIGINAL ADDITIVE FILE: `html{ scroll-behavior:smooth }`.
   It fights Elementor Pro's anchor-offset JS, which animates the scroll
   itself — two engines on one click gives a stutter or an overshoot. Your
   Elementor offset works, so CSS smooth-scroll is the one to drop.
   ========================================================================= */

[id]{ scroll-margin-top: var(--eos-anchor-offset); }


/* ============================================================================
   3 · ACCESSIBILITY
   ============================================================================
   There is currently no visible focus state anywhere on the site. Tab through
   it and you cannot tell where you are — a WCAG 2.4.7 failure, four lines to
   fix. `:focus-visible` means mouse users never see a ring; keyboard users do.
   ========================================================================= */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible,
.swiper-pagination-bullet:focus-visible,
.elementor-swiper-button:focus-visible{
  outline: 2px solid var(--eos-focus);
  outline-offset: 3px;
  border-radius: 2px;
}

/* A teal ring vanishes on dark photography. Add a halo over the hero. */
.elementor-background-overlay ~ * a:focus-visible,
[class*="hero"] a:focus-visible,
[class*="hero"] button:focus-visible{
  outline-color: #fff;
  box-shadow: 0 0 0 5px rgba(27, 30, 30, .45);
}

.elementor-element a:focus-visible{ outline-style: solid; }

/* --- Skip link -----------------------------------------------------------
   Hello Elementor prints one, but it measures 1×1px and never appears —
   so it exists for audits and helps nobody. */
.skip-link.screen-reader-text:focus,
a.skip-link:focus{
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 100000;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  padding: 12px 20px;
  background: var(--eos-ink);
  color: var(--eos-sand);
  font-family: "Hanken Grotesk", sans-serif;
  font-size: 15px;
  font-style: normal;
  letter-spacing: .06em;
  text-decoration: none;
  border-radius: 2px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .3);
}


/* ============================================================================
   4 · RESILIENCE
   ============================================================================
   60 widgets carry .elementor-invisible, so most of the page is
   visibility:hidden until JS reveals it on scroll. If a script fails or a slow
   phone times out, the visitor gets empty white blocks — booking form included.

   This is a safety net, not a reason to change your entrance animations.
   ========================================================================= */

.no-js .elementor-invisible,
html:not(.js) .elementor-invisible{
  visibility: visible !important;
  animation: none !important;
  opacity: 1 !important;
}

/* REMOVED: a 4-second "failsafe reveal" that used to sit here.
   It set an animation on .elementor-invisible that forced visibility:visible
   four seconds after load — but Elementor keeps that class on every element
   you have not scrolled to yet. So everything below the fold revealed itself
   on a timer and then animated a SECOND time when you reached it, which looked
   like the content was already there before its own entrance.

   A timer cannot tell "not scrolled to yet" from "JavaScript broke", so it was
   the wrong mechanism. The .no-js rule above and the <noscript> block in the
   head snippet are the correct safety net: they apply only when JS is actually
   off, and they never interfere with the animations. */

/* --- Reduced motion ------------------------------------------------------
   The page runs a looping background video, 20 drifting decals, two
   autoplaying carousels, a counter and fadeIn/Left/Right/Down entrances.
   Your leaf-decal and sound-button widgets already honour this — good
   instinct. Extend it to everything else. */
@media (prefers-reduced-motion: reduce){

  *, *::before, *::after{
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  .elementor-invisible{
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Hold the hero on its poster rather than looping it. */
  .elementor-background-video-container video{ display: none !important; }
  .elementor-background-video-container{
    background-size: cover;
    background-position: center;
  }

  .wl-layer{ display: none !important; }
}


/* ============================================================================
   5 · MOBILE
   ========================================================================= */

/* --- Tap targets ---------------------------------------------------------
   Measured at 375px, all under the 44px minimum: footer email 167×18,
   phone 109×18, WhatsApp 64×18, socials ~80×16, carousel arrows 35 wide.
   Nothing moves visually — the hit area grows, the text stays put. */
@media (max-width: 1024px){

  footer a,
  .elementor-location-footer a,
  .elementor-social-icon,
  .elementor-icon-list-item > a{
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  footer a::after,
  .elementor-location-footer a::after{
    content: "";
    position: absolute;
    inset: -13px -8px;
  }

  .elementor-swiper-button,
  .swiper-button-next,
  .swiper-button-prev{
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .swiper-pagination-bullet{
    position: relative;
    min-width: 14px;
    min-height: 14px;
  }
  .swiper-pagination-bullet::after{
    content: "";
    position: absolute;
    inset: -12px;
  }
}


@media (max-width: 767px){

  /* --- Small text --------------------------------------------------------
     21 text nodes render below 14px at 375px — mostly the "HALF DAY" /
     "ON REQUEST" service tags and the footer. Only lifts what's too small. */
  .elementor-widget-text-editor,
  .elementor-widget-icon-list .elementor-icon-list-text,
  .elementor-testimonial__text{
    font-size: max(1em, 15px);
  }

  footer, .elementor-location-footer{ font-size: max(1em, 14px); }

  /* Body copy is Hanken Grotesk 300 italic. Light italic at small sizes in
     Greek summer glare is the hardest combination to read there is. Desktop
     is untouched. Delete these two rules if you'd rather keep the italic. */
  .elementor-widget-text-editor p,
  .elementor-widget-text-editor{ font-weight: 400; }

  /* --- Services carousel -------------------------------------------------
     Swiper stretches every slide to the tallest (946px), leaving ~680px
     blank under the short image cards. */
  .elementor-element-f1b4efe .e-n-carousel > .swiper-wrapper{
    align-items: flex-start !important;
  }
  .elementor-element-f1b4efe .e-n-carousel .swiper-slide,
  .elementor-element-f1b4efe .e-n-carousel .swiper-slide > .e-con{
    height: auto !important;
    min-height: 0 !important;
    align-self: flex-start !important;
  }

  /* --- Gallery captions --------------------------------------------------
     12 filename captions ("…Third Bedroom extrai"). Hiding them is the quick
     fix; those strings are also what Google reads, so edit the captions in
     the Media Library when you get a chance. */
  .elementor-gallery-item__overlay,
  .elementor-gallery-item__title,
  .elementor-gallery-item__description{ display: none !important; }

  /* --- Sticky booking bar ------------------------------------------------ */
  .eos-mobile-cta{
    position: fixed !important;
    left: 0; right: 0; bottom: 0;
    z-index: 9997;
    margin: 0 !important;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)) !important;
    background: rgba(248, 248, 245, .94);
    -webkit-backdrop-filter: blur(12px);
            backdrop-filter: blur(12px);
    box-shadow: 0 -1px 0 rgba(26, 43, 71, .12);
  }

  .eos-mobile-cta .elementor-button{
    display: block;
    width: 100%;
    background-color: #005EB8;
    color: #fff;
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 13px;
    letter-spacing: 1.9px;
    line-height: 1;
    padding: 17px 20px;        /* 51px tall tap target */
    border-radius: 2px;
    text-align: center;
  }

  body{ padding-bottom: var(--eos-cta-height); }
  .eos-sound-btn{ bottom: calc(var(--eos-cta-height) + 16px) !important; }
}


/* ============================================================================
   6 · HERO
   ============================================================================
   OPTIONAL — commented out. White italic body text over a looping video drops
   below 3:1 contrast whenever a bright frame passes. A soft bottom-up scrim
   fixes it without darkening the footage.

   Switch it on ONLY if the hero container has no Background Overlay of its
   own, or you will stack two scrims and the hero goes muddy.
   ========================================================================= */

/*
.elementor-element-e191b94{ position: relative; }

.elementor-element-e191b94::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    to top,
    rgba(27, 30, 30, .55) 0%,
    rgba(27, 30, 30, .28) 32%,
    rgba(27, 30, 30, 0)   62%
  );
}

.elementor-element-e191b94 > *{ position: relative; z-index: 1; }

.elementor-element-e191b94 .elementor-widget-text-editor{
  text-shadow: 0 1px 18px rgba(27, 30, 30, .35);
}
*/


/* ============================================================================
   7 · FORM
   ============================================================================
   The only conversion point on the page that isn't an email address.
   ========================================================================= */

.elementor-field-group .elementor-field{
  transition: border-color .2s ease, box-shadow .2s ease;
}

.elementor-field-group .elementor-field:focus{
  border-color: var(--eos-sea);
  box-shadow: 0 0 0 3px rgba(73, 152, 155, .18);
  outline: none;
}

/* Required fields should say so before submit, not after. */
.elementor-field-group.elementor-field-required > label::after{
  content: " *";
  color: var(--eos-sea);
}

.elementor-field-group .elementor-field::placeholder{
  color: var(--eos-stone);
  opacity: .75;
  font-style: normal;
}

/* The two date fields use flatpickr — make it obvious they open a calendar. */
input[name*="field_e400b6b"],
input[name*="field_0d07bf4"]{ cursor: pointer; }

.elementor-message-danger{ border-left: 3px solid #B3261E; padding-left: 12px; }
.elementor-message-success{ border-left: 3px solid var(--eos-sea); padding-left: 12px; }

/* Stop iOS zooming the page when a field is focused — needs >= 16px. */
@media (max-width: 767px){
  .elementor-field-group .elementor-field,
  .elementor-field-textual{ font-size: 16px; }
}


/* ============================================================================
   8 · MEDIA & POLISH
   ========================================================================= */

img, video{ max-width: 100%; height: auto; }

/* The decal SVGs are decoration. Keep them out of the way.
   Pair with aria-hidden="true" on the .wl-layer wrapper in the widget. */
.wl-layer, .wl-leaf{ pointer-events: none; user-select: none; }

::selection{ background: var(--eos-sea); color: #fff; }

/* Cormorant Garamond at display sizes benefits from proper ligatures. */
h1, h2, h3, h4, .elementor-heading-title{
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
  text-rendering: optimizeLegibility;
}

/* Big numerals (01–05, "26 Steps", "145 m²") look better lining and aligned. */
.elementor-counter-number,
[class*="counter"] .elementor-heading-title{
  font-variant-numeric: lining-nums tabular-nums;
}

.elementor-sticky--effects{ will-change: transform; }


/* ============================================================================
   9 · PRINT
   ============================================================================
   Guests print villa pages — for a visa application, to show a partner, to
   hand an address to a taxi driver. Right now it prints 14 metres of dark
   backgrounds.
   ========================================================================= */

@media print{

  .elementor-location-header,
  .eos-mobile-cta,
  .eos-sound-btn,
  .elementor-sticky,
  .wl-layer,
  .elementor-widget-google_maps,
  .elementor-widget-video,
  video,
  .elementor-background-video-container,
  .swiper-button-next,
  .swiper-button-prev,
  .elementor-swiper-button,
  .elementor-widget-form{
    display: none !important;
  }

  body, .e-con, .elementor-element{
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
  }

  body{ padding-bottom: 0 !important; }

  .elementor-invisible{
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
  }

  a[href^="http"]::after{
    content: " (" attr(href) ")";
    font-size: 10px;
    color: #555;
    word-break: break-all;
  }
  a[href^="#"]::after{ content: ""; }

  .e-con{ page-break-inside: avoid; }

  body::before{
    content: "Villa Eos · Pollonia · Milos · Greece · eosmiloshouse@gmail.com";
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-size: 14pt;
    padding-bottom: 8pt;
    border-bottom: 1px solid #ccc;
    margin-bottom: 16pt;
  }
}/* End custom CSS */