/*
Theme Name: WQE Salon
Theme URI: https://wqe-salon.jp
Author: Me
Author URI:
Description: Rebuild of the initial site
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0
License: Proprietary
License URI:
Text Domain:
Tags:
*/


/* generated 2026-02-26T13:23:28+09:00 */


/**********
 * file: 0-variables.css
 *
 */

:root {
  --orange: #eeaa3e;
  --blue  : #548cbe;
  --orange-lite: rgba(238, 170, 62, 0.24);
  --blue-lite: #a7d6ff;
  --green: #84c9be;
  --green-lite: #89c562;
  --yellow: #efeda0;
  --yellow-lite: #fef9de;
  }



/**********
 * file: 1-reset.css
 *
 */


body, div, span,
h1, h2, h3, h4, h5, h6, p,
a,
em, img,
small, strike, sub, sup,
/* b, u, i, */
ol, ul, li,
form, label, legend,
table, tbody, tfoot, thead, tr, th, td {
  background-color           : transparent;
  background-repeat          : no-repeat;
  border                     : none;
  font-size                  : 12pt;
  font-weight                : 300;
  margin                     : 0;
  outline                    : 0;
  padding                    : 0;
  vertical-align             : baseline;
  -webkit-backface-visibility: hidden;
  -webkit-font-smoothing     : subpixel-antialiased;
}

input, textarea, keygen, select, button {
  font-family: Lato, sans-serif;
  font-weight: 300;
  }

body { line-height: 1.2; }
b { font-weight: 300; }
u { text-decoration: none; }
ol, ul { list-style: none; }

img { vertical-align: bottom; background-color: transparent; }
iframe { background-color: transparent; border: none; }
/* remember to define focus styles! */
:focus { outline: 0; }

a { text-decoration: none; }

a img { border: none; }



/**********
 * file: 2-fonts.css
 *
 */

body, input, textarea {
  font-family: "HG丸ｺﾞｼｯｸM-PRO",
  "HGMaruGothicMPRO",
  "ヒラギノ丸ゴ Pro W4",
  "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro";

  font-weight: 500;
  font-size: 12pt;
  -webkit-font-smoothing: antialiased;
  }



/**********
 * file: calendar.css
 *
 */

sub-section .calendar { position: relative; }


div.calendar-wrap {
  width: 100%;
  overflow: auto;
}
.calendar-slider {
  /* set width inline based on number of calendars */
  display: flex;
}

table.calendar {
  border-collapse: separate;
  border-spacing: 5px;
  margin: 0 20px 20px 0;
  min-height: 400px;
}

.post_content table.calendar:last-child {
  /* main css override */
  margin: 0 20px 20px 0;

}

.calendar thead {}
.calendar thead th {
  background-color: transparent;
  border: none;
  line-height: 1;
}
.calendar thead .calendar-year th {
  text-align: left;
  padding: 0 24px;
}
.calendar thead .calendar-month th {
  text-align: left;
  font-size: 32pt;
  padding: 0 30px;
}
.calendar thead .calendar-month th:first-child {
  display: none;
}
.calendar thead .calendar-month th:last-child {
  display: none;
}
.calendar thead .days-of-week th {}
.calendar thead .days-of-week th:first-child { color: red; }
.calendar thead .days-of-week th:last-child  { color: blue; }

.calendar thead .days-of-week th b {}
.calendar tbody td {
  border: none;
  padding: 8px 5px;
  text-align: center;
}

/* keeps slipping into the process. Suspect wpautop */
.calendar th br { display: none; }


.calendar tbody td b {}

.calendar tbody td.no-date {}
.calendar tbody td.weekday { background-color: white;  }
.calendar tbody td.weekend { background-color: #84bbe0; }
.calendar tbody td.special { background-color: green; }
.calendar tbody td.closed {  background-color: #ff7c7c; }
.calendar tbody td.past-date { opacity: 0.5; }

.calendar-legend {
  display: flex;
  justify-content: space-evenly;
}
.calendar-legend p {}
.calendar-legend b {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  border-radius: 2px;
  vertical-align: sub;
}
.calendar-legend i {
  font-style: normal;
  padding-left: 0.2em;
}

.calendar-legend .weekday { background-color: white; }
.calendar-legend .weekend { background-color: #84bbe0; }
.calendar-legend .closed  { background-color: #ff7c7c; }


@media screen and ( max-width: 690px ) {
  .calendar-legend { display: block; }
  .calendar-legend p { margin: 0 0 1em 4em; }
  table.calendar { width: calc(100vw - 40px) !important; }
}

.calendar-controls {
  position: absolute;
  right: 3em;
  z-index: 10;
  }

.calendar-controls p {
  margin: 0;
  line-height: 1;
  height: 50px;
  }

.calendar-controls button {
  background-repeat: no-repeat;
  background-size  : contain;
  cursor           : pointer;
  background-color : transparent;
  border           : none;
  display          : inline-block;
  height           : 50px;
  width            : 50px;
  }

.calendar-controls button.calendar-scroll-left {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZpZXdwb3J0PSIwIDAgMTAwIDEwMCI+ICAgICAgICA8Y2lyY2xlIGZpbGw9IndoaXRlIiBzdHJva2U9IiM1NDhjYmUiIHN0cm9rZS13aWR0aD0iNSIgY3g9IjUwIiBjeT0iNTAiIHI9IjQ1Ij48L2NpcmNsZT4gICAgICAgIDxwYXRoICAgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzU0OGNiZSIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNzAsMzAgTDI1LDUwIEw3MCw3MCI+PC9wYXRoPiAgICAgIDwvc3ZnPg==");
  }

.calendar-controls button.calendar-scroll-right {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZpZXdwb3J0PSIwIDAgMTAwIDEwMCI+ICAgICAgICA8Y2lyY2xlIGZpbGw9IndoaXRlIiBzdHJva2U9IiM1NDhjYmUiIHN0cm9rZS13aWR0aD0iNSIgY3g9IjUwIiBjeT0iNTAiIHI9IjQ1Ij48L2NpcmNsZT4gICAgICAgIDxwYXRoICAgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzU0OGNiZSIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMzAsMzAgTDc1LDUwIEwzMCw3MCI+PC9wYXRoPiAgICAgIDwvc3ZnPg==");
  }



/**********
 * file: contact-form.css
 *
 */

/* table */
section table { margin:0 0 2em 0; width:100% !important; }
section td, section th { border:1px solid #ddd; padding:15px 30px 13px; line-height:2.2; background:#fff; -webkit-box-sizing:border-box; box-sizing:border-box; }
section th { background:#f7f7f7; font-weight:normal; }
/* table style */
section table.table_no_border th, section table.table_no_border td { border:none; padding-left:0; }
section table.table_border_serumtal th, section table.table_border_serumtal td { border-left:none; border-right:none; padding-left:0; }


/* コンタクトデザイン */
.wpcf7-exclusive-checkbox label{
  float:left;
}
.cont-d b{
  background:#88c7b8;
  color:#fff;
  padding:1px 2px;
  border: 0;
  margin:0 2% 0 0;
}
.cont-d table {
  border-collapse: collapse;
}

.cont-d p {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
  line-height: 1;
}

.cont-d input[type="submit"], .cont-d input[type="text"],.cont-d select, .cont-d textarea,.cont-d  button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
 -webkit-box-shadow: none;
    -moz-box-shadow: none;
        box-shadow: none;
  outline: none;
  border: none;
}
.cont-d  input[type="text"],.cont-d  textarea {
  background: #f8f8f8;
  display: block;
  font-size: 16px;
  padding: 5px 7px;
  width: 100%;
  transition: 0.8s;
  border-radius: 0;
}
.cont-d input[type="text"]:focus,.cont-d textarea:focus {
  background: #e9f5fb;
 -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.cont-d textarea[name="content"] {
  display: inline-block;
  width: 100%;
  height: 200px;
}
.cont-d input::placeholder,.cont-d  textarea::placeholder {
  color: #ccc;
}

::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}

::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

.contact-01 {
  width: 100%;
}

.contact-01 th,
.contact-01 td {
  border-top: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  padding: 10px;
}
.contact-01 tr:nth-child(odd){
  background-color: #ccc;
}
.contact-01 th {
  padding-left: 50px;
  position: relative;
  text-align: left;
  width: 30%;
}


/* ----------------------------------------------------------------------
 Contactform - お問い合わせフォーム
100%:100%; margin:0 0 2.5em !important; padding:0; border:1px solid #ddd; background:#fafafa; font-size:14px; }
.wpcf7 form { margin:1.5em 1.5em 0; }
.wpcf7 p { margin-bottom:1em; font-size:16px; }
.wpcf7 input, .wpcf7 textarea { -webkit-box-sizing:border-box; box-sizing:border-box; width:100%; padding:8px; border:1px solid #ccc; line-height:1.2; }
.wpcf7 select, .wpcf7 input[type=checkbox], .wpcf7 input[type=radio] { width:auto; max-width:97%; padding:8px; border:1px solid #ccc; }
.wpcf7 select, .wpcf7 .wpcf7-list-item-label { font-size:14px; line-height:1.2; }
.wpcf7 .wpcf7-list-item { display:block; }
.wpcf7 textarea { height:300px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #bbb; outline:none; }
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous { -webkit-transition:all .3s; -webkit-box-sizing:border-box; box-sizing:border-box; display:block; position:relative; width:225px; height:48px; margin:30px auto 0; border:none !important; outline:none; background-color:#333333; color:#fff; font-size:14px; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; transition:all .3s; }
.wpcf7 .wpcf7-submit:before, .wpcf7 .wpcf7-submit:after { -webkit-box-sizing:border-box; box-sizing:border-box; }
.wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover { background-color:#666666; }
.wpcf7 .wpcf7-submit .wpcf7-not-valid { background:pink; }
.wpcf7 .wpcf7-submit .wpcf7-response-output { -webkit-border-radius:4px; -moz-border-radius:4px; margin:10px 0 0; padding:8px 35px 8px 14px; border-radius:4px; }
.wpcf7 .wpcf7-submit .wpcf7-validation-errors { border:1px solid #EED3D7; background-color:#F2DEDE; color:#B94A48; }
.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok { border:1px solid #BCE8F1; background-color:#D9EDF7; color:#3A87AD; }
.wpcf7 .wpcf7-previous + br { display: none; }
.wpcf7 form .wpcf7-response-output{ margin: 2em 0.5em 2em; padding:0; border: none; text-align:center; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output{ color:#dc3232; font-size: 1em; }



/**********
 * file: content-shortcodes.css
 *
 */


.big-button {
  display        : inline-block;
  height         : 50px;
  line-height    : 50px;
  padding        : 0 80px 0 50px;
  position       : relative;
  text-decoration: underline;
  vertical-align : middle;
  border-radius  : 25px;
  transition     : background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
  width          : fit-content;
 }


.big-button::after {
  background-color: white;
  border          : 3px solid;
  border-radius   : 25px;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  content         : " ";
  display         : block;
  height          : 50px;
  position        : absolute;
  right           : 0;
  top             : 0;
  width           : 50px;

  }

.big-button.orange {
  color: #7c6552 ;
  background-color: #eeaa3e;
  }

.big-button.blue {
  color          : white;
  background-color: #548cbe;
  }

.big-button.green {
  color          : black;
  background-color: #84c9be;
  }

.big-button.blue::after {
  border-color: #a7d6ff;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPiAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM1NDhjYmUiIHN0cm9rZS13aWR0aD0iNSIgZD0iTTMwLDMwIEw3NSw1MCBMMzAsNzAiPjwvcGF0aD4gIDwvc3ZnPg==");
  }

.big-button.orange::after {
  border-color: #ffe1b4;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPiAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNlZWFhM2UiIHN0cm9rZS13aWR0aD0iNSIgZD0iTTMwLDMwIEw3NSw1MCBMMzAsNzAiPjwvcGF0aD4gIDwvc3ZnPg==");
  }

.big-button.green::after {
  border-color: #367c70;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPiAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4NGM5YmUiIHN0cm9rZS13aWR0aD0iNSIgZD0iTTMwLDMwIEw3NSw1MCBMMzAsNzAiPjwvcGF0aD4gIDwvc3ZnPg==");
  }

.big-button.orange:hover {
  background-color: #a7d6ff;
 }

.big-button.blue:hover {
  background-color: var(--orange-lite);
  color: black;
 }

.big-button.green:hover {
  opacity: 0.6;
  }

.big-box {
  border       : 5px solid;
  margin-bottom: 2em;
  padding      : 2em;
  }

.big-box::after {
  content: "";
  clear: both;
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  }

.big-box .big-box:last-of-type {
  margin-bottom: 0;
  }


.big-box.orange { border-color: #eeaa3e; }
.big-box.blue { border-color: #548cbe; }
.big-box.green { border-color: #8dc556; }

/* fix the big space */
.big-box p { margin-bottom: 0.5em; }
.big-box p:last-child { margin-bottom: 0; }

.round-box {
  background-color: rgba(238, 170, 62, 0.24);
  border-radius   : 20px;
  margin          : 2em 0;
  padding         : 2em;
  border          : 1px solid black;
  }

.round-box::after {
  content: "";
  clear: both;
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  }

h3.counter {
  font-size       : 26px;
  background-color: transparent;
  border-bottom   : none;
  border-right    : none;
  border-left     : 2px solid black;
  border-top      : none;
  color           : #000000;
  font-weight     : 600;
  padding    : 1em;
  text-align      : left;
  }

h3.counter i {
  font-style: normal;
  margin-right: 1em;
  }

h3.counter i:empty { display: none; }


.image-captioned {
  height       : fit-content;
  margin-bottom: 80px;
  position     : relative;
  width        : 100%;
  }

.image-captioned img {
  display: block;
  width  : 100%;
  }

.image-captioned b {
  background-color: white;
  bottom          : 0;
  display         : block;
  font-size       : 14pt;
  font-weight     : bold;
  left            : 50%;
  padding         : 0.8em 1.4em;
  position        : absolute;
  transform       : translate(-50%, 0);
  white-space     : pre;
  }



/**********
 * file: content-text.css
 *
 */


h1, h2 {
  font-size  : 24pt;
  font-weight: 600;
  line-height: 1.5;
  text-align : center;
  }


h1 {
  margin-bottom: 3em;
  margin-top   : 120px;
  color        : black;
 }

h1::first-letter  {
  background-color: #eeaa3e;
  border-radius   : 50%;
  color           : white;
  font-size       : 1.5em !important;
  letter-spacing  : 0.1em;
  padding         : 0.42em 0.4em 0.4em 0.5em;
  position        : relative;
  top             : 5px;
  }

h2 {
  color        : #eeaa3e;
  margin-bottom: 1.2em;
  margin-top   : 2em;
  }

h3 {
  color: green;

  font-size    : 22pt;
  font-weight  : bold;
  margin-bottom: 0.5em;
  text-align   : center;
  }

h4 {
  font-size    : 14pt;
  font-weight  : bold;
  margin-bottom: 0.5em;
  text-align   : center;
  }

iframe {
  background-position: center;
  background-repeat  : no-repeat;
  background-size    : cover;
  min-height         : 600px;
  width              : 100%;
  }

p {
  margin     : 0 0 2em 0;
  line-height: 2.4;
  }

a {
  color: #eeaa3e;
  text-decoration: underline;
  }

.yellow a,
a:hover {
  color: #548cbe;
  }

p.framed {
  border     : 1px solid #ddd;
  line-height: 2.4;
  padding    : 1.3em 2em;
  }


.post-row {
  display: flex;
  width  : 100%;
  gap    : 20px;
  }


.post-row > div {
}

.post-row img {
  max-width: 100%;
}


.post-row.two-across  > div { flex: 1 1 50%; }
.post-row.two-across  > p   { flex: 1 1 50%; gap: 20px; }
.post-row.four-across > div { flex: 1 1 25%; }
.post-row.four-across > p   { flex: 1 1 25%; gap: 20px; }




/**********
 * file: effects.css
 *
 */

/* all motion, and parts to enable that motion, is here */

header {
  position                 : absolute;
  top                      : 0;
  }

.page-scrolled header { /* header down */
  animation-direction      : normal;
  animation-duration       : 0.8s;
  animation-name           : open_header_animation;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
  position: fixed;
  }

.page-semiscrolled header { /* header going up */
  animation-direction      : normal;
  animation-duration       : 0.8s;
  animation-name           : close_header_animation;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
  position: fixed;
  }

header .menu-item.logo a { /* pageload */
  animation-name: fadein;
  animation-duration: 2.5s;
  animation-direction: normal;
  animation-delay: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}



/**********
 * file: empty.css
 *
 */




/**********
 * file: fadeshow.css
 *
 */

div.fadeshow {
  height  : fit-content;
  overflow: hidden;
  position: relative;
  z-index: 50;
  }

.fadeshow > div {
  left      : 0;
  opacity   : 0;
  position  : absolute;
  top       : 0;
  transition-property: opacity;
  transition-duration: 0s;
  transition-delay: 1s;
  width     : 100%;
  z-index   : 5;
  }

.fadeshow > div:first-child {
  position: relative;
  z-index : 10;
  }

.fadeshow h1 {
  color    : white;
  left     : 50%;
  margin   : 0;
  position : absolute;
  top      : 50%;
  transform: translate(-50%, 100%);
  opacity: 0;
  transition-property: transform, opacity;
  transition-duration: 0s;
  transition-delay: 1s;
  white-space: pre;
  }

.fadeshow .current h1 {
  transform: translate(-50%, 0);
  opacity: 1;
  transition-duration: 2.5s;
  transition-delay: 0.3s;
  transition-timing-function: ease-out;
  }

.fadeshow p {
  margin: 0;
  }

.fadeshow img {
  height: auto;
  width : 100%;
  transform: scale(1.2);
  transition-property: transform;
  transition-duration: 0s;
  transition-delay: 1s;
  }

.fadeshow .current img {
  transform: scale(1);
  transition-duration: 2.5s;
  transition-timing-function: ease-out;
  transition-delay: 0s;
 }

.fadeshow div.current {
  z-index: 15;
  opacity: 1;
  transition: opacity 1s ease;

}

.fadeshow-lights {
  text-align: center;
  margin: 0;
  }

.fadeshow-lights b {
  border-radius: 6px;
  border       : 1px solid #eeaa3e;
 -webkit-box-sizing: content-box;
   -moz-box-sizing: content-box;
       box-sizing: content-box;
  display      : inline-block;
  height       : 10px;
  margin       : 0 5px;
  transition   : background-color 0.3s ease;
  width        : 10px;
  }

.fadeshow-lights b.current {
  background-color: #eeaa3e;
  }



/**********
 * file: footer-menu.css
 *
 */

footer a {
  color     : black;
  display   : block;
  font-size : 85%;
  text-decoration: none;
  transition: color 0.1s;
  }

footer a:hover,
footer a:active,
footer .current-menu-item a {  color: #c68216; }

/* decoration on the top row */

.menu-footer-hours-container .access a {
  background-image   : url(images/icon-marker.svg);
  background-size    : 16px;
  }

.menu-footer-hours-container .calendar a {
  background-image   : url(images/icon-calendar.svg);
  background-size    : 22px;
  }

.menu-footer-hours-container .tel a {
  background-image   : url(images/icon-tel.svg);
  background-size    : 16px;
  }

footer  address a,
footer .copyright {
  border-top: 1px solid #ddd;
  font-size : 10pt;
  font-style: normal;
  padding   : 20px;
  text-align: center;
  }

footer  address   p { font-size: 10pt; }
footer .copyright p { font-size: 9pt; }



/**********
 * file: front-page.css
 *
 */

/* specials for the front page */

sub-section.yellow {
  background-color: #efeda0;
}

sub-section h1 {
  margin: 40px 0 60px;
  }

.front-page .news {}

.front-page div.news > div {
  padding-bottom: 1.5em;
  border-bottom : 1px solid #eeaa3e;
  margin-bottom : 1.5em;
  }

.front-page .news h3 {
  margin-bottom: 10px;
  font-size    : 18px;
  line-height  : 1.6;
  position     : relative;
  text-align   : left;
  padding-right: 40px;
  }

.front-page .news h3::before {
  background         : transparent;
  border             : 6px solid #eeaa3e;
  border-bottom-color: transparent;
  border-left-color  : transparent;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  content            : '';
  display            : block;
  height             : 25px;
  position           : absolute;
  right              : 13px;
  top                : 10px;
  transform          : rotate(45deg);
  width              : 25px;
  z-index            : 2;
  }

.front-page .news h3 a {
  color          : black;
  text-decoration: none;
  font-size      : 18px;
  font-weight    : bold;
  }

.front-page p.time {
  font-size: 14px;
  color: #999;
  margin-bottom: 0;
  }

.front-page .news p {

}

.really-big-button {
  background-color: #a7d6ff;
  border-radius   : 72px;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  height          : 152px;
  margin          : 0 auto;
  padding         : 0;
  padding-left    : 190px;
  position        : relative;
  text-align      : center;
  width           : 440px;
  }

.really-big-button::before {
  background-color   : white;
  background-position: center;
  background-repeat  : no-repeat;
  border-radius      : 160px;
  content            : "";
  display            : block;
  height             : 140px;
  left               : 6px;
  position           : absolute;
  top                : 6px;
  width              : 140px;
  }

.really-big-button a:first-child {
  color          : white;
  position       : absolute;
  text-decoration: none;
  }

.really-big-button .big-button {
  bottom  : -15px;
  position: absolute;
  right   : 0;
  }

.really-big-button.calculator a:first-child {
  font-size: 42pt;
  left     : 220px;
  top      : 32px;
  }

.really-big-button.person a:first-child {
  font-size: 32pt;
  left     : 160px;
  top      : 45px;
  }
.really-big-button.calculator::before {
  background-image   : url(images/big-button-calculator.png);
  background-position: center;
  background-repeat  : no-repeat;
  background-size    : 80%;
  }

.really-big-button.person::before {
  background-image: url(images/big-button-person.png);
  background-size: 80%;
}





/**********
 * file: header-.css
 *
 */

header,
.mobile-header,
.menu-sidebar-container {
  background-color: white;
  }

header {
  z-index: 100;
  width: 100%;
  }



/**********
 * file: header-menu.css
 *
 */

.menu-main-top-menu-container ul.menu li > a {
  color          : #000;
  display        : block;
  text-decoration: none;
  text-overflow  : ellipsis;
  white-space    : nowrap;
  }

.menu-main-top-menu-container ul.menu > li > a:hover,
.menu-main-top-menu-container ul.menu > li.current-menu-parent > a,
.menu-main-top-menu-container ul.menu > li.current-menu-item > a {
  color: #eeaa3e;
  }




/**********
 * file: header-search.css
 *
 */

form.search {
  background-color: #f3f3f3;
  }

form.search input {
  background-color: transparent;
  border          : none;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  display         : block;
  flex            : 1 1 auto;
  width           : auto;
  }

form.search label {
  background-image   : url(images/icon-search.svg);
  background-position: center;
  background-repeat  : no-repeat;
  background-size    : 15px;
  display            : block;
  filter             : brightness(0); /* makes it grayscale */
  flex               : none;
  }

form.search input[type="submit"] { display: none; }



/**********
 * file: main-content-container.css
 *
 */

section {
  padding     : 0 30px 30px;
  position    : relative;
  margin      : 80px auto 80px;
  min-height  : 100vh;
  max-width   : 930px;
  }


section.front-page {
  max-width: none;
  margin   : 50px 50px;
  }

section.front-page sub-section {
  display: block;
  margin : 0 auto;
  padding: 40px;
  }

section.front-page sub-section:first-child {
  padding-top: 0;
  }



section::after,
section.front-page sub-section::after {
content: "";
  clear: both;
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  }



/**********
 * file: media-state.css
 *
 */

/* read by js or the brakpoints */
/* html element is hardcoded in the footer */

#media-indicator {
  width: 0;
  height: 0;
  visibility: hidden;
}



/**********
 * file: misc.css
 *
 */

.accordion-content {
  display: none;

  padding   : 1em 0em 0;
  border-top: 2px solid var(--orange-lite);
  margin    : 1.5em 2.5em;
  }

.accordion-content::after {
  content: "";
  clear: both;
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  }

.contact-box {
  border-radius  : 20px;
  border         : 8px solid #84c9be;
  display        : flex;
  flex-direction : column;
  justify-content: space-between;
  padding        : 20px;
  }

.contact-box p.tel {
  line-height  : 1;
  margin-bottom: 0;
  position     : relative;
  text-align   : center;
  }

.contact-box p.tel a {
  display        : inline-block;
  font-size      : 26pt;
  margin-left    : 0.6em;
  text-decoration: none;
  }

.contact-box p.tel a::before {
  background-image   : url(images/tel.png);
  background-position: center;
  background-repeat  : no-repeat;
  background-size    : contain;
  content            : "";
  display            : block;
  height             : 60px;
  left               : 0;
  position           : absolute;
  top                : 0;
  width              : 60px;
  }

.contact-box p.sub-tel {
  margin-bottom: 0.2em;
  text-align   : center;
  }

.contact-box hr {
  border: 3px solid #c4c4c4;
  width : 100%;
  }

.contact-box address {
  font-size    : 15pt;
  font-style   : normal;
  line-height  : 1.6;
  margin-bottom: 0.4em;
  text-align   : center;
  }

.contact-box p.train{
  font-size    : 24pt;
  line-height  : 1;
  margin-bottom: 0;
  text-align   : center;
  }

.hours-box {
  background-color: #84c9be;
  border          : 3px solid #84c9be;
  border-radius   : 20px;
  font-weight     : bold;
  padding         : 20px;
  position        : relative;
  }

.hours-box::before {
  border-radius: 15px;
  border       : 2px solid white;
  content      : "";
  display      : block;
  height       : calc( 100% - 14px );
  left         : 5px;
  position     : absolute;
  top          : 5px;
  width        : calc( 100% - 14px );
  z-index      : 0;
  }

.hours-box p {
  letter-spacing: 1.5px;
  line-height   : 1.6;
  margin-bottom : 0.1em;
  text-align    : center;
  }

.hours-box hr { border: 3px solid #c4c4c4; }

.hours-box .post-row {
  gap: 0 !important;
  }

.hours-box .post-row > div {
  flex-shrink: 0;
  }

.hours-box .post-row div:first-of-type p {
  background-color: #1e9ffb;
  margin          : 0 auto;
  padding         : 0 25px;
  width           : fit-content;
  }

.price-box {
  align-content: stretch;
  align-items  : center;
  border       : 3px solid;
  border-radius: 18pt;
  display      : flex;
  font-size    : 18pt;
  line-height  : 1;
  margin-bottom: 1em;
  overflow     : hidden;
  }

.price-box.blue {
  background-color: #548cbe;
  border-color    : #548cbe;
  color           : white;
  }

.price-box.orange {
  background-color: #eeaa3e;
  border-color    : #eeaa3e;
  }

.price-box i {
  flex      : 1 1 auto;
  font-style: normal;
  padding   : 0.5em 0 0.5em 2.5em;
  }

.price-box b {
  align-items     : center;
  align-self      : stretch;
  background-color: white;
  color           : black;
  display         : block;
  display         : flex;
  flex            : none;
  line-height     : 100%;
  padding         : 0 0.5em;
  text-align      : center;
  width           : 6em;
  }

.price-box s {
  text-decoration: none;
  width: 100%;
}

.spacer {
  background-color: transparent;
  clear           : both;
  display         : block;
  flex            : none;
  visibility      : hidden;
  width           : 100%;
  }

.spacer.large { height: 120px; }
.spacer.medium { height: 75px; }
.spacer.small { height: 25px; }

.pencil-line {
/* add your own background-color */
  width: 8px;
  height: 150px;
  mask-image : url(images/mask-pencil-line.png);
  mask-mode  : alpha;
  mask-repeat: repeat;
  mask-size  : 8px;
  }

.pencil-line.orange { background-color: #eeaa3e; }
.pencil-line.yellow { background-color: #efeda0; }
.pencil-line.green  { background-color: #84c9be; }
.pencil-line.gray   { background-color: #ddd; }


.big-caption  {
  margin-bottom: 2em;
  margin-top   : 2em;
  position     : relative;
  }

.big-caption img { width: 100%; }

.big-caption div {
  background-color: #fef9de;
  bottom          : 0;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  left            : 50%;
  padding         : 2.5em;
  position        : absolute;
  transform       : translate(-50%, 50%);
  width: 80%;
  }

.big-caption div::before  {
  background-color: transparent;
  border          : 1px solid #84c9be;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  content         : '';
  display         : block;
  height          : calc( 100% - 12px );
  left            : 6px;
  position        : absolute;
  top             : 6px;
  width           : calc( 100% - 12px );
  z-index         : 5;
  }


.big-caption h3 {
  border-bottom: 1px solid #89c562;
  line-height  : 1.6;
  text-align   : left;
  }

.big-caption p {
  margin-bottom: 0;
}



/**********
 * file: page-specials.css
 *
 */

.page-privacy-policy ol {
  list-style   : decimal outside none;
  margin-bottom: 2em;
  padding-left : 1.5em;
  }

.page-privacy-policy ul {
  list-style: disc outside none;
  }

.page-privacy-policy li {
  line-height  : 2.2;
  margin-bottom: 0;
  }


.page-contact .post-row {
  gap: 45px;
  }



section.front-page sub-section.reservation {
  padding-top: 5em;
  }

.reservation-block { position: relative; }

.reservation-title::after {
  content:'';
  width: 30px;
  height: 30px;
  display: block;
  border: 15px solid #f17200;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0) rotate(45deg) skew(24deg, 24deg);
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  bottom: -15px;
  border-left-color: transparent;
  border-top-color: transparent;
}

.reservation-title {
  background-color: #f17200;
  border-radius   : 8px;
  color           : white;
  font-size       : 48pt;
  line-height     : 1.8;
  margin          : 0 auto 1.0em;
  padding         : 0 30px;
  position        : relative;
  text-align      : center;
  width           : fit-content;
  }

.reservation-big-text {
  font-size    : 30pt;
  line-height  : 1.2;
  margin-bottom: 0.8em;
  text-align   : center;
  }

.reservation-big-text span {
  color    : #f17200;
  font-size: 1.3em;
  }


.reservation-block .pencil-lines {
}

.reservation-block .pencil-line {
  bottom  : 0;
  margin  : 0;
  position: absolute;
  }

.reservation-block .pencil-line:nth-of-type(1) {
  background-color: red;
  bottom          : 10px;
  height          : 60px;
  left            : 10px;
  transform       : rotate(-40deg);
  }

.reservation-block .pencil-line:nth-of-type(2) {
  background-color: #eeaa3e;
  height          : 120px;
  left            : 45px;
  transform       : rotate(-25deg);
  }

.reservation-block .pencil-line:nth-of-type(3) {
  background-color: #eeaa3e;
  height          : 120px;
  right           : 45px;
  transform       : rotate(25deg);
  }

.reservation-block .pencil-line:nth-of-type(4) {
  background-color: red;
  bottom          : 10px;
  height          : 60px;
  right           : 10px;
  transform       : rotate(40deg);
  }


.page-list-of-related-products {}

.page-list-of-related-products sub-section {
  background-color: #fef9de;
  display: block;
  padding: 1em 4em;
 }

.page-list-of-related-products sub-section h3 {}

.page-list-of-related-products sub-section .post-row {
  border-bottom: 1px solid #89c562;
  align-items: center;
  margin-bottom: 2em;
  padding-bottom: 0.5em;
 }

.page-list-of-related-products sub-section .post-row h3 {
  color: #89c562;
  font-size: 22pt;
  text-align: left;
 }

.page-list-of-related-products sub-section .post-row p {
  font-size: 18pt;
  margin-bottom: 0;
  line-height: 1.8;
}




/**********
 * file: side-menu.css
 *
 */

.menu-sidebar-container {
  border-left: 1px solid #ddd;
  }

#menu-sidebar li a  {
  background-position: center 18px;
  background-size    : 22px;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  color              : #eeaa3e;
  display            : block;
  font-size          : 10pt;
  font-weight        : 500;
  height             : 80px;
  padding-top        : 48px;
  text-align         : center;
  transition         : opacity 0.3s ease;
  width              : 80px;
  }

#menu-sidebar li a:hover { opacity: 0.7; }

#menu-sidebar li.reservation a {
  background-image: url(images/icon-clock.svg);
  }

#menu-sidebar li.access a  {
  background-image: url(images/icon-marker.svg);
  background-size: 16px;
  background-position: center 12pt;
  }

#menu-sidebar li.contact a  {
  background-image: url(images/icon-mail.svg);
  font-size: 70%;
  }

#menu-sidebar li.instagram a  {
  background-image: url(images/icon-instagram.svg);

  }

#menu-sidebar li.twitter a  {
  background-image: url(images/icon-twitter.svg);

  }




/**********
 * file: wordpress-default.css
 *
 */

.entry-content img {
  margin: 0 0 1.5em 0;
  }
.align-left, img.align-left,
.alignleft, img.alignleft {
  margin-right: 1.5em;
  float: left;
  }

.align-right, img.align-right,
.alignright, img.alignright {
  margin-left: 1.5em;
  float: right;
  max-width: 40%;
  }

.align-center, img.align-center,
.aligncenter, img.aligncenter {
  margin-right: auto;
  margin-left: auto;
  display: block;
  clear: both;
  }

.align-none, img.align-none,
.alignnone, img.alignnone {
  /* not sure about this one */
  }

.wp-caption {
  margin-bottom: 1.5em;
  text-align: center;
  padding-top: 5px;
  }
.wp-caption img {
  border: 0 none;
  padding: 0;
  margin: 0;
  }
.wp-caption p.wp-caption-text {
  line-height: 1.5;
  font-size: 10px;
  margin: 0;
  }
.wp-smiley {
  margin: 0 !important;
  max-height: 1em;
  }
blockquote.left {
  margin-right: 20px;
  text-align: right;
  margin-left: 0;
  width: 33%;
  float: left;
  }
blockquote.right {
  margin-left: 20px;
  text-align: left;
  margin-right: 0;
  width: 33%;
  float: right;
  }


/* WP now inserts width= on images wether you want it or not */

img { width: auto; height: auto; }



/* === begin @media === */

@media (min-width:1200px) {

/**********
 * file: media 10 (min-width=1200px)/effect-animations.css
 *
 */

/* all @keyframes */

@keyframes open_header_animation {
    0% { transform: translate3d(0,-100%,0); }
  100% { transform: translate3d(0,0,0); }
}

@keyframes close_header_animation {
    0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(0,-100%,0); }
}


@keyframes fadein {
    0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes fadeout {
    0% { opacity: 1; }
  100% { opacity: 0; }
}



/**********
 * file: media 10 (min-width=1200px)/empty.css
 *
 */




/**********
 * file: media 10 (min-width=1200px)/footer-.css
 *
 */

footer {
  border-right: 1px solid #ddd;
  width       : calc(100% - 80px - 80px);
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  margin      : 0 80px;
  }




/**********
 * file: media 10 (min-width=1200px)/footer-menu.css
 *
 */

/* basic setup */

footer .menu {
}
footer .menu li {
}

/* top row */

footer .menu-footer-hours-container {
  border-bottom: 1px solid #ddd;
  }

footer .menu-footer-hours-container ul {
  display: flex;
  }

footer .menu-footer-hours-container li {
  border-left: 1px solid #ddd;
  padding    : 0 10px;
  width      : 25%;
  }

footer .menu-footer-hours-container li:first-child {
  border-left: 1px solid transparent;
  }

footer .menu-footer-hours-container a {
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  height     : 75px;
  line-height: 1.4;
  text-align : center;
  }


.menu-footer-hours-container .access a {
  background-position: top center;
  padding-top        : 32px;
  }

.menu-footer-hours-container .calendar a {
  background-position: top center;
  padding-top        : 32px;
  }

.menu-footer-hours-container .tel a {
  background-position: top center;
  padding-top        : 32px;
  }



/* lower "row", three boxes */

.menus-lower-row {
  display: flex;
  }

.menus-lower-row > div {
  width: 25%;
  }

.menus-lower-row .icon-box {
  background-image   : url(images/logo-color-text.png);
  background-size    : 50%;
  background-position: center;
  }

.menus-lower-row ul {
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  border-left: 1px solid #ddd;
  height     : 100%;
  padding-top: 50px;
  }

.menus-lower-row li {
  padding: 0;
  }

.menus-lower-row li a {
  line-height: 1.5;
  padding    : 20px 0 10px 30px;
  }

footer .menu:not(#menu-footer-hours)  {}

menu-footer-1-container {}

menu-footer-2-container {}

menu-footer-3-container {}





/**********
 * file: media 10 (min-width=1200px)/header-.css
 *
 */

.mobile-header { display: none;  }



/**********
 * file: media 10 (min-width=1200px)/header-menu.css
 *
 */

/* menu containers */
.menu-main-top-menu-container {
  border-bottom   : 1px solid #ddd;
  }

.menu-main-top-menu-container ul.menu  {
  display      : flex;
  height       : 80px;
  padding-right: 80px;
  }

.menu-main-top-menu-container ul.menu > li {
  flex: 1 1 auto;
  height: 80px;
  }

.menu-main-top-menu-container ul.menu > li > a {
  height         : 80px;
  line-height    : 80px;
  padding        : 0 12px;
  position       : relative;
  transition     : color 0.3s ease;
  }

/* sub-menu looks and works different, details are lower down */


/* specials for the logo */

.menu-main-top-menu-container ul.menu li.logo {
  background-color: white;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  flex            : none;
  height          : 190px;
  padding         : 20px 0 0 20px;
  width           : 210px;
  z-index         : 100;
  }


.menu-main-top-menu-container ul.menu li.logo a {
  background-image: url(images/logo-color-text.png);
  background-size: contain;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  height         : 0;
  overflow       : hidden;
  padding-top    : 170px;
  width          : 170px;
  }


/* and the on-off actions */

.page-semiscrolled .menu-main-top-menu-container ul.menu li.logo,
.page-scrolled .menu-main-top-menu-container ul.menu li.logo {
  height : 80px;
  padding: 0;
  width  : 80px;
  }


.page-semiscrolled .menu-main-top-menu-container ul.menu li.logo a,
.page-scrolled .menu-main-top-menu-container ul.menu li.logo a {
  background-color   : #eeaa3e;
  background-image   : url(images/logo-white.png);
  background-position: center;
  background-size    : 60%;
  padding-top        : 80px;
  width              : 80px;
  }

/* we just take over the first menu item here */

.page-semiscrolled .menu-main-top-menu-container ul.menu > li.logo + li,
.page-scrolled .menu-main-top-menu-container ul.menu > li.logo + li {
  flex: none;
  width: 250px;
  }

.page-semiscrolled .menu-main-top-menu-container ul.menu > li.logo + li a,
.page-scrolled .menu-main-top-menu-container ul.menu > li.logo + li a {
  height             : 0;
  background-image   : url(images/logo-text.png);
  background-position: center;
  background-size    : 180px;
  overflow           : hidden;
  padding-top        : 80px;
  width              : 200px;
  }


/* show/hide parts for the main menu */
/* jquery does the show/hide for now */
.menu-main-top-menu-container ul.sub-menu  {
  display: none;

  background-color: #f3f3f3;
  border-radius   : 0 0 5px 5px;
  margin          : 0;
  overflow        : hidden;
  padding         : 20px 0 0;
  position        : absolute;
  top             : 80px;
  width           : 250px;
  z-index         : 100;
  }

.menu-main-top-menu-container ul.sub-menu li {
  height: auto;
  }

.menu-main-top-menu-container ul.menu .sub-menu li a {
  color      : black;
  display    : block;
  line-height: 1.4;
  padding    : 15px 20px;
  transition : background-color 0.3s ease;
  white-space: normal;
  }

.menu-main-top-menu-container ul.menu .sub-menu li a,
.menu-main-top-menu-container ul.menu .sub-menu li span {
  font-size: 12pt;
  }

.menu-main-top-menu-container ul.menu .sub-menu li a:hover,
.menu-main-top-menu-container ul.menu .sub-menu li.current-menu-item a {
  background-color:rgba(238,170,62,0.25);
  }

.menu-main-top-menu-container ul.menu .sub-menu li a span {
  display    : block;
  white-space: pre;
  }




/**********
 * file: media 10 (min-width=1200px)/header-search.css
 *
 */

/* search is before menu in the html */

#header-search {
  position  : absolute;
  right     : 0;
  top       : 0;
  z-index: 100;
  }

#header-search.search-active {
  width: 40%;
  }

#header-search-icon {
  background-image   : url(images/icon-search.svg);
  background-position: center;
  background-repeat  : no-repeat;
  background-size    : 20px;
  cursor             : pointer;
  filter             : brightness(0); /* makes it grayscale */
  height             : 60px;
  position           : absolute;
  right              : 10px;
  top                : 10px;
  transition         : filter 0.3s ease;
  width              : 60px;
  }

#header-search.search-active #header-search-icon {
  background-image   : url(images/icon-close.svg);
  }

#header-search-icon:hover {
  filter: brightness(1);
  }

.form-container {
  overflow  : hidden;
  width     : 0;
  position  : absolute;
  right     : 80px;
  top       : 22px;
  transition: width 0.4s ease;
  }

.search-active .form-container {
  width: 350px;
  }


form.search {
  border-radius   : 20px;
  display         : flex;
  padding         : 6px 15px;
  width           : 100%;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  }



form.search input {
  height    : 26px;
  }

form.search label {
  background-size    : 15px;
  height             : 26px;
  width              : 20px;
  }




/**********
 * file: media 10 (min-width=1200px)/media-state.css
 *
 */

#media-indicator:before { content: 'desktop'; }



/**********
 * file: media 10 (min-width=1200px)/side-menu.css
 *
 */

.menu-sidebar-container {
  height  : 100%;
  position: fixed;
  right   : 0;
  top     : 80px;
  }


#menu-sidebar li a  {
  border-bottom: 1px solid #ddd;
  }

#menu-sidebar li.top a {
  background-color: #eeaa3e;
  color           : white;
  padding-top     : 34px;
  text-transform  : uppercase;
  }



/**********
 * file: media 10 (min-width=1200px)/tagline.css
 *
 */

/* left side just stays there */

#tagline {
  align-items    : center;
  border-right   : 1px solid #ddd;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  display        : flex;
  flex-wrap      : wrap;
  height         : 100vh;
  justify-content: center;
  left           : 0;
  position       : fixed;
  top            : 0px;
  width          : 80px;
  }

#tagline h2 {
  color: black;
  display     : inline-block;
  font-size   : 16px;
  font-weight : 500;
  position    : relative;
  text-align  : left;
  writing-mode: vertical-rl;
  }



/**********
 * file: media 10 (min-width=1200px)/wordpress-default.css
 *
 */

img.size-medium { max-width: 40%; }

}

@media (max-width:1199px) {

/**********
 * file: media 20 (max-width=1199px)/empty.css
 *
 */




/**********
 * file: media 20 (max-width=1199px)/footer-.css
 *
 */

footer { width: 100%; }

footer p { margin-bottom: 0; }



/**********
 * file: media 20 (max-width=1199px)/footer-menu.css
 *
 */

footer .menu-footer-hours-container {
  border-top: 1px solid #ddd;
  }

footer .menu-footer-hours-container li {
  border-bottom: 1px solid #ddd;
  }

footer .menu-footer-hours-container br {
  display: none;
  }

footer .menu-footer-hours-container a {
  align-items: center;
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  display    : flex;
  height     : 75px;
  line-height: 1.4;
  margin     : 0 auto;
  padding    : 20px 0;
  text-align : center;
  width      : fit-content;
  }

footer .menu-footer-hours-container .current-menu-item a {
  color: black;
  }

.menu-footer-hours-container .access a {
  background-position: left center;
  padding-left        : 32px;
  }

.menu-footer-hours-container .calendar a {
  background-position: left center;
  padding-left        : 32px;
  }

.menu-footer-hours-container .tel a {
  background-position: left center;
  padding-left        : 32px;
  }

/* lower "row", three boxes */

.menus-lower-row {
  display: flex;
  }

.menus-lower-row > div { width: 33%; }

.menus-lower-row .icon-box { display: none; }

.menus-lower-row ul {
 -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
       box-sizing: border-box;
  border-left: 1px solid #ddd;
  height     : 100%;
  padding-top: 50px;
  }

.menus-lower-row li {
  padding: 0;
  }

.menus-lower-row li a {
  line-height: 1.5;
  padding    : 20px 0 10px 30px;
  }



/**********
 * file: media 20 (max-width=1199px)/header-.css
 *
 */

.mobile-header {
  display: block;
  }

header {
  display: none;
  position: fixed;
  height    : calc( 100vh - 60px );
  margin-top: 60px;
  overflow-x: hidden;
  overflow-y: auto;
  }



/**********
 * file: media 20 (max-width=1199px)/header-menu.css
 *
 */

/* menu containers */
.menu-main-top-menu-container {
  margin-bottom: 70px;
}

.menu-main-top-menu-container ul.menu  {
}

.menu-main-top-menu-container ul.menu > li {
  position: relative;
  border-bottom  : 1px solid #ddd;
}

.menu-main-top-menu-container ul.menu li > a {
  font-size      : 14px;
  height         : 50px;
  line-height    : 50px;
  margin         : 0px;
  overflow       : hidden;
  padding        : 0px 50px 0px 20px;
  }



/* sub-menu looks and works different, details are lower down */


/* specials for the logo */

.menu-main-top-menu-container ul.menu li.logo { display: none; }

.menu-item-has-children:before {
  background-color: #000;
  content         : "";
  display         : block;
  height          : 12px;
  position        : absolute;
  right           : 30px;
  top             : 20px;
  transition      : background-color 0.25s;
  width           : 2px;
  }

.menu-item-has-children:after {
  background-color: #000;
  display   : block;
  height    : 2px;
  position  : absolute;
  right     : 25px;
  top       : 25px;
  transition: background-color 0.25s;
  width     : 12px;
  content   : "";
  }

/* show/hide parts for the main menu */
/* jquery does the show/hide for now */
.menu-main-top-menu-container ul.sub-menu  {
  background-color: #efeda0;
  display         : none;
  }

.menu-main-top-menu-container ul.sub-menu li {
  padding-left: 1.5em;
  }

.menu-main-top-menu-container ul.menu .sub-menu li a {
  }

.menu-main-top-menu-container ul.menu .sub-menu li a,
.menu-main-top-menu-container ul.menu .sub-menu li span {
  font-size: 14px;
  }

.menu-main-top-menu-container ul.menu .sub-menu li a:hover,
.menu-main-top-menu-container ul.menu .sub-menu li.current-menu-item a {
  }

.menu-main-top-menu-container ul.menu .sub-menu li a span {
  }



/**********
 * file: media 20 (max-width=1199px)/header-mobile.css
 *
 */

/* the always-on bar with the logo and burger button */
/* actual menus are elsewhere */

.mobile-header {
  border-bottom: 1px solid #ddd;
  height       : 60px;
  left         : 0;
  position     : fixed;
  top          : 0;
  width        : 100%;
  z-index      : 200;
  }

.mobile-header ul {
  display: flex;
  }

.mobile-header li {
  flex: none;
  }

.mobile-header li a {
  transition      : opacity 0.3s ease;
  display         : block;
  height          : 60px;
  }

.mobile-header li a:hover {
  opacity: 0.6;
  }

.mobile-header li:nth-child(1) a {
  padding-top        : 60px;
  background-color   : #eeaa3e;
  background-image   : url(images/logo-white.png);
  background-position: center;
  background-size    : 50%;
  height             : 0;
  overflow           : hidden;
  width              : 60px;
  }

.mobile-header li:nth-child(2) a {
  background-image   : url(images/logo-text.png);
  background-position: center;
  background-size    : 150px;
  height             : 0;
  overflow           : hidden;
  padding-top        : 60px;
  width              : 185px;
  }

.mobile-header .spacer {
  flex:  1 1 auto;
  }

.mobile-header .burger {
  position        : relative;
  width           : 60px;
  }

.mobile-header .burger span {
  background-color: black;
  display         : block;
  height          : 2px;
  left            : 20px;
  position        : absolute;
  width           : 21px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  }

.mobile-header .burger span:nth-child(1) {
  transform-origin: top left;
  top             : 23px;
  }

.mobile-header .burger span:nth-child(2) { top: 30px; }

.mobile-header .burger span:nth-child(3) {
  top             : 37px;
  transform-origin: bottom left;
  }

.mobile-header.menu-open  .burger span:nth-child(1) { transform: rotate(45deg); }

.mobile-header.menu-open  .burger span:nth-child(2) { opacity: 0; }

.mobile-header.menu-open  .burger span:nth-child(3) { transform: rotate(-45deg); }



/**********
 * file: media 20 (max-width=1199px)/header-search.css
 *
 */

/* search is before menu in the html */

#header-search { height: 50px; }

#header-search-icon { display: none; }

.form-container { height: 100%; }

form.search {
  align-items     : center;
  display         : flex;
  height          : 100%;
  justify-content : space-between;
  }



form.search input {
  font-size       : 16pt;
  padding         : 6px 20px;
  }

form.search label {
  background-size         : 20px;
  height                  : 60px;
  width                   : 60px;
  }



/**********
 * file: media 20 (max-width=1199px)/main-content-container.css
 *
 */

section {
  margin: 60px 0 0;
  border-right: none;
}
section.front-page {
  margin   : 30px 0;
  padding: 0;
  }



/**********
 * file: media 20 (max-width=1199px)/media-state.css
 *
 */

#media-indicator:before { content: 'mobile'; }



/**********
 * file: media 20 (max-width=1199px)/page-specials.css
 *
 */


.reservation-block .pencil-lines { display: none; }

section.page-list-of-related-products { padding: 0; }



/**********
 * file: media 20 (max-width=1199px)/side-menu.css
 *
 */

.menu-sidebar-container {
  border-bottom: 1px solid rgb(221, 221, 221);
 }

#menu-sidebar {
  display        : flex;
  flex-wrap      : wrap;
  justify-content: space-around;
  }

#menu-sidebar li.top { display: none; }

#menu-sidebar li a  {
  border-bottom      : none;
  }




/**********
 * file: media 20 (max-width=1199px)/tagline.css
 *
 */

#tagline { display: none; }

}

@media (max-width:1000px) {

/**********
 * file: media 30 (max-width=1000px)/front-page.css
 *
 */

.two-buttons .post-row { display: block; }
.two-buttons .post-row > div { max-width: none; }
.two-buttons .spacer   { display: none; }

.really-big-button {
  margin-bottom: 60px;
  max-width: 100%;
   }

}

@media (max-width:830px) {

/**********
 * file: media 40 (max-width=830px)/contact-form.css
 *
 */

.wpcf7 form { margin: 0; }

.contact-01 th { padding-left: 10px; }

.cont-d p { text-align: left; }




/**********
 * file: media 40 (max-width=830px)/content-shortcodes.css
 *
 */

.image-captioned b {
  padding  : 0.8em 1.4em;
  font-size: 12pt;
  }



/**********
 * file: media 40 (max-width=830px)/content-text.css
 *
 */


.post-row {
  display: block;
  width  : 100%;
  gap    : 20px;
  }


.post-row > div {
  max-width: 80%;
  margin: 0 auto 1em;
}

.post-row .post-row {
 display: flex;
 }



/**********
 * file: media 40 (max-width=830px)/empty.css
 *
 */




/**********
 * file: media 40 (max-width=830px)/footer-menu.css
 *
 */


/* lower "row", three boxes */

.menus-lower-row {
  display: block;
  padding-top: 30px;
  }

.menus-lower-row > div {
  width: 100%;
  }

.menus-lower-row ul {
  height     : auto;
  padding    : 0;
  border-left: none;
  }

.menus-lower-row li {
  padding: 0;
  text-align: center;
  }

.menus-lower-row li a {
  padding: 10px 0;
  }



/**********
 * file: media 40 (max-width=830px)/main-content-container.css
 *
 */

section.front-page sub-section { padding: 15px; }



/**********
 * file: media 40 (max-width=830px)/misc.css
 *
 */

.price-box i {
  font-size   : 12pt;
  padding-left: 0.5em;
  }

.spacer.large { height: 80px; }
.spacer.medium { height: 50px; }
.spacer.small { height: 25px; }



/**********
 * file: media 40 (max-width=830px)/page-specials.css
 *
 */

.reservation .post-row { display: block; }

.fp-gallery .post-row { display: flex; }

.fp-gallery .four-across { flex-wrap: wrap; }
.fp-gallery .post-row.four-across > p { flex: 1 1 40%; }

.two-buttons .post-row { display: block; }
.two-buttons .post-row > div { margin-bottom: 60px; }



/**********
 * file: media 40 (max-width=830px)/wordpress-default.css
 *
 */

.entry-content img {
  margin: 0 0 1.0em 0;
  }
.align-left, img.align-left,
.alignleft, img.alignleft {
  margin-right: 1.0em;
  max-width: 40%;
  }

.align-right, img.align-right,
.alignright, img.alignright {
  margin-left: 1.0em;
  max-width: 40%;
  }

}

@media (max-width:600px) {

/**********
 * file: media 50 (max-width=600px)/calendar.css
 *
 */

.calendar th,
.calendar td { padding: 10px; }



/**********
 * file: media 50 (max-width=600px)/content-shortcodes.css
 *
 */

.big-box { padding: 1em; }

.round-box { padding: 2em 1em; }

h3.counter { padding: 0.5em 0 0.5em 0.5em; }



/**********
 * file: media 50 (max-width=600px)/content-text.css
 *
 */


.post-row > div { max-width: 100%; }



/**********
 * file: media 50 (max-width=600px)/empty.css
 *
 */




/**********
 * file: media 50 (max-width=600px)/fadeshow.css
 *
 */

.fadeshow h1 { font-size: 16pt; }



/**********
 * file: media 50 (max-width=600px)/footer-menu.css
 *
 */

.menus-lower-row { display: block; }

.menus-lower-row > div { width: 100%; }

.menus-lower-row ul { padding-top: 10px; }

.menus-lower-row li a { padding: 10px 0; }



/**********
 * file: media 50 (max-width=600px)/front-page.css
 *
 */

.two-buttons .post-row { display: block; }
.two-buttons .post-row > div { max-width: none; }
.two-buttons .spacer   { display: none; }

.really-big-button {
  margin-bottom: 60px;
  max-width: 100%;
  padding-left: 150px;
   }

.really-big-button.calculator a:first-child { left: 160px; }

.really-big-button.person a:first-child { font-size: 22pt; top: 55px; }



/**********
 * file: media 50 (max-width=600px)/main-content-container.css
 *
 */

section {
  padding: 0 10px 10px;
  }



/**********
 * file: media 50 (max-width=600px)/misc.css
 *
 */

.price-box { border-radius: 8px; }

.price-box i {
  font-size   : 12pt;
  padding-left: 0.5em;
  }

.price-box b {
  flex-shrink: 1;
  padding    : 0 0.2em;
  }

.price-box s {
  font-size  : 14pt;
  white-space: pre;
  }

img { max-width: 100%; }

.big-caption div {
  padding  : 1.5em;
  transform: translate(-50%, 80%);
  width    : 90%;
  }

.big-caption p ,
.big-caption h3 {
  font-size  : 100%;
  line-height: 1.2;
  }



/**********
 * file: media 50 (max-width=600px)/page-specials.css
 *
 */

.page-list-of-related-products sub-section {
padding: 1em;
}

}



/* === begin @theme === */

