/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/*
	- Zen Old Mincho Regular
	font-family: zen-old-mincho,sans-serif;
	font-weight: 400;
	font-style: normal;

	- Zen Old Mincho Bold
	font-family: zen-old-mincho,sans-serif;
	font-weight: 700;
	font-style: normal;

	- Marcellus
	font-family: 'Marcellus', serif;

*/

html,
body {
	font-family: zen-old-mincho,sans-serif;
}

.english {
	font-family: 'Marcellus', serif;	
}

span { font-size: 1.1rem; }

p {
	font-size: 1.1rem;	
	line-height: 1.9rem;
	font-weight: 400;
}

a, a:hover {
	color: #3e9659;
	text-decoration: none;
}

img {
	max-width: 100%; 
	height: auto;
}

.block-about { 
	padding: 120px 0;
}

header {
	padding: 12px 0 8px;
	position: fixed;
	width: 100%;
	z-index: 9999;
	background: rgba(62, 150, 89, 0);
	transition: linear background 0.6s;
}

@media screen and (min-width: 992px){

	header.scroll {
		background: rgba(62, 150, 89, 0.85);
		transition: linear background 0.6s;
	}

}

@media screen and (max-width: 991.98px){
	header {
		padding: 10px 0;
		background: rgba(62, 150, 89, 1);
	}	
}

.site-desktop-nav ul {
	padding: 0; 
	margin: 0;
}

.site-desktop-nav ul li { 
	list-style: none;
	display: inline-block;
}

.site-desktop-nav ul li a { 
	display: block;
	padding: 0 18px;
	height: 70px;
	line-height: 70px;
	color: #ffffff;
	text-decoration: none;
}


.site-desktop-nav ul li a:hover { 
	color: #ffffff;
}

@media screen and (min-width: 992px) and (max-width: 1199.98px) {
	.site-desktop-nav ul li a {
		font-size: 0.95rem;
		padding: 0 12px;
	}
}

header .logo img {
	max-height: 77px;
	height: auto;
}

@media screen and (max-width: 767px){
	header .logo img {
		max-width: 60px;
		max-height: 60px;
		height: auto;
	}
}

.site-desktop-nav { 
	display: flex;
	justify-content:flex-end;
	align-items: center; 
}

.site-menu-toggle {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.95);
	border-radius: 6px;
	color: #ffffff;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 5px;
	height: 58px;
	justify-content: center;
	padding: 0;
	width: 58px;
}

.site-menu-toggle:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

.site-menu-toggle__text {
	font-family: 'Marcellus', serif;
	font-size: 0.72rem;
	letter-spacing: 0;
	line-height: 1;
	text-transform: uppercase;
}

.site-menu-toggle__icon {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 24px;
}

.site-menu-toggle__icon span {
	background: #ffffff;
	display: block;
	height: 1px;
	transition: opacity 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.site-menu-toggle.is-open .site-menu-toggle__icon span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.site-menu-toggle.is-open .site-menu-toggle__icon span:nth-child(2) {
	opacity: 0;
}

.site-menu-toggle.is-open .site-menu-toggle__icon span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.site-mobile-nav {
	background: rgba(62, 150, 89, 0.98);
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	box-shadow: 0 18px 30px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
	display: block;
	left: 0;
	position: fixed;
	right: 0;
	top: var(--site-header-height, 82px);
	width: 100%;
	z-index: 9998;
}

.site-mobile-nav[hidden] {
	display: none;
}

.site-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 10px 0 16px;
	width: 100%;
}

.site-mobile-nav .site-mobile-nav__list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	display: block;
	margin: 0;
	width: 100%;
}

.site-mobile-nav .site-mobile-nav__list li:last-child {
	border-bottom: 0;
}

.site-mobile-nav .site-mobile-nav__list a {
	color: #ffffff;
	display: block;
	font-size: 1.28rem;
	height: auto;
	line-height: 1.45;
	padding: 15px 24px;
	text-decoration: none;
	width: 100%;
}

.site-mobile-nav .site-mobile-nav__list a:focus,
.site-mobile-nav .site-mobile-nav__list a:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.main-banner { 
	width: 100%; 
	height: 100vh;
	background-image: url('../img/main-banner.jpg');
	background-size: cover;
	background-position: center center; 
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.main-banner img { 
	max-width: 600px;
	height: auto;
}

.onoe-button {
	background: #3e9659;
	color: #ffffff;
	padding: 12px 30px;
	border-radius: 50px;
	text-decoration: none;
	transition: linear background 0.3s;

}

.onoe-button:hover {
	background: #000000;
	transition: linear background 0.3s;
	color: #ffffff;
}

.onoe-button__arrow { 
	position: relative;
	left: 0;
}

.onoe-button:hover .onoe-button__arrow { 
	left: 3px;
	transition: ease-in left 0.2s;
}


.block-bg-img {
	background-repeat: no-repeat; 
	background-size: cover;
	background-position: center center;
	width: 100%;
	min-height: 500px;
	display: flex;
	align-items: center; 
	justify-content: center; 
}

.block-bg-img p { 
	padding: 0; 
	margin: 0;
}

.block-bg-img-inner {
	background: #3e9659;
	color: #ffffff;
	width: 100%;
	min-height: 360px;
	display: flex;
	align-items:flex-end;  
	justify-content: center;
	padding-bottom: 100px;
}

.block-blog-list, .block-blog-single {
	margin-top: -100px;
	margin-bottom: 50px;
}

.block-blog-list .container, .block-blog-single .container.box-shadow {
	padding: 60px;
	background-color: #ffffff;
	box-shadow: 2px 2px 20px 0px #cccccc;
}

.block-blog-list .post-description h5 {
	font-family: zen-old-mincho,sans-serif !important;
}

.block-blog-list .post-description {
	font-family: zen-old-mincho,sans-serif !important;
}

.block-blog-list .post-description p {
	font-family: zen-old-mincho,sans-serif !important;
}

.block-news .post-description span:first-child {
	display: inline-block;
	padding-bottom: 10px;
}

.block-blog-single .post-content {
	font-size: 1.1rem;	
	line-height: 1.9rem;
	font-weight: 400;
}

.block-blog-single .post-content p {
	margin-bottom: 25px;
}

footer {
	background: #3e9659;
	color: #ffffff;
	padding: 50px 0;
}

footer address { 
	padding: 0;
	margin: 0;
}

footer a,
footer a:hover {
	color: #ffffff;
	text-decoration: none;
}

.carousel-control-prev-icon, .carousel-control-next-icon { 
	background: none;
}

.carousel-indicators [data-bs-target] {
	width: 0px;
	height: 0px;
	margin-left: 10px;
	border: solid 5px #000000;
	border-radius: 10px;
}

/* Magnific Popup Zoom Gallery */

.image-source-link {
	color: #98C3D1;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
	opacity: 0;
	-webkit-backface-visibility: hidden;
	/* ideally, transition speed should match zoom duration */
	-webkit-transition: all 0.3s ease-out; 
	-moz-transition: all 0.3s ease-out; 
	-o-transition: all 0.3s ease-out; 
	transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
		opacity: 1;
}
.mfp-with-zoom.mfp-ready.mfp-bg {
		opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container, 
.mfp-with-zoom.mfp-removing.mfp-bg {
	opacity: 0;
}

.bg-sauna {
	background-image: url('../img/bg4.jpg');
}

@media screen and (max-width: 767px) {
	.bg-sauna {
		background-image: url('../img/sauna-sm.jpg');
		background-position: center left; 
	}
}

/* =Images
-------------------------------------------------------------- */

/*
Resize images to fit the main content area.
- Applies only to images uploaded via WordPress by targeting size-* classes.
- Other images will be left alone. Use "size-auto" class to apply to other images.
*/
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img,
.widget-container img {
	max-width: 100%; /* When images are too wide for containing element, force them to fit. */
	height: auto; /* Override height to match resized width for correct aspect ratio. */
}
.alignleft,
img.alignleft {
	display: inline;
	float: left;
	margin-right: 24px;
	margin-top: 4px;
}
.alignright,
img.alignright {
	display: inline;
	float: right;
	margin-left: 24px;
	margin-top: 4px;
}
.aligncenter,
img.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.alignleft,
img.alignright,
img.aligncenter {
	margin-bottom: 12px;
}
.wp-caption {
	background: #ffffff;
	line-height: 18px;
	margin-bottom: 20px;
	max-width: 632px !important; /* prevent too-wide images from breaking layout */
	padding: 4px;
	text-align: center;
}
.wp-caption img {
	margin: 5px 5px 0;
	max-width: 622px; /* caption width - 10px */
}
.wp-caption p.wp-caption-text {
	color: #777;
	font-size: 12px;
	margin: 5px;
}
.wp-smiley {
	margin: 0;
}
.gallery {
	margin: 0 auto 18px;
}
.gallery .gallery-item {
	float: left;
	margin-top: 0;
	text-align: center;
	width: 33%;
}
.gallery-columns-2 .gallery-item {
	width: 50%;
}
.gallery-columns-4 .gallery-item {
	width: 25%;
}
.gallery img {
	border: 2px solid #cfcfcf;
}
.gallery-columns-2 .attachment-medium {
	max-width: 92%;
	height: auto;
}
.gallery-columns-4 .attachment-thumbnail {
	max-width: 84%;
	height: auto;
}
.gallery .gallery-caption {
	color: #777;
	font-size: 12px;
	margin: 0 0 12px;
}
.gallery dl {
	margin: 0;
}
.gallery img {
	border: 10px solid #f1f1f1;
}
.gallery br+br {
	display: none;
}
#content .attachment img {/* single attachment images should be centered */
	display: block;
	margin: 0 auto;
}

.gridWrapper img { border: solid 1px #dfdfdf; margin: 0 15px 15px 0; }

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background: #ffffff;
	clip: auto !important;
	clip-path: none;
	color: #3e9659;
	display: block;
	height: auto;
	left: 10px;
	padding: 10px 14px;
	top: 10px;
	width: auto;
	z-index: 10000;
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
