/*!
Theme Name: Spectra Template Child
Author: Wineworks
Author URI: http://wineworks.co
GitHub Theme URI: https://github.com/wineworks/wp-spectratheme
Description: Custom child theme developed by Wine Works to be used with Commerce7 & WordPress
Template: wp-spectratheme
Version: 1.1.2.13
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: Spectra Child
*/
/* Commerce7 Template - Variables */
.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

.hide-text {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.hide-text a {
  display: block;
  height: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-style: normal;
}

h1, h2, h3, .blog-page > h2, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: Lucida Bright, Georgia, serif;
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 0.5em;
}

h1, .h1 {
  font-size: 2rem;
  line-height: 1.1;
  margin-bottom: 0.4em;
}

@media only screen and (min-width: 40.0625em) {
  h1, .h1 {
    font-size: 4rem;
  }
}
h1 + h3, .blog-page > h1 + h2, h1 + h2, h1 + .h3, h1 + .h2, .h1 + h3, .h1 + h2, .h1 + .h3, .h1 + .h2 {
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: 0.1em;
  margin-bottom: 1.5rem;
}

@media only screen and (min-width: 40.0625em) {
  h1 + h3, .blog-page > h1 + h2, h1 + h2, h1 + .h3, h1 + .h2, .h1 + h3, .h1 + h2, .h1 + .h3, .h1 + .h2 {
    font-size: 1.4545454545rem;
  }
}
h2, .h2 {
  font-size: 1.5rem;
  line-height: 1.1;
  margin-bottom: 0.5em;
}

@media only screen and (min-width: 40.0625em) {
  h2, .h2 {
    font-size: 3rem;
  }
}
h3, .blog-page > h2, .h3 {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: 0.5em;
}

@media only screen and (min-width: 40.0625em) {
  h3, .blog-page > h2, .h3 {
    font-size: 2rem;
  }
}
h4, .h4 {
  font-size: 1.2em;
  line-height: 1.2;
  margin-bottom: 0.2em;
}

@media only screen and (min-width: 40.0625em) {
  h4, .h4 {
    font-size: 1.65rem;
  }
}
h5, .h5 {
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: 0.2em;
}

@media only screen and (min-width: 40.0625em) {
  h5, .h5 {
    font-size: 1.25rem;
  }
}
h6, .h6 {
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: 0.2em;
}

@media only screen and (min-width: 40.0625em) {
  h6, .h6 {
    font-size: 1rem;
  }
}
.footer {
  background-color: var(--black);
  color: #eee;
  padding: 1.5rem 1rem;
}
@media only screen and (min-width: 64.0625em) {
  .footer.footer--1 .c7t-template-width {
    display: block;
  }
  .footer.footer--1 .c7t-template-width:before, .footer.footer--1 .c7t-template-width:after {
    content: " ";
    display: table;
  }
  .footer.footer--1 .c7t-template-width:after {
    clear: both;
  }
}
.footer .c7t-template-width {
  max-width: 74rem;
}
@media only screen and (min-width: 40.0625em) {
  .footer .c7t-template-width {
    display: block;
    flex-wrap: none;
  }
}
.footer__main {
  margin: 3rem 0;
}
@media only screen and (min-width: 64.0625em) {
  .footer__main {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
  }
}
.footer a {
  color: #eee;
  text-decoration: none;
}
.footer a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer h2 {
  text-transform: uppercase;
  font-family: var(--c7-font-family);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.footer__menu {
  text-align: center;
  width: 100%;
  text-transform: uppercase;
}
.footer__menu ul ul,
.footer__menu input {
  display: none;
}
@media only screen and (min-width: 64.0625em) {
  .footer--1 .footer__menu {
    float: none;
    width: auto !important;
    text-align: center !important;
  }
  .footer--1 .footer__menu ul li:last-child {
    margin-right: 0;
  }
  .footer--1 .footer__menu ul li:last-child a {
    padding-right: 0;
  }
}
.footer__menu ul {
  list-style: none;
  margin: 0 0 5rem;
  padding: 0;
}
@media only screen and (min-width: 40.0625em) {
  .footer__menu ul {
    margin: 0 0 3rem;
  }
}
@media only screen and (min-width: 64.0625em) {
  .footer__menu ul {
    margin: 0 0 1rem;
  }
}
.footer__menu ul li {
  display: block;
  margin: 0.25rem 0;
}
@media only screen and (min-width: 40.0625em) {
  .footer__menu ul li {
    display: inline-block;
    margin-right: 0.5rem;
  }
}
.footer__menu ul li a {
  display: inline-block;
  color: #eee;
  padding: 0.25rem 0.5rem;
  font-size: 0.917rem;
}
.footer__menu ul li a:hover {
  color: #fff;
}
.footer__logo {
  margin: 0 auto;
  text-align: center;
}
@media only screen and (min-width: 64.0625em) {
  .footer__logo {
    flex: 33%;
  }
}
@media only screen and (min-width: 64.0625em) {
  .footer__logo--mobile {
    display: none;
  }
}
.footer__logo--desktop {
  display: none;
}
@media only screen and (min-width: 64.0625em) {
  .footer__logo--desktop {
    display: block;
    margin-bottom: 1rem;
  }
}
.footer__logo img {
  height: 200px !important;
  margin: 0 auto;
}
.footer__address {
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  width: 100%;
}
@media only screen and (min-width: 64.0625em) {
  .footer__address {
    text-align: center !important;
    margin-bottom: 0;
    width: auto;
    flex: 33%;
  }
}
.footer__address span {
  margin: 0.5rem 0;
}
.footer__address__name {
  display: block;
  font-size: 1.2em;
}
.footer__address__address {
  white-space: nowrap;
}
.footer__address__city {
  white-space: nowrap;
}
.footer__address__postalcode {
  white-space: nowrap;
}
.footer__address__phone {
  display: block;
  white-space: nowrap;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 480px) {
  .footer__address__phone {
    display: inline-block;
    padding-right: 0;
    position: relative;
  }
  .footer__address__phone:after {
    content: "";
    position: absolute;
    right: -0.2rem;
  }
}
@media screen and (min-width: 480px) {
  .footer__address__phone--no-email:after {
    content: "";
  }
}
.footer__address__email {
  display: block;
}
@media screen and (min-width: 480px) {
  .footer__address__email {
    display: inline-block;
  }
}
.footer__address__break {
  display: block;
  margin: 0;
  height: 0.4rem;
}
.footer__rule {
  display: none;
}
.footer__social-media {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1.5rem 0;
  width: 100%;
}
@media only screen and (min-width: 64.0625em) {
  .footer--1 .footer__social-media {
    float: none !important;
    width: auto !important;
    justify-content: center !important;
  }
}
.footer__social-media a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0.4rem;
}
.footer__social-media a:hover svg {
  fill: #fff;
}
.footer__social-media img, .footer__social-media svg {
  width: 18px;
  height: 18px;
  fill: #eee;
  transition: fill 200ms ease-out;
}
.footer__social-media .tripadvisor {
  width: 32px;
}
.footer__copyright, .footer__optional-text {
  text-align: center;
  font-size: 0.75rem;
  width: 100%;
  margin-bottom: 0;
  margin-top: 1rem;
}
@media only screen and (min-width: 64.0625em) {
  .footer--1 .footer__copyright, .footer--1 .footer__optional-text {
    float: none;
    width: 100%;
    text-align: center !important;
  }
}
.footer__optional-text {
  margin-bottom: 0.75rem;
}
.footer__optional-text p {
  font-size: 0.75rem;
}
.footer__optional-text p:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 64.0625em) {
  .footer__optional-text-wrapper {
    order: 4;
    width: 40%;
  }
}
.footer__optional-text-wrapper .footer__copyright,
.footer__optional-text-wrapper .footer__optional-text {
  width: 100%;
}
@media only screen and (min-width: 64.0625em) {
  .footer__optional-text-wrapper .footer__copyright,
  .footer__optional-text-wrapper .footer__optional-text {
    text-align: left;
  }
}
.footer--transparent {
  background: transparent !important;
}

.c7t-half-text h1, .c7t-half-text h2, .c7t-half-text h3 {
  font-size: 2em;
  line-height: 1.2;
  margin-bottom: 0.5em;
}

@media only screen and (min-width: 40.0625em) {
  .c7t-half-text h1, .c7t-half-text h2, .c7t-half-text h3 {
    font-size: 3em;
    margin-bottom: 0.5em;
  }
}
.c7t-half-text {
  display: block;
  max-width: none;
}

.c7t-half-text__wrapper {
  max-width: 640px;
  display: block;
}

@media only screen and (min-width: 64.0625em) {
  .c7t-half-text__wrapper {
    display: flex;
    align-items: center;
    max-width: 70.625rem;
    margin: 0 auto;
  }
}
.c7t-half-text__image {
  width: 100%;
}

@media only screen and (min-width: 64.0625em) {
  .c7t-half-text__image {
    width: 52%;
  }
}
.c7t-half-text__content {
  width: 100%;
}

@media only screen and (min-width: 64.0625em) {
  .c7t-half-text__content {
    width: 48%;
    padding-top: 0;
    padding-bottom: 0;
  }
}
.c7t-half-text__content p:has(a) {
  margin-bottom: 1rem;
}

.c7t-half-text .c7-reservation__search {
  margin-bottom: 0;
}

.c7t-half-text:not(.overlapping-half-half) .c7t-half-text__wrapper {
  max-width: 72.625rem;
  padding: 0 1rem;
}

@media only screen and (min-width: 64.0625em) {
  .c7t-half-text:not(.overlapping-half-half) .c7t-half-text__content {
    padding-left: 9%;
    padding-right: 0;
  }
}
@media only screen and (min-width: 64.0625em) {
  .c7t-half-text:not(.overlapping-half-half).c7t-half-text--image-right .c7t-half-text__content {
    padding-left: 0;
    padding-right: 9%;
  }
}
.c7t-half-text:not(.overlapping-half-half) p {
  font-size: 15px;
}

@media only screen and (min-width: 64.0625em) {
  .c7t-half-text:not(.overlapping-half-half) p {
    font-size: 14px;
  }
}
@media only screen and (min-width: 64.0625em) {
  .c7t-half-text.experience-detail .c7t-half-text__wrapper {
    align-items: flex-start;
  }
}
.c7t-half-text.experience-detail .c7-reservation__search {
  margin-bottom: 1rem;
}

.overlapping-half-half {
  display: block;
}

@media only screen and (max-width: 64em) {
  .overlapping-half-half {
    padding: 0 1rem;
  }
}
.overlapping-half-half .c7t-half-text__wrapper {
  max-width: 640px;
  margin: 0 auto;
  display: block;
}

@media only screen and (max-width: 64em) {
  .overlapping-half-half .c7t-half-text__wrapper {
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  }
}
@media only screen and (min-width: 64.0625em) {
  .overlapping-half-half .c7t-half-text__wrapper {
    display: flex;
    align-items: center;
    max-width: 70.625rem;
  }
}
.overlapping-half-half .c7t-half-text__image {
  width: 100%;
}

@media only screen and (min-width: 64.0625em) {
  .overlapping-half-half .c7t-half-text__image {
    width: 100%;
  }
}
.overlapping-half-half .c7t-half-text__content {
  position: relative;
  background-color: #fff;
  z-index: 1;
  width: 100%;
}

@media only screen and (min-width: 64.0625em) {
  .overlapping-half-half .c7t-half-text__content {
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
    width: 45%;
    margin-left: -115px;
    padding: 2rem;
  }
}
@media only screen and (min-width: 75.0625em) {
  .overlapping-half-half .c7t-half-text__content {
    padding: 3rem;
  }
}
@media only screen and (min-width: 64.0625em) {
  .overlapping-half-half.c7t-half-text--image-right .c7t-half-text__content {
    margin-left: auto;
    margin-right: -115px;
  }
}
