/*
WARNING: Avoid editing of NekoForge template files unless strictly necessary.
For more informations, please refer to the Developers' Handbook at https://www.nekoforge.it/developers/
Copyright (c) 2018-2020 StudioNeko All Rights Reserved.

Everything is preordained.
Even my responses.

NOTE: For your consideration, here's a quick list of pixel-em breakpoints structure
20em = 320px [minimum layout compatibility]
28em = 448px [landscape mobile starting breakpoint]
30em = 480px [landscape mobile common resolution ]
36em = 576px [portrait tablet starting breakpoint]
40em = 640px
48em = 768px [portrait tablet common resolution]
49em = 784px [landscape tablet starting breakpoint]
60em = 960px
64em = 1024px [landscape tablet common resolution]
65em = 1040px [laptop starting breakpoint]
80em = 1280px
81em = 1296px [desktop starting breakpoint]

/* ----------------------- Core CSS
WARNING: Core
Theme Path: /
Parent Path: none
Theme Name: NekoForge
Theme URI: https://www.nekoforge.it
Description: NekoForge framework. This theme contains all core dependencies used to develop and run NekoForge based templates.
Author: StudioNeko
Author URI: https://www.studioneko.com
Text Domain: nekoforge
Version: 1.5.3.0
*/

/* ----------------------- Global reset */
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small,
strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure,
footer, header, menu, nav, section, time, mark, audio, video, details, summary
{ margin: 0; padding: 0; border: 0; font-size: 100%; background-color: transparent }
article, aside, figure, footer, header, nav, section, details, summary
{ display: block }
object, embed { max-width: 100% }
ul, ol, dl { list-style: none }
blockquote, q { quotes: none }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none }

/* ----------------------- Global elements */
html, body {  }
html { box-sizing: border-box }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch; overflow-scrolling: touch }
*, *:before, *:after { box-sizing: inherit }

/* ----------------------- GLobal containers and columns */
#s-header, #s-content, #s-footer { z-index: 1; margin: 0 auto; clear: both }
.h-header, .h-content, .h-footer {  }

/* Columns and responsive structure */
.e-row { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap }
.e-col { position: relative; min-height: 1px; padding-left: 1rem; padding-right: 1rem }
/* NOTE: Mobile small [portrait] - From starting pixel to next column's specified width */
.ms-12, .ms-11, .ms-10, .ms-9, .ms-8, .ms-7, .ms-6, .ms-5, .ms-4, .ms-3, .ms-2, .ms-1,
/* NOTE: Mobile regular [landscape] - From 28em (448px) */
.mr-12, .mr-11, .mr-10, .mr-9, .mr-8, .mr-7, .mr-6, .mr-5, .mr-4, .mr-3, .mr-2, .mr-1,
/* NOTE: Tablet small [portrait] - From 36em (576px) */
.ts-12, .ts-11, .ts-10, .ts-9, .ts-8, .ts-7, .ts-6, .ts-5, .ts-4, .ts-3, .ts-2, .ts-1,
/* NOTE: Tablet regular [landscape] - From 49em (784px) */
.tr-12, .tr-11, .tr-10, .tr-9, .tr-8, .tr-7, .tr-6, .tr-5, .tr-4, .tr-3, .tr-2, .tr-1,
/* NOTE: Desktop small [laptop] - From 65em (1040px) */
.ds-12, .ds-11, .ds-10, .ds-9, .ds-8, .ds-7, .ds-6, .ds-5, .ds-4, .ds-3, .ds-2, .ds-1,
/* NOTE: Desktop regular [desktop] - From 81em (1296px) to infinity and beyond! */
.dr-12, .dr-11, .dr-10, .dr-9, .dr-8, .dr-7, .dr-6, .dr-5, .dr-4, .dr-3, .dr-2, .dr-1
{  }
.ms-12 { width: 100% } .ms-11 { width: 91.66665% } .ms-10 { width: 83.33332% } .ms-9 { width: 75% } .ms-8 { width: 66.66665% } .ms-7 { width: 58.33332% }
.ms-6 { width: 50% } .ms-5 { width: 41.66665% } .ms-4 { width: 33.33332% } .ms-3 { width: 25% } .ms-2 { width: 16.66665% } .ms-1 { width: 8.33332% }

@media (min-width: 28em) {
  .mr-12 { width: 100% } .mr-11 { width: 91.66665% } .mr-10 { width: 83.33332% } .mr-9 { width: 75% } .mr-8 { width: 66.66665% } .mr-7 { width: 58.33332% }
  .mr-6 { width: 50% } .mr-5 { width: 41.66665% } .mr-4 { width: 33.33332% } .mr-3 { width: 25% } .mr-2 { width: 16.66665% } .mr-1 { width: 8.33332% }
}

@media (min-width: 36em) {
  .ts-12 { width: 100% } .ts-11 { width: 91.66665% } .ts-10 { width: 83.33332% } .ts-9 { width: 75% } .ts-8 { width: 66.66665% } .ts-7 { width: 58.33332% }
  .ts-6 { width: 50% } .ts-5 { width: 41.66665% } .ts-4 { width: 33.33332% } .ts-3 { width: 25% } .ts-2 { width: 16.66665% } .ts-1 { width: 8.33332% }
}

@media (min-width: 49em) {
  .tr-12 { width: 100% } .tr-11 { width: 91.66665% } .tr-10 { width: 83.33332% } .tr-9 { width: 75% } .tr-8 { width: 66.66665% } .tr-7 { width: 58.33332% }
  .tr-6 { width: 50% } .tr-5 { width: 41.66665% } .tr-4 { width: 33.33332% } .tr-3 { width: 25% } .tr-2 { width: 16.66665% } .tr-1 { width: 8.33332% }
}

@media (min-width: 65em) {
  .ds-12 { width: 100% } .ds-11 { width: 91.66665% } .ds-10 { width: 83.33332% } .ds-9 { width: 75% } .ds-8 { width: 66.66665% } .ds-7 { width: 58.33332% }
  .ds-6 { width: 50% } .ds-5 { width: 41.66665% } .ds-4 { width: 33.33332% } .ds-3 { width: 25% } .ds-2 { width: 16.66665% } .ds-1 { width: 8.33332% }
}

@media (min-width: 81em) {
  .dr-12 { width: 100% } .dr-11 { width: 91.66665% } .dr-10 { width: 83.33332% } .dr-9 { width: 75% } .dr-8 { width: 66.66665% } .dr-7 { width: 58.33332% }
  .dr-6 { width: 50% } .dr-5 { width: 41.66665% } .dr-4 { width: 33.33332% } .dr-3 { width: 25% } .dr-2 { width: 16.66665% } .dr-1 { width: 8.33332% }
}

/* Clear */
.e-row, .a-clear { clear: both }

/* ----------------------- Global Variants */
/* Display */
.v-flex { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap }
.v-flex-middle { align-self: center; -webkit-align-self: center; margin: auto }
.v-inline { display: inline }
.v-block { display: block }
.v-inline-block { display: inline-block }
.v-none { display: none }
/* Fonts */
.v-uppercase { text-transform: uppercase }
.v-lowercase { text-transform: lowercase }
/* Position and floating */
.v-fixed { position: fixed; top: 0; left: 0 }
.v-sticky { position: sticky; top: 0 }
.v-absolute { position: absolute }
.v-relative { position: relative }
.v-static { position: static }
.v-float-left { float: left }
.v-float-right { float: right }
.v-float-none { float: none }
/* Widths and heights */
.v-maxheight-full { height: 100vh; min-height: 100vh }
.v-maxwidth-full { width: 100%; min-width: 100% }
.v-maxwidth-large { width: auto; max-width: 80rem } /* (1280px) Based on 1366x768 resolution (85.375rem) */
.v-maxwidth-medium { width: auto; max-width: 60rem } /* (960px) Based on 1024x768 resoluzion (64rem) */
.v-maxwidth-small { width: auto; max-width: 40rem } /* (640px) Based on 768x1024 resolution (48rem) */
/* Images */
.v-bg-cover { background-size: cover; background-position: center center; background-repeat: no-repeat }
.v-bg-parallax { background-attachment: fixed }
/* Cosmetic */
.v-shadow-soft { box-shadow: 0 0 2rem rgba(0,0,0,0.1) }
.v-shadow-medium { box-shadow: 0 0 2rem rgba(0,0,0,0.25) }
.v-shadow-strong { box-shadow: 0 0 2rem rgba(0,0,0,0.5) }
.v-shadow-material { box-shadow: 0.125rem 0.125rem 0.25rem rgba(0,0,0,0.15) }

/* ----------------------- Global Flickity! 2.2.1 */
.flickity-enabled { position: relative }
.flickity-enabled:focus { outline: none; }
.flickity-viewport {overflow: hidden; position: relative; height: 100%;}
.flickity-slider {position: absolute; width: 100%; height: 100%;}
/* draggable */
.flickity-enabled.is-draggable {-webkit-tap-highlight-color: transparent;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
.flickity-enabled.is-draggable .flickity-viewport {cursor: move;cursor: -webkit-grab;cursor: grab;}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {cursor: -webkit-grabbing;cursor: grabbing;}
/* flickity-button */
.flickity-button {position: absolute; background: hsla(0, 0%, 100%, 0.75);border: none;color: #333;}
.flickity-button:hover {background: white;cursor: pointer;}
.flickity-button:focus {outline: none; box-shadow: 0 0 0 0.25rem #19F;}
.flickity-button:active { opacity: 0.6 }
.flickity-button:disabled { opacity: 0.3; cursor: auto; pointer-events: none }
.flickity-button-icon { fill: currentColor }
/* previous/next buttons */
.flickity-prev-next-button {top: 50%; width: 3rem; height: 3rem; border-radius: 50%; transform: translateY(-50%) }
.flickity-prev-next-button.previous { left: 1rem }
.flickity-prev-next-button.next { right: 1rem }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {left: auto;right: 1rem }
.flickity-rtl .flickity-prev-next-button.next {right: auto;left: 1rem ;}
.flickity-prev-next-button .flickity-button-icon {position: absolute;left: 20%;top: 20%;width: 60%;height: 60%;}
/* page dots */
.flickity-page-dots {position: absolute;width: 100%; bottom: -1.5rem; padding: 0;margin: 0;list-style: none;text-align: center;line-height: 1;}
.flickity-rtl .flickity-page-dots { direction: rtl; }
.flickity-page-dots .dot {display: inline-block;width: 1rem; height: 1rem; margin: 0 0.5rem; background: #333; border-radius: 50%;
  opacity: 0.25; cursor: pointer;}
.flickity-page-dots .dot.is-selected {opacity: 1;}






/* ----------------------- Base template style */
/* ----------------------- Global style */
html, body {  }
body { padding-top: 4rem; font-size: 0.9rem; line-height: 1.864; background-color: #fff; color: #37474f }
/* NOTE: padding-top: Header height difference */
h1, h2, h3, h4, h5, h6 { font-size: 1.6rem; line-height: 1.24; margin-bottom: 0.5rem; font-weight: 400 }
p { margin-bottom: 1rem }
a { text-decoration: none; transition: color 0.3s, background-color 0.3s, border-color 0.3s, text-decoration 0.3s, opacity 0.3s }
a:hover { text-decoration: none }
li { list-style-type: none }
img { display: block }
/* Fonts */
body
{ font-family: 'Open Sans', sans-serif }
h1, h2, h3, h4, h5, h6
{ font-family: 'Alata', sans-serif }
a:before, .e-menu-trigger:before
{ font-family: 'Material Icons' }
/* Buttons */
.e-button-primary { display: inline-block; text-transform: uppercase; margin: 1rem auto 0; padding: 1rem 1.5rem; border-radius: 0.5rem;
  background-color: #00766c; color: #fff; font-weight: 600; letter-spacing: 1px; text-align: center; cursor: pointer }
.e-button-secondary { display: inline-block; text-transform: uppercase; margin: 1rem auto; padding: 1rem 1.5rem; border-radius: 0.5rem;
    border: 2px solid #00766c; color: #00766c; font-weight: 600; letter-spacing: 1px; text-align: center; cursor: pointer }
.e-button-inline { display: inline-block; margin: 1rem 1rem 0 0; padding-bottom: 0.25rem; cursor: pointer; border-bottom: 1px solid;
  text-transform: uppercase; letter-spacing: 1px; font-size: 0.8rem }
.e-icon { width: 4rem; height: 4rem; text-align: center; border: none }
.e-icon svg { width: 2rem; height: 2rem; margin: 1rem 0 0 }
/* Actions */
body.a-stop { overflow: hidden }
.a-overlay { z-index: 999; display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,10,18,0.7) }
/* Cosmetics */

@media (min-width: 36em) {
  body { font-size: 1rem }
  p {  }
}

@media (min-width: 49em) {
  h1, h2, h3, h4, h5, h6 { font-size: 2rem }
}

@media (min-width: 65em) {
  body.a-stop { overflow: auto }
}

/* ----------------------- Flickity! */
.flickity-button { top: auto; bottom: 0; width: 3rem; height: 3rem; border-radius: 0; background-color: #f5f5f5 }
.flickity-button .flickity-button-icon { width: 50%; height: 50%; top: 25%; left: 25% }
.flickity-button .flickity-button-icon path {  }
.flickity-button.previous { left: 50%; transform: translateX(-120%) }
.flickity-button.next { right: 50%; transform: translateX(120%) }
.flickity-page-dots { z-index: 1; position: static; height: 1rem; margin: 1rem auto 0; overflow: hidden }
.flickity-page-dots .dot { width: 1rem; height: 1rem; margin: 0 0.5rem; border: 1px solid #111; background-color: transparent; opacity: 1 }
.flickity-page-dots .dot.is-selected { background-color: #111 }
/* Fade */
.flickity-enabled.is-fade .flickity-slider > * { pointer-events: none; z-index: 0 }
.flickity-enabled.is-fade .flickity-slider > .is-selected { pointer-events: auto; z-index: 1 }
/* Fullscreen */
html.is-flickity-fullscreen { overflow: hidden }
.flickity-enabled.is-fullscreen { z-index: 999; position: fixed; left: 0; top: 0; width: 100%; height: 100%; padding-bottom: 5rem; background: hsla(0, 0%, 0%, 0.9) }
.flickity-enabled.is-fullscreen .flickity-page-dots { bottom: 1rem }
.flickity-enabled.is-fullscreen .flickity-page-dots .dot { background: white }
/* Fullscreen buttons */
.flickity-fullscreen-button { left: 50%; transform: translateX(-50%) }
.flickity-enabled.is-fullscreen .flickity-button { bottom: 1rem }
.flickity-enabled.is-fullscreen .flickity-fullscreen-button {  }
.flickity-fullscreen-button-exit { display: none; }
.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit { display: block; }
.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view { display: none; }
/* Variants */
.v-disable-arrows .flickity-prev-next-button { display: none }
.v-disable-arrows .h-list.v-slider { padding-bottom: 0 }
.v-disable-dots .flickity-page-dots { display: none }

@media (min-width: 49em) {
  .flickity-page-dots { margin-top: 2rem }
}

/* ----------------------- Header */
#s-header { z-index: 100; position: fixed; top: 0; left: 0; width: 100%; background-color: #fff }
.h-header { z-index: 100; position: relative; height: 4rem; margin: 0 auto }
/* Content */
.e-header { z-index: 102; position: relative; width: 100%; height: 100%; background-color: #fff }
/* Triggers */
.e-menu-trigger { z-index: 102; position: absolute; top: 0; width: 4rem; height: 100%;
  overflow: hidden; line-height: 4rem; font-size: 0.9rem; cursor: pointer; font-weight: bold }
.e-menu-trigger:before { position: absolute; top: 0; width: 4rem; height: 4rem;
  background-color: #111; color: #fff; font-size: 1.2rem; text-align: center; font-weight: normal }
.e-menu-trigger.v-menu { left: 0; padding-left: 4rem }
.e-menu-trigger.v-menu:before { content: 'menu'; left: 0 }
.e-menu-trigger.v-menu.a-show:before { content: 'close' }
.e-menu-trigger.v-contact { padding-right: 4rem; right: 0 }
.e-menu-trigger.v-contact:before { content: 'sms'; right: 0 }
/* Logo */
.h-logo { z-index: 101; display: inline-block; position: relative; left: 50%; height: 100%; max-width: calc(100% - 150px);
  font-size: 0; transform: translateX(-50%) }
.e-logo { display: -webkit-flex; display: -ms-flexbox; display: flex; height: 100% }
.e-logo img { width: auto; height: auto; max-width: 100%; max-height: 100%; margin: auto }
/* Menu */
.e-menu { z-index: 101; overflow: hidden; position: fixed; top: 0; left: 0; width: 100%; height: 100%; border-top: 4rem solid #fff;
  background-color: #fff; transition: width 0.3s, left 0.3s; box-shadow: 0 0 2rem rgba(0,0,0,0.25); transform: translateX(-120%) }
.e-menu.a-show { left: 0; overflow: auto; transform: translateX(0%); transition: transform 0.3s }
.e-menu-in { padding: 1rem 1rem 80px; min-width: 100% }
.e-menu-in ul {  }
.e-menu-in ul li {  }
.e-menu-in ul li a { display: block; position: relative; font-size: 1rem; margin-bottom: 1rem; font-weight: 600; color: #111 }
.e-menu-in ul li a:hover {  }
.e-menu-in ul.sub-menu li a { position: relative; font-weight: 400; font-size: 0.9rem; margin-left: 1rem }

@media (min-width: 36em) {
  /* Triggers */
  .e-menu-trigger.v-menu { padding-left: 5rem; overflow: unset }
  .e-menu-trigger.v-contact { width: auto; padding-right: 5rem; overflow: unset }
  /* Menu */
  .e-menu { max-width: 50% }
}

@media (min-width: 65em) {
  .v-menu-desktop .h-header { display: -webkit-flex; display: -ms-flexbox; display: flex;
    -webkit-justify-content: space-between; justify-content: space-between }
  /* Content: desktop variant */
  .v-menu-desktop .e-header { position: static; width: auto }
  /* Triggers: desktop variant */
  .v-menu-desktop .e-menu-trigger { display: none }
  /* Logo: desktop variant */
  .v-menu-desktop .h-logo { left: 0; transform: none; max-width: 100% }
  /* Menu: desktop variant */
  .v-menu-desktop .e-menu { position: static; width: auto; max-width: 100%; height: 4rem;
    transform: translateX(0%); border: none; overflow: visible; box-shadow: none }
  .v-menu-desktop .e-menu .e-menu-in { padding: 0; height: 100% }
  .v-menu-desktop .e-menu .e-menu-in ul { height: 100%; font-size: 0 }
  .v-menu-desktop .e-menu .e-menu-in ul li { position: relative; display: inline-block; height: 100%; font-size: 0 }
  .v-menu-desktop .e-menu .e-menu-in ul li.menu-item-has-children { cursor: pointer }
  .v-menu-desktop .e-menu .e-menu-in ul li a { position: relative; top: 50%; padding: 0 1rem; margin: 0; transform: translateY(-50%); font-size: 1rem }
  .v-menu-desktop .e-menu .e-menu-in ul li.menu-item-has-children a { padding-left: 2rem }
  .v-menu-desktop .e-menu .e-menu-in ul li.menu-item-has-children a:before
  { position: absolute; top: 50%; left: 10px; height: 1rem; width: 1rem; line-height: 1rem; transform: translateY(-40%); content: 'expand_more';
    font-weight: 400; text-transform: none }
  .v-menu-desktop .e-menu .e-menu-in ul li ul.sub-menu { display: none; position: absolute; top: 100%; right: 0; height: auto; width: auto; min-width: 100%;
    padding: 0.5rem 0; background-color: #111; color: #fff }
  .v-menu-desktop .e-menu .e-menu-in ul li ul.sub-menu li { display: block }
  .v-menu-desktop .e-menu .e-menu-in ul li ul.sub-menu li a { position: static; padding: 0.5rem 1rem; transform: none; color: #fff;
    font-size: 0.9rem; font-weight: 600; white-space: nowrap }
  .v-menu-desktop .e-menu .e-menu-in ul li ul.sub-menu li a:before { content: ''; display: none }
  .v-menu-desktop .e-menu .e-menu-in ul li.menu-item-has-children:hover ul.sub-menu { display: block }
  /* Menu: center variant */
  .v-menu-desktop .e-menu.v-centered {  }
  .v-menu-desktop .e-menu.v-centered .e-menu-in ul { text-align: center }
}

/* ----------------------- Default block */
.v-default img { margin-bottom: 1rem; width: auto; height: auto; max-width: 100% }

@media (min-width: 36em) {
  .v-default img { margin-bottom: 2rem }
  .v-default img.aligncenter { margin-left: auto; margin-right: auto }
}

@media (min-width: 49em) {
  .v-default img.alignleft { float: left; max-width: 50%; margin-right: 2rem }
  .v-default img.alignright { float: right; max-width: 50%; margin-left: 2rem }
}

/* ----------------------- Hero block [ACF] */
/* NOTE: tpr/content/content-hero-acf.php */
.h-hero { position: relative }
.h-hero.v-fit { align-content: center; -webkit-align-content: center; -ms-align-content: center;
  min-height: calc(100vh - 4rem) }
/* NOTE: min-height: Header height difference */
.h-hero.v-background-full { background-color: #111; color: #fff }
/* Image */
.h-hero-image { z-index: 1; position: absolute; left: 0; bottom: 0; height: 15rem; width: 100% }
.v-background-full .h-hero-image { height: 100%; opacity: 0.6 }
.v-background-top .h-hero-image { top: 0; bottom: auto }
/* Content */
.h-hero-content { z-index: 2; padding: 3rem 2rem; margin: 0 auto 15rem }
.h-hero-content p { font-size: 1rem }
.v-text .h-hero-content { margin: 0 auto }
.v-background-full .h-hero-content { margin: 0 auto }
.v-background-top .h-hero-content { margin: 15rem auto 0 }
/* Buttons */
.h-hero-content .e-button-primary, .h-hero-content .e-button-secondary { margin-right: 1rem; margin-bottom: 0 }
.v-background-full .h-hero-content .e-button-secondary { border-color: #fff; color: #fff }
/* Scroll target. NOTE: must equal header height minimum */
#e-scroll-hero { height: 4rem }

@media (min-width: 36em) {
  .h-hero.v-background-full { min-height: 30rem }
  /* Image */
  .h-hero-image { height: 22rem }
  .v-background-top .h-hero-image { height: 22rem; left: 0 }
  /* Content */
  .h-hero-content { margin: 0 auto 22rem }
  .v-background-top .h-hero-content { margin: 22rem auto 0 }
}

@media (min-width: 49em) {
  /* Image */
  .h-hero-image { height: 100%; top: 0; bottom: auto }
  .v-background-full .h-hero-image { left: 0 }
  .v-background-left .h-hero-image { width: 50% }
  .v-background-right .h-hero-image { width: 50%; right: 0; left: auto }
  /* Content */
  .h-hero-content { margin: 0 auto }
  .h-hero-content p { font-size: 1.1rem }
  .v-background-left .h-hero-content { width: 50%; margin-left: 50% }
  .v-background-right .h-hero-content { width: 50%; margin-right: 50% }
  /* Scroll target */
  #e-scroll-hero { height: 4rem }
}

@media (min-width: 65em) {
  /* Image */
  .v-background-top .h-hero-image { height: 26rem }
  .v-background-top.v-fit .h-hero-image { height: 50vh }
  /* Content */
  .h-hero-content p {  }
  .v-background-top .h-hero-content { margin: 50vh auto 0 }
}

/* ----------------------- Content blocks [ACF] */
/* NOTE: tpr/content/content-blocks-acf.php */
.h-block { position: relative; padding-top: 1rem; margin: 0 auto 2rem }
.e-block { position: relative; margin: 0 auto }
.v-list-cta { text-align: center }
.v-list-cta .e-button-primary {  }

@media (min-width: 49em) {
  .h-block { margin-bottom: 3rem }
}

/* ----------------------- Free content block [ACF] */
/* NOTE: tpr/content/content-blocks-acf-free.php */
.v-default { margin: 3rem auto 2rem }

/* ----------------------- Image block [ACF] */
/* NOTE: tpr/content/content-blocks-acf-image.php */
.v-image { z-index: 1 }
.v-image .e-image { padding: 0 }
.v-image .e-image.v-bg-cover { height: 15rem; width: 100% }
.v-image .e-image img { width: auto; height: auto; max-width: 100%; margin-left: auto; margin-right: auto }
.v-image .e-content { padding-top: 1rem; padding-bottom: 1rem; margin: auto 0 }
.v-image .e-content p:last-child { margin-bottom: 0 }
.v-image .e-button-primary { margin: 0 }
.v-image.v-full .e-block { background-color: #111; color: #fff }
.v-image.v-full .e-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.6 }
.v-image.v-full .e-content { padding: 2rem; text-align: center; max-width: 50rem; margin: 0 auto }

@media (min-width: 49em) {
  .v-image .e-content { z-index: 2; padding: 2rem }
  .v-image .e-image.v-bg-cover { height: auto; min-height: 20rem }
  .v-image.v-left .e-image { position: absolute; top: 0; left: 0; width: 50%; height: 100% }
  .v-image.v-left .e-content { width: 50%; margin-left: 50% }
  .v-image.v-left.v-static .e-image { position: static; height: auto }
  .v-image.v-left.v-static .e-content { margin-left: 0 }
  .v-image.v-center {  }
  .v-image.v-center .e-content { text-align: center; margin: 0 auto; padding-top: 1rem }
  .v-image.v-center .e-content p { max-width: 50rem }
  .v-image.v-right .e-image { position: absolute; top: 0; right: 0; width: 50%; height: 100% }
  .v-image.v-right .e-content { width: 50%; text-align: right }
  .v-image.v-right.v-static .e-image { position: static; height: auto; order: 2 }
  .v-image.v-full .e-content { padding: 4rem }
  .v-image.v-background .e-block { min-height: 20rem }
}

/* ----------------------- List block [ACF] */
/* NOTE: tpr/content/content-blocks-acf-list.php */
.v-list-details { text-align: center }
.h-list { justify-content: center; -webkit-justify-content: center; text-align: center }
.e-list { position: relative; padding: 0 1rem 1rem }
.e-list-in { margin-left: auto; margin-right: auto; min-height: 100% }
.e-list .e-image { z-index: 1 }
.e-list img { width: auto; height: auto; max-width: 100%; margin: 0 auto }
.e-list svg { display: block; width: auto; height: auto; max-width: 8rem; margin: 0 auto 1rem }
.e-list .e-content { position: relative; z-index: 2; max-width: 50rem; padding: 1rem 0; margin: 0 auto }
.e-list h3 { font-size: 1.2rem }
.e-list p { margin: 0 auto }
.e-list .e-button-inline { margin: 0.5rem 0 0 }
.v-background .e-list { background-color: #111; color: #fff; text-align: center; min-height: 100%; padding: 1rem 2rem }
.v-background .e-list .e-button-inline { color: #fff; border-color: #fff }
.v-background .e-list .e-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.4; transition: opacity 0.3s }
.v-background .e-list:hover .e-image { opacity: 0.6 }
.v-background .e-list .e-content { padding: 3rem 0 }
.h-list.v-slider { padding-bottom: 4rem }
.v-slider .e-list {  }
/* Reviews */
.e-review-value { font-size: 1.2rem; font-weight: 600; margin: 0 auto 8px }
.e-review-star { margin-bottom: 8px }
.e-review-star-value { display: inline-block; font-size: 32px; line-height: 32px; margin: 0 4px }
.v-review .e-list { padding-bottom: 0 }
.v-review .e-list img { max-height: 9.5rem }
.v-review .e-content p { margin: 0 auto; font-style: italic }

@media (min-width: 65em) {
  .v-list-details { padding-bottom: 1rem }
  .e-list h3 { font-size: 1.3rem }
}

@media (min-width: 81em) {
  .e-list {  }
}


/* ----------------------- Footer */
