/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
@font-face {
  font-family: 'charlevoix';
  src: url('/wp-content/themes/hello-theme-child-master/fonts/CharlevoixPro-Light.otf') format('opentype');
  font-weight: 300;
}

@font-face {
  font-family: 'charlevoix';
  src: url('/wp-content/themes/hello-theme-child-master/fonts/CharlevoixPro-Regular.otf') format('opentype');
  font-weight: 400;
}

@font-face {
  font-family: 'charlevoix';
  src: url('/wp-content/themes/hello-theme-child-master/fonts/CharlevoixPro-Medium.otf') format('opentype');
  font-weight: 500;
}

@font-face {
  font-family: 'charlevoix';
  src: url('/wp-content/themes/hello-theme-child-master/fonts/CharlevoixPro-Bold.otf') format('opentype');
  font-weight: 700;
}

@font-face {
  font-family: 'charlevoix';
  src: url('/wp-content/themes/hello-theme-child-master/fonts/CharlevoixPro-ExtraBold.otf') format('opentype');
  font-weight: 800;
}

@font-face {
  font-family: 'charlevoix';
  src: url('/wp-content/themes/hello-theme-child-master/fonts/CharlevoixPro-Black.otf') format('opentype');
  font-weight: 900;
}

@font-face {
  font-family: 'twinkle';
  src: url('/wp-content/themes/hello-theme-child-master/fonts/TAN-TWINKLE.otf') format('opentype');
}

*:focus {
  outline: none !important;
}
body.no-scroll {
  overflow: hidden;
}
#galleon-side-form {
  overflow-y: scroll !important;
}
#galleon-form-container, #galleon-side-form {
  max-height: 100vh;
}
.nowarp {
  white-space: preserve nowrap;
}
#header-logo-container {
  max-width: 1920px;
}
#header-nav-left {
  justify-self: right;
}
#header-right-nav {
  justify-self: left;
}
#header-logo-gd {
  cursor: pointer;
  transition: filter 200ms ease-in ;
  filter: brightness(1);
}
#header-logo-gd.go-white img {
  filter: brightness(100);
}
#header-logo-galleon.hide-overflow, #header-logo-grande-allee.hide-overflow, #galleon-header .elementor-widget-jet-nav-menu.hide-overflow {
  overflow: hidden !important;
}
#header-logo-grande-allee .elementor-heading-title, #header-logo-galleon .elementor-heading-title, #galleon-header .elementor-widget-jet-nav-menu .elementor-widget-container {
  transform: translateY(0);
  transition: transform 300ms ease-in-out;
}
#header-logo-galleon.logo-hide-text .elementor-heading-title {
  transform: translateY(64px);
}
#header-logo-grande-allee.logo-hide-text .elementor-heading-title, #galleon-header .elementor-widget-jet-nav-menu.logo-hide-text .elementor-widget-container {
  transform: translateY(64px);
}

.menu-le-galleon-gauche-container .jet-nav {
  gap: 40px;
}
.center-absolute {
  left: 50%;
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.charlevoix-font,
.charlevoix-font * {
  font-family: 'charlevoix', sans-serif !important;
}

.twinkle-font,
.twinkle-font * {
  font-family: 'twinkle', serif !important;
}

.twinkle-01 {
  font-size: 72px;
  line-height: 104px;
  text-transform: uppercase;
  color: #ffffff;
}

.btn-shimmer-border {
  height: 1.45px;
  width: 100%;
  background: linear-gradient(-45deg, #925a3c 40%, #fafafa 50%, #925a3c 60%);
  background-size: 300%;
  background-position-x: 100%;
}
.btn-shimmer-border-wrapper {
  flex-basis: 100% !important;
}
.btn-arrow {
  stroke-width: 2px;
  stroke: #925a3c;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.btn-arrow-still {
  stroke-width: 2px;
  stroke: #ce9e84;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.btn-arrow .svg-elem-1 {
  stroke-dashoffset: 22.170001983642578px;
  stroke-dasharray: 22.170001983642578px;
  -webkit-transition: stroke-dashoffset 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
          transition: stroke-dashoffset 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.btn-shimmer:hover .btn-arrow  .svg-elem-1 {
  stroke-dashoffset: 0;
}
.btn-arrow .svg-elem-2 {
  stroke-dashoffset: 17.703275680541992px;
  stroke-dasharray: 17.703275680541992px;
  -webkit-transition: stroke-dashoffset 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s;
          transition: stroke-dashoffset 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s;
}
.btn-shimmer:hover .btn-arrow .svg-elem-2 {
  stroke-dashoffset: 0;
}

.btn-shimmer:hover {
  cursor: pointer;
}
.btn-shimmer:hover .btn-shimmer-border {
  animation: shimmer 0.8s ease-in-out forwards ;
}

span.jet-nav-link-text::before, #galleon-reserve-btn::before, .add-shimmer::before, .jet-map-pin__link::before  {
  background: linear-gradient(-45deg, #925a3c 40%, #fafafa 50%, #925a3c 60%);
  background-size: 300%;
  background-position-x: 100%;
  content: "";
  position: absolute;
  bottom: -16px;
  left: 0;
  height: 1.45px;
  width: 0;
  transition: width 0.4s;
}
span.jet-nav-link-text:hover::before, #galleon-reserve-btn:hover::before, .add-shimmer:hover::before, .jet-map-pin__link:hover::before {
  animation: shimmer 0.5s ease-in-out forwards 0.3s;
  width: 100%;
}

#btn-form-container path {
  stroke: #ffffff !important
}
.form-row {
  margin-bottom: 32px;
}
.form-row.row-flex p {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 24px;
}

.form-row label {
  width: -webkit-fill-available;
}
.form-row select  {
  margin-top: 16px;
}
.form-row input, .form-row textarea, .form-row select {
  background-color: #ffffff00;
  border-radius: 0;
  border: none;
  border-bottom: 2px solid #6D3B2E;
  font-size: 22px;
  padding: 0 0 8px 0 !important;
  color: #ffffff;
}
.form-row option {
  background-color: #925a3c;
}
.form-row input:focus {
  border-color: inherit;
}
.form-row textarea {
  height: 132px;
}
.form-row input, .form-row label, .form-row input::placeholder {
  color: #ffffff !important;
  font-size: 22px;  
}

.wpcf7-list-item-label {
  color: #ffffff !important;
  font-size: 16px;
  position: relative;
  display: inline-block;
  padding-left: 32px;
}

.wpcf7-not-valid-tip {
  color: #ffffff !important;
  font-size: 14px !important;
}
.wpcf7-list-item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  margin: 0;
  z-index: 2;
}
.wpcf7-list-item {
  margin: 0 !important;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 24px;
  width: 24px;
  background-color: #ffffff;
  border-radius: 2px;
  transition: background-color 0.2s;
  z-index: 1;
}
.wpcf7-list-item:has(input[type="checkbox"]:checked) .wpcf7-list-item-label::before {
  background-color: #6D3B2E;
}
.wpcf7-list-item-label::after {
  z-index: 10;
  content: "";
  position: absolute;
  left: 9px;
  top: 5px;
  width: 4px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.2s;
}
.wpcf7-list-item:has(input[type="checkbox"]:checked) .wpcf7-list-item-label::after {
  opacity: 1;
}
.wpcf7-submit {
  background-color: #6D3B2E !important;
  border-radius: 0 !important;
  border: none !important;
  font-size: 22px !important;
  color: #ffffff !important;
  padding: 8px 24px !important;
  margin-top: 24px !important;
}
.wpcf7-spinner {
  display: none;
}
.wpcf7-response-output {
  border: none !important;
  padding: none !important;
  color: #6D3B2E !important;
  font-weight: 500 !important;
  font-size: 20px !important;
}
#galleon-subscribe-form .form-row {
  margin: 0 !important;
}
#galleon-subscribe-form form > p {
  text-align: end;
}
#galleon-side-form {
  top: 0;
  right: 0;
  transform-origin: top right;
  transform: translateX(100vw);
  transition: transform 300ms cubic-bezier(0.65, 0, 0.35, 1);
}
#galleon-subscribe-form .wpcf7-submit {
  margin-top: 0 !important;
}
#galleon-side-form.open {
  transform: translateX(0);
}

#btn-form-container, #galleon-reserve-btn {
  cursor: pointer;
}

#footer-nav-menu .jet-nav {
  display: grid !important;
  gap: 32px !important;
  grid-template-columns: repeat(4, 1fr)  !important;
  justify-items: start !important;
}


@keyframes shimmer {
  from {
    background-position-x: 100%;
  }
  to {
    background-position-x: 0%;
  }
}

.interior-img {
  z-index: 2;
  opacity: 0;
  position: absolute;
  bottom: 0;
  width: 100vw;
  object-fit: cover;
  object-position: center center;
  transform: scale(1);
  transition: opacity 0.3s ease-in-out, transform 0s linear;
}

.interior-img.selected {
  opacity: 1;
  z-index: 10;
  transform: scale(1.1);
  transition: opacity 0.3s ease-in-out, transform 8s linear;
}

.interior-type {
  cursor: pointer;
}
.interior-type.selected, .interior-type:hover {
  color: #925a3c;
  font-weight: 600 !important;
}
#interior-img-container, .interior-img {
  height: 900px !important;
}
#interior-types-container, #interior-img-container {
  width: 100%;
}
#interior-img-container {
  overflow: hidden;
}

.gm-style-iw-tc, .gm-style-iw-chr {
  display: none;
}
.gm-style-iw-d, .gm-style-iw.gm-style-iw-c {
  overflow: visible !important;
}
.gm-style-iw.gm-style-iw-c {
  padding: 0 8px !important;
  background-color: unset !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  top: 60px !important;
  height: 80px !important;
}
.jet-map-pin__link {
  opacity: 0 !important;
  height: 80px !important;
  display: block;
}
.jet-map-pin__link::before {
  top: 20px !important;
  bottom: 0 !important;
}
@media all and (max-width: 1540px) {
  .twinkle-01 {
    font-size: clamp(28px, 5vw, 70px);
    line-height: clamp(44px, 8vw, 96px);
  }
  #footer-logo-galleon {
    min-width: max-content !important;
  }
  .menu-le-galleon-gauche-container .jet-nav {
    gap: 24px;
  }
}
@media all and (max-width: 1332px) {
  #interior-img-container, .interior-img {
  height: 700px !important;
}

#galleon-header .e-con-inner {
      display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: nowrap;
    justify-content: center;
}
}
@media all and (max-width: 1024px) {
  #footer-nav-menu .jet-nav {
    gap: 24px !important;
    grid-template-columns: repeat(2, 1fr)  !important;
    grid-template-rows: repeat(2, 1fr)  !important;
  }
  #interior-img-container, .interior-img {
  height: 500px !important;
}
.form-row input, .form-row label, .form-row input::placeholder, .form-row select {
  font-size: 18px;  
}

.wpcf7-list-item-label {
  font-size: 14px;
}
}
@media all and (max-width: 767px) {
  .h-band {
    display: flex !important;
    flex-direction: column !important;
  }
  #footer-nav-menu .jet-nav {
    gap: 8px !important;
    grid-template-columns: 1fr  !important;
    grid-template-rows: repeat(4, 1fr)  !important;
    justify-items: center !important;
  }
  #interior-img-container, .interior-img {
  height: 400px !important;
}
}