/*
Theme Name: GeneratePress Child
 */
/*
Description: A child theme for GeneratePress.
Author: Stevie J
Template: generatepress
Version: 1.0
*/

/*
Dark brown: #4A3F35
Light brown: #C3B091
Pink: #EAB5B5
Gold: #D4AF37


*/

:root {
  --font-xxxl: 32px;
  --line-xxxl: 1.2;

  --font-xxl: 24px;
  --line-xxl: 1.3;

  --font-xl: 20px;
  --line-xl: 1.4;

  --font-l: 18px;
  --line-l: 1.6;

  --font-m: 16px;
  --line-m: 1.8;

  --font-s: 14px;

  --font-xs: 12px;


  --font-button: 14px;
  --line-button: 1.6;

  --xxxxs: 3px;
  --xxxs: 6px;
  --xxs: 9px;
  --xs: 12px;
  --s: 16px;
  --m: 24px;
  --l: 36px;
  --xl: 48px;
  --xxl: 60px;
  --xxxl: 72px;
  --xxxxl: 96px;

}

@media (min-width: 1440px) {
  :root {
    --font-xxxl: 48px;
    --line-xxxl: 1.1;

    --font-xxl: 32px;
    --line-xxl: 1.2;

    --font-xl: 24px;
    --line-xl: 1.3;

    --font-l: 20px;
    --line-l: 1.4;

    --font-m: 18px;
    --line-m: 1.6;

    --font-s: 16px;

    --font-xs: 14px;

    --font-button: 16px;


    --xxxxs: 4px;
    --xxxs: 8px;
    --xxs: 12px;
    --xs: 16px;
    --s: 24px;
    --m: 32px;
    --l: 48px;
    --xl: 64px;
    --xxl: 80px;
    --xxxl: 96px;
    --xxxxl: 128px;

  }
}



body {
    font-family: "adobe-caslon-pro", serif;
    font-weight: 400;
    font-style: normal;
    font-size: var(--font-l);
    line-height: var(--line-m);
    background-color: #FBFBF9;
}


body.no-scroll {
    overflow: hidden;
}


h1 {
  font-size: var(--font-xxxl);
  line-height: var(--line-xxxl);
  text-shadow: 0px 0px var(--m) rgba(0, 0, 0, 0.25);
}

h2 {
  font-size: var(--font-xxl);
  line-height: var(--line-xxl);
}
.home h2{
  font-size: var(--font-xxxl);
  line-height: var(--line-xxxl);
}
.home #quiz h3,
.home #result h3{
  border:0;
  margin:0;
  padding:0;
  font-size: var(--font-xxl);
  line-height: var(--line-xxl);
}
.home #quiz h3 > span{
  color:#C3B091;
}

h3 {
  font-size: var(--font-xl);
  line-height: var(--line-xl);
}

h4 {
  font-size: var(--font-l);
  line-height: var(--line-l);
}

small {
  font-size: var(--font-xs);
  line-height: var(--line-xs);
}
strong{
  font-weight:600;
}

header button{
  margin-top:0;
}
header button:hover,
header button:active,
header button:focus{
  background:none;
}

h1, h2, h3, h4 {
    font-family: "big-caslon-fb", serif;
    font-weight: 400;
    font-style: normal;
    display:inline-block;
    letter-spacing: 1px;
    border-bottom: 1px solid #C3B091;
    position: relative;
    padding-bottom: var(--s);
    margin-bottom: var(--m);
}


h1+p,
.banner h2+p,
.banner h3+p,
.banner h4+p,
.home h2+p,
.home h3+p,
.home h4+p,
.banner__content p {
    text-transform: uppercase;
    letter-spacing: 3px;
    font-family: "futura-pt", sans-serif;
    margin-bottom:var(--s);
    font-size:var(--font-m);
    line-height:var(--line-m);
}

h1+p+p,
.banner h2+p+p,
.banner h3+p+p,
.banner h4+p+p,
.home h2+p+p,
.home h3+p+p,
.home h4+p+p,
.banner__content p+p{
  margin-top:var(--m);
}

div:not(.content) h2+p strong{
  color:#C3B091;
}



p{
  margin-bottom: var(--m);
}

a,
button{
  -webkit-tap-highlight-color: transparent;
}


#down-hint{
  width: var(--l);
  height: var(--l);
  fill: #F7F5F1;
  position: absolute;
  bottom: var(--xxxxl);
  left: 50%;
  transform: translateX(-50%);
  cursor:pointer;
}
#down-hint .fa-primary{
  opacity:.9;
}
#down-hint .fa-secondary{
  fill:#C3B091;
  opacity:.6;
}


section{
  text-align: center;
  padding: var(--xxxl) var(--xl);
}
section.home-video{
  padding:0;
  margin:0;
}

section.page{
  padding-left:0;
  padding-right:0;
}


section p:last-of-type{
  margin-bottom:0;
}

/* Base styles for all animations */
[data-animate] * {
  opacity: 0;
  visibility: hidden;
  transform: translateY(0);
  transition: opacity 1.2s ease, transform 1.2s ease, visibility 1.2s ease;
   transition-delay: 0s;
}
[data-animate] *:first-child{
  transition: opacity 2.4s ease, transform 1.2s ease, visibility 2.4s ease;
}

[data-animate].active * {
  opacity: 1;
  visibility: visible;
}

[data-animate] .bounce {
  transform: translateY(var(--l));
}

[data-animate].active .bounce {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.forminator-response-message{
  margin-bottom:var(--xs);
}

.sidebar__content form{
padding: 0 var(--l);
}

form{
  margin: var(--l) auto 0;
}
.custom-modal-content form{
  margin:0 auto;
}
.sidebar__content form{
  margin-top:0;
  width:100%;
  text-align: center;
}
form label,
form button,
.open-form-btn,
.forminator-error-message{
  display: block;
  margin-bottom: var(--xxxs);
  cursor: pointer;
}


form input[type="text"],
form textarea,
form input[type="email"]{
  width: 100%;
  border: 1px solid #000;
  background: transparent;
}
form input[type="text"]:focus,
form textarea:focus,
form input[type="email"]:focus{
  width: 100%;
  border: 1px solid #C3B091;
  background: transparent;
}



.price-wrapper{
 margin-top:var(--l);
 display: flex;
  flex-direction: column;
  width: 100%;
}
.price-wrapper button{
  margin-top: var(--l);
  align-self: center;
  width: auto;
}

.forminator-required{
  color:#C3B091;
  margin-left: calc(-1 * var(--xxxxs));
  display: none;
}
.forminator-error-message{
  color:#C3B091;
  margin:var(--xxxs) 0 0;
}

#background-video-section{
  position: relative;
  margin: 0;
  padding: 0;
}

#background-video-section h2{
  text-shadow: 0px 0px var(--m) rgba(0, 0, 0, 0.25);
}
#background-video-section h2+p{
  text-shadow: 0px 0px var(--s) rgba(0, 0, 0, 0.5);
}
#background-video-section video{
  width: 100%;
  height: 60vh;
  object-fit: cover;
  object-position: center;
}

.background-video-content{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  color:#fff;
  padding: 0 var(--xxxl);
}
/*.background-video-content h2{
  border-color:#fff;
}*/
.background-video-content a:hover{
  color:#fff;
}
.background-video-content p:last-of-type{
  margin-bottom:0;
}



  .home h1+p{
    margin:0 auto var(--m);
  }
.home .banner__content p{
text-shadow: 0px 0px var(--s) rgba(0, 0, 0, 0.5);
    margin: 0;
    padding-top: var(--xs);
  border-top: 1px solid #C3B091;
  display: inline-block;
    padding-left:0;
  padding-right:0;
}


video {
  pointer-events: none; /* Allows scrolling to propagate */
   display: block;
  width: 100%;
  height: auto;

}




button,
a.button,
.button {
  display: inline-block;
  cursor: pointer;
  font-size: var(--font-button);
  line-height: var(--line-button);
  text-transform: uppercase;
  letter-spacing: 3px;
  font-family: "futura-pt", sans-serif;
  background: transparent;
  margin-top:var(--l);
  padding:var(--xs) var(--s);
}
.forminator-button-submit,
.forminator-repeater-action-button{
  display: inline-block ;
  cursor: pointer !important;
  font-size: var(--font-button) !important;
  line-height: var(--line-button) !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  font-family: "futura-pt", sans-serif !important;
  margin-top:var(--l) !important;
  padding:var(--xs) var(--s) !important;
}
.forminator-button-submit{
  margin-top:0 !important;
}
.forminator-repeater-action-button{
  background:#393e51 !important;
  margin-top:0 !important;
}
.button,
.addition button,
form button {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: background-color 0.4s ease, color 0.4s ease !important;
}

.button:hover,
.button:active,
a.button:hover,
a.button:active {  
  background: rgba(255, 255, 255, 0.15);
}

.button:focus,
a.button:focus {
  background: none;
}

.button.dark {
  background:#393e51;
  color: #fff;
}

.button.dark:hover,
.button.dark:active,
.button.dark:focus {
  background:#393e51;
  color:#fff;
}

form button,
.open-form-btn {
  background: #C3B091;
  margin-bottom: 0;
  width:100%;
}

form button:hover,
form button:focus,
form button:active,
.open-form-btn:hover,
.open-form-btn:focus,
.open-form-btn:active {
  background: #C3B091;
}





 .forminator-custom-form{
  margin:var(--xxl) auto 0 !important;
  }



  .forminator-title {
    text-align:center !important;
  }

  .forminator-subtitle{
    text-align: center !important;
    line-height: var(--line-m) !important;
  }
.forminator-repeater-field{
  background:#F7F5F1 !important;
  box-shadow: none !important;
  margin-bottom: var(--xl) !important;
  padding: var(--xl) var(--xl) var(--m) !important;
}

.forminator-description-custom{
  color: rgba(0,0,0,.5);
  display: block;
  font-size: var(--font-m);
  margin:var(--xxxxs) 0 var(--xxs);
}
.forminator-label{
  line-height: var(--line-l);
}
.forminator-row{
margin-bottom: var(--m) !important;
}
.forminator-action-buttons{

}
.forminator-repeater-add{
margin-bottom: var(--m);
}
.review .button{
  margin-top: var(--m);
}


.forminator-repeater-action-button{
  width: 100%;
  font-size: var(--font-l);
  line-height: var(--line-l);
  font-family: "adobe-caslon-pro", serif;
}

.forminator-checkbox{
  display:flex;
  align-items: center;
  gap:var(--s);
}

.forminator-checkbox input{
  display:none;
}
.forminator-checkbox .forminator-checkbox-box{
  width: var(--m);
  height: var(--m);
  flex: 0 0 auto;
  border:1px solid #393e51;
  position: relative;
}
.forminator-checkbox input:checked + .forminator-checkbox-box::after {
  content: "";
  width: 75%;
  height: 75%;
  display: block;
  mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.285 6.314a1 1 0 0 1 0 1.414l-10 10a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 1.414-1.414l4.293 4.293 9.293-9.293a1 1 0 0 1 1.414 0z"/></svg>');
  background-color: #393e51; /* Tick Colour */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

}

.forminator-checkbox-label{

}

.question button{
  display:inline-flex;
  align-items: center;
}

.addition button,
#view-all,
#restart-btn{
  display: inline-flex;
  align-items:center;
  justify-content: center;
  width: 50%;
  margin-top: var(--s);
}
.addition button:before {
    content: "";
    width: var(--xs);
    height: var(--xs);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23C3B091" d="M0 272l0-16L0 96 0 80l16 0 374.3 0-49-44.1L329.4 25.2 350.8 1.4l11.9 10.7 80 72L455.9 96l-13.2 11.9-80 72-11.9 10.7-21.4-23.8 11.9-10.7 49-44.1L32 112l0 144 0 16L0 272zm512-32l0 16 0 160 0 16-16 0-374.3 0 49 44.1 11.9 10.7-21.4 23.8-11.9-10.7-80-72L56.1 416l13.2-11.9 80-72 11.9-10.7 21.4 23.8-11.9 10.7-49 44.1L480 400l0-144 0-16 32 0z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: var(--xs);
    display: block;
}


#no-package{
  padding: 0 var(--l) var(--l);
}
#no-package button{
  width:50%;
}

button.yes:before {
    content: "";
    width: var(--xs);
    height: var(--xs);
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBmaWxsPSIjQzNCMDkxIiBkPSJNNDQ4LjEgMTE4LjJMNDM3IDEyOS43IDE3My42IDQwNGwtMTEuNSAxMi0xMS41LTEyTC0xMS4xIDI1OC44IDAgMjQ3LjJsMjMuMS0yMi4yIDExLjEgMTEuNUwxNjIuMSAzNjkuOCA0MTQgMTA3LjUgNDI1IDk2bDIzLjEgMjIuMnoiLz48L3N2Zz4=");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: var(--xs);
    display: block;
}

button.no:before {
    content: "";
    width: var(--xs);
    height: var(--xs);
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSIjQzNCMDkxIiBkPSJNMTkyIDIzMy40TDU5LjUgMTAwLjkgMzYuOSAxMjMuNSAxNjkuNCAyNTYgMzYuOSAzODguNWwyMi42IDIyLjZMMTkyIDI3OC42IDMyNC41IDQxMS4xbDIyLjYtMjIuNkwyMTQuNiAyNTYgMzQ3LjEgMTIzLjVsLTIyLjYtMjIuNkwxOTIgMjMzLjR6Ii8+PC9zdmc+");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: var(--xs);
    display: block;
}




.button-wrapper button{
  margin:0;
}

.button-wrapper{
  margin-top:var(--l);

  display: flex;
  gap: var(--m);
  justify-content: center;
  
}
.button-wrapper.bottom{
  flex-direction: column;
  align-items: center;
    padding: 0 var(--xl);
    margin-top:var(--xl);

}
/*.button-wrapper.restart-viewall{
  padding: var(--l);
  background:rgba(255,255,255,.025);
  margin-top:0;
}*/

#restart-btn{
  align-items: center;
  margin:0;
}
#restart-btn:before {
    content: "";
    width: var(--xs);
    height: var(--xs);
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"%3E%3Cpath fill="%23C3B091" d="M48 192l-16 0 0-16L32 48l0-16 32 0 0 16 0 92.6C103.2 75.5 174.5 32 256 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-86.4 0-161.4-49-198.8-120.6l28.4-14.8C117.7 406.1 181.9 448 256 448c106 0 192-86 192-192s-86-192-192-192c-71 0-133.1 38.6-166.3 96l86.3 0 16 0 0 32-16 0L48 192z"/%3E%3C/svg%3E');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: var(--xs);
    display: block;
}


#view-all{
  display: inline-flex;
  align-items: center;
  margin: 0;
  background: #C3B091;
  border: 0;
  padding: var(--s);
  color: #393e51;
}
#view-all:before{
    content: "";
    width: var(--xs);
    height: var(--xs);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23393e51" d="M384 71.8L480 43l0 93.2L384 165l0-37 0-56.2zM352 48l0 80 0 46.6 0 33.4 0 168c-20.3-14.8-48.7-24-80-24c-61.9 0-112 35.8-112 80s50.1 80 112 80s112-35.8 112-80l0-233.6L512 160l0-126.6L512 0 480 9.6 352 48zm0 384c0 9.1-5.1 20.3-19.4 30.5C318.3 472.7 297 480 272 480s-46.3-7.3-60.6-17.5C197.1 452.3 192 441.1 192 432s5.1-20.3 19.4-30.5C225.7 391.3 247 384 272 384s46.3 7.3 60.6 17.5C346.9 411.7 352 422.9 352 432zM16 64L0 64 0 96l16 0 256 0 16 0 0-32-16 0L16 64zm0 128L0 192l0 32 16 0 256 0 16 0 0-32-16 0L16 192zm0 128L0 320l0 32 16 0 128 0 16 0 0-32-16 0L16 320z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: var(--xs);
    display: block;
}


/*#view-all:before{
    content: "";
    width: var(--xs);
    height: var(--xs);
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"%3E%3Cpath fill="%23ffffff" d="M118 373c-39.8-38.3-67.9-83.7-83.2-117c15.3-33.3 43.4-78.6 83.2-117c44.6-42.9 101.5-75 170-75s125.4 32.1 170 75c39.8 38.3 67.9 83.7 83.2 117c-15.3 33.3-43.4 78.6-83.2 117c-44.6 42.9-101.5 75-170 75s-125.4-32.1-170-75zM288 480c158.4 0 258-149.3 288-224C546 181.3 446.4 32 288 32S30 181.3 0 256c30 74.7 129.6 224 288 224zM192 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"/%3E%3C/svg%3E');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right:var(--xs);
    display:block;
}
#view-all.active:before{
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"%3E%3Cpath fill="%23ffffff" d="M40.4 18L27.8 8.1 8.1 33.4l12.6 9.8L599.8 494.3l12.6 9.8 19.7-25.2L619.5 469 40.4 18zM608 256C578 181.3 478.4 32 320 32c-50.2 0-94.5 15-132.5 37.8l27.1 21.4C245.9 74.4 281.1 64 320 64c68.4 0 125.4 32.1 170 75c39.8 38.3 67.9 83.7 83.2 117c-10.5 22.8-27 51.4-49.3 79.4L549 355.3c28.4-35.8 48.2-72.4 59-99.3zM91 156.7C62.6 192.5 42.8 229.1 32 256c30 74.7 129.6 224 288 224c50.2 0 94.5-15 132.5-37.8l-27.1-21.4C394.1 437.6 358.9 448 320 448c-68.4 0-125.4-32.1-170-75c-39.8-38.3-67.9-83.7-83.2-117c10.5-22.8 27-51.4 49.3-79.4L91 156.7zM320 384c16.7 0 32.7-3.2 47.4-9.1l-30.9-24.4c-5.4 .9-10.9 1.4-16.5 1.4c-51 0-92.8-39.8-95.8-90.1l-30.9-24.4c-.9 6-1.3 12.2-1.3 18.5c0 70.7 57.3 128 128 128zM448 256c0-70.7-57.3-128-128-128c-16.7 0-32.7 3.2-47.4 9.1l30.9 24.4c5.4-.9 10.9-1.4 16.5-1.4c51 0 92.8 39.8 95.8 90.1l30.9 24.4c.9-6 1.3-12.2 1.3-18.5z"/%3E%3C/svg%3E');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}*/

.futura {
    font-family: "futura-pt", sans-serif;
    font-weight: 400;
    font-style: normal;
}



/* Lists */
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
li{

}
/* SVG */
svg {
    display: block;
}

/* Layout */
.grid-container {
    max-width: 100%;
}

main {
    width: 100%;
}

a {
    text-decoration: none;
    color: inherit;
    display: inline-block;
    line-height: 1.4;
}

/* Original link style */
a > span {
    display: inline-block;
    position: relative;
}
footer a > span {
    letter-spacing: 1px;
}
footer a > span:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    background-color: #C3B091;
    transform: scale(0);
    transform-origin: right center;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: transform;
}
footer a:hover > span:before {
    transform: scale(1);
    transform-origin: left center;
}

/* Reverse link style (for links with the .reverse class) */
.content a > span{
  line-height:var(--line-xxxl);
}
.content a > span:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    background-color: #C3B091;
    transform: scale(1);
    transform-origin: left center;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: transform;
}
.content a:hover > span:before {
    transform: scale(0);
    transform-origin: right center;
}


section.youtube{
  padding:0;
  margin-top: calc(-1 * var(--l));
}
.video-container {
    position: relative;
    min-width: 100%;
    aspect-ratio: 16/5;
    cursor: pointer;
    margin: var(--xxl) 0 0;
}
.showreel .video-container{
  margin-left:calc(-1 * var(--xl));
  margin-right:calc(-1 * var(--xl));
}
.home .video-container{
  margin-top:0;
}
.video-thumbnail {
    position: relative;
    width: 100%;
    aspect-ratio: 16/5;

    overflow: hidden;
      
}

.video-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform:scale(1);
    transition: transform 0.3s linear;
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform:translate(-50%, -50%) scale(1);
    transition: transform 0.3s linear;
}
.video-embed-hidden {
  height: 0;
  width: 0;
  overflow: hidden;
  position: absolute;
  left: -9999px;
}
/*.video-thumbnail:hover .play-button
{
  transform: scale(1.1);
}*/
.video-thumbnail:hover img{
  transform:scale(1.1);
}
/*.play-button:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 48px solid #F7F5F1;
    border-top: 24px solid transparent;
    border-bottom: 24px solid transparent;
}*/


/* Modal container (hidden by default) */
.custom-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5); /* Black background with transparency */
}
.custom-modal:not(.all-packages-modal){
  z-index:9999;
}
.custom-modal.all-packages-modal h3{
  width:100%;
  margin-bottom:0;
  text-align: center;
}
.custom-modal.all-packages-modal .button{
  margin-top:0;
}
/* Modal content box */
.custom-modal-content {
  background: #fff;
  margin: 0;
  padding: var(--l);
  border-radius: var(--xxxs);
  width:max-content;
  max-width: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-height: 90%;
  overflow-y: scroll;
}

/* Close button */
.custom-modal-close {
  color: #aaa;
  float: right;
  font-size: var(--font-xl);
  line-height: var(--line-xl);
  font-weight: bold;
  cursor: pointer;
}

.custom-modal-close:hover,
.custom-modal-close:focus {
  color: #000;
  text-decoration: none;
}

.all-packages-modal .packages-wrapper > div{
  justify-content: space-around;
}



figure img{
  filter:grayscale(1) contrast(1.05);
  max-width: 260px;
  border-radius:50%;
  margin-bottom: var(--l);
}

.content-wrapper{
  margin-top:var(--xxxl);
}
.content-wrapper ul{
  margin-top:var(--l);
}

.page .intro{
  padding: 0 var(--xxl);
}

section.page figure,
.page .content-wrapper > div{
  padding: var(--xxl);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.page figure{
  padding:0;
}

.page .content-wrapper > div{
  justify-content: flex-start;
}
.page figure:nth-child(4n+2),
.page figure:nth-child(4n+3),
.page .content-wrapper > div:nth-child(4n+2),
.page .content-wrapper > div:nth-child(4n+3) {
  background: #F7F5F1;
}
.page blockquote{
  padding:0;
}

.review {
  background: #F7F5F1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
  padding-left:var(--l);
  padding-right:var(--l);
}


.carousel {
  position: relative;
  width: 100%;
  overflow: hidden; /* Ensure only one item is visible */
}

.carousel-inner {
  display: flex;
  width: 100%;
  transition: transform 0.8s ease;
}

.carousel-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%; /* Each item takes full width */
  flex: 0 0 100%; /* Ensure proper layout within flex container */
  text-align: center;
  opacity: 0; /* Start invisible */
  visibility: hidden;
  transition: opacity 2.4s ease, visibility 2.4s ease; /* Smooth fade effect */
}

.carousel-item.active {
  opacity: 1; /* Make the active slide visible */
  visibility: visible;
}

figure {
  margin: 0;
  width: 100%;
}

blockquote {
  margin: 0 auto var(--m);
  border: 0;
  padding: 0 var(--xxxl);
  font-style: italic;
  font-size: var(--font-l);
  position: relative;
  quotes: "“" "”"; /* Define the quotation marks */
  text-align: center;
  max-width:calc(100% / 3 * 2);
}
blockquote.single{
margin: var(--xxl) auto;
}

blockquote::before {
  content: open-quote;
  font-size: var(--font-xxxl);
  line-height: 0; /* Adjusts spacing */
  vertical-align: -0.2em; /* Adjusts vertical position */
  color: #ccc;
  margin-right: var(--xxs);
}

blockquote::after {
  content: close-quote;
  font-size: var(--font-xxxl);
  line-height: 0; /* Adjusts spacing */
  vertical-align: -0.4em; /* Adjusts vertical position */
  color: #ccc;
  margin-left:var(--xxxxs);
}


figcaption{
  text-transform: uppercase;
  letter-spacing: 2px;
  font-family: "futura-pt", sans-serif;
  color:#4A3F35;
  text-align: center;
  padding-top: var(--xs);
  border-top: 1px solid #C3B091;
  display: inline-block;
  font-size: var(--font-m);
  line-height: var(--line-m);

}

.carousel-indicators {
  display: flex;
  justify-content: center;
  margin:var(--m) 0 var(--xs);
}

.carousel-indicators button {
  width: var(--xs);
  height: var(--xs);
  background-color: #ccc;
  border: none;
  border-radius: 50%;
  margin: 0 var(--xxxs);
  cursor: pointer;
  transition: background-color 0.4s;
  padding: 0;
}
.carousel-indicators button:hover{
  background-color: #393e51;
}
.carousel-indicators button[aria-selected="true"] {
  background-color: #393e51;
}


.split{
  display: flex;
  justify-content: space-around;
  gap:var(--xxxl);
  position: relative;
}


.split.links h2+p{
      margin: 0;

}
.split.links section{
  flex: 1 0;
}
.split.links > div{
  display: flex;
  justify-content: space-around;
  width:100%;
  gap:0;
}
.split.links section{
  padding:0!important;
}
.split.links section a {
    background-size: 100%; /* Start with 100% width */
    background-position: center;
    display: block;
    aspect-ratio: 3/1;
    overflow: hidden;
    transition: background-size 0.3s linear; /* Smooth transition for background scaling */
}

.split.links section a:hover {
    background-size: 105%; /* Scale the background image */
}

section.wedding-packages{
  color:#fff;
  background:#393e51;
}

.split.links section.faq a {
    background-image: url('http://new.thedevonweddingsinger.co.uk/wp-content/uploads/2024/12/ollie-stephens-homepage1.jpg');
}



.split.links a > div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    width: 100%;
}
.split.links a > div h2{

}
.split.links img{
  margin:0;
}

.split img{
  margin-bottom:var(--l);
}



.packages-wrapper{
width: 100%;
}
.packages-wrapper > div{
  display: flex;
  justify-content: center;
  width: 100%;
}

#packages > ul:last-of-type{
  margin-top:var(--l);
  gap:var(--xxxl);
}

#packages > ul:last-of-type .open-form-btn{
background:#F7F5F1;
  color: #000;

}
.home .price-wrapper .open-form-btn{
  color: #363b4d;
}
#packages ul:last-of-type li{
margin: 0;
}

#packages li li:not(:last-of-type):after{
  content:'.';
  color:#C3B091;
}
#packages h2+p{
  margin-bottom: var(--l);
}

#packages h2,
#packages h3{
  border:0;
  margin: 0;
  padding-bottom: var(--xxxs);
}
#packages h2{
  padding-bottom: var(--s);
  border-bottom: 1px solid #C3B091;
  margin: var(--m) 0 0;
}
#packages h4{

}



#packages > ul{
  display:flex;
  justify-content: center;
  gap: var(--l);
}

.packages-new{
  padding-top:0;
}
.packages-new .open-form-btn{
  margin:0 0 var(--xxl);
  width: auto;
}

.consultation{
  background: #F7F5F1;
  margin: 0 auto;
  border-radius: var(--xxxxs);
  padding: var(--s) var(--m);
}

.packages-new-inner{
  display:flex;
  gap:var(--l);
  margin: var(--l) 0;
}
.packages-new-inner > div{
  flex: 1;
  background: #F7F5F1;
  padding: var(--xl);
}

#packages li,
.packages-wrapper li,
.packages-new-inner li
{
  text-align: center;
  padding: var(--xxs) 0;
}

#packages li:not(.head),
.packages-wrapper li:not(.head),
.packages-new-inner li{
  text-align: center;
  line-height: var(--line-button);
}
.packages-wrapper li:not(.head),
.packages-new-inner li{
  text-align: left;
  padding-left: calc(var(--s) + 6px);
  list-style: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23C3B091' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 6px 6px;
  line-height:1.5;
}
.full-day-package li{
  padding: var(--xxxs) 0;
}

#packages li.head,
.packages-wrapper li.head{
  font-weight: 600;
  font-size: var(--font-xl);
  line-height: var(--line-xl);
  text-align: center;
}

/*#packages li:last-of-type,
.packages-wrapper li:last-of-type{
  margin-bottom: 0;
  padding-bottom: 0;
}*/

#packages li > div:last-of-type{
/*  background: #f7f7f7;*/
  background:#F7F5F1;
}

#packages ul:last-of-type div{
  background: none;
}
#packages ul:last-of-type li > div:last-of-type{
  padding:0 var(--l);
  display: block;
  margin-bottom: var(--xs);
}
#packages li.popular > div:last-of-type{
  position: relative;

}
#packages li.best > div:last-of-type{
  position: relative;

}
#packages li.popular > div:last-of-type:before,
#packages li.best > div:last-of-type:before{
  content:'Popular';
  position: absolute;
  top:0;
  left:50%;
  text-transform: uppercase;
  font-family: "futura-pt", sans-serif;
  letter-spacing:2px;
  font-size: var(--font-s);
  line-height: var(--line-s);
  transform: translate(calc(-50%), calc(-50%)); 
  background: #EAB5B5;
  padding: var(--xxxxs) var(--xxs);

}
#packages li.best > div:last-of-type:before{
  content:'Signature';
  background: #C3B091;
}

#packages div{
  position: relative;

}

#packages li > div:last-of-type{
  padding:var(--xl) var(--l) var(--l);
  display: flex;
  flex-direction: column;
  height: 100%;
}


#packages #packages li > div:last-of-type h4.and{
/*  margin-bottom:0;
  padding-bottom:0;*/
}
#packages #packages li > div:last-of-type h4.and:after{
  content: '&';
  margin: var(--xs) 0 0;
  
  display: block;
  font-size: var(--font-xl);
  line-height: var(--line-xl);
  font-family: "adobe-caslon-pro", serif;
}
#packages #packages li > div:last-of-type h4:not(.and){
  padding-bottom: var(--s);
}

/*#packages li > div > div:first-of-type:after{
  content: url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 viewBox%3D%220 0 300 47.8%22%3E%3Cdefs%3E%3Cstyle%3E.st0%7Bfill%3A%231a1a1a%3B%7D%3C/style%3E%3C/defs%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cpath class%3D%22st0%22 d%3D%22M294.73%2C16l1.19%2C2.45s-.25%2C3.86-5.02%2C4.99c0%2C0%2C3.88-1.86%2C3.82-7.44Z%22/%3E%3Cpath class%3D%22st0%22 d%3D%22M294.73%2C32l1.19-2.45s-.25-3.86-5.02-4.99c0%2C0%2C3.88%2C1.86%2C3.82%2C7.44Z%22/%3E%3C/g%3E%3Cpolygon class%3D%22st0%22 points%3D%22300 24 297.99 22.39 293.21 24 297.99 25.62 300 24%22/%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cpath class%3D%22st0%22 d%3D%22M143.04%2C47.07l-2.24-.37s-1.73-3.63%2C1.73-11.35c0%2C0-2.35%2C7.09.5%2C11.72Z%22/%3E%3Cpath class%3D%22st0%22 d%3D%22M135%2C33.55l.22%2C3.77s2.16%2C2.9%2C6.75-2.92c0%2C0-4.22%2C3.95-6.97-.85Z%22/%3E%3C/g%3E%3Cpolygon class%3D%22st0%22 points%3D%22134.57 47.8 137.08 46.3 140.31 38.15 135.46 43.57 134.57 47.8%22/%3E%3C/g%3E%3Cpath class%3D%22st0%22 d%3D%22M139.32%2C40.54l-.42-.71c6.26-10.53%2C14.58-16.33%2C23.44-16.33h133.81v1h-133.81c-8.7%2C0-16.87%2C5.69-23.02%2C16.04Z%22/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cpath class%3D%22st0%22 d%3D%22M5.27%2C31.79l-1.19-2.45s.25-3.86%2C5.02-4.99c0%2C0-3.88%2C1.86-3.82%2C7.44Z%22/%3E%3Cpath class%3D%22st0%22 d%3D%22M5.27%2C15.79l-1.19%2C2.45s.25%2C3.86%2C5.02%2C4.99c0%2C0-3.88-1.86-3.82-7.44Z%22/%3E%3C/g%3E%3Cpolygon class%3D%22st0%22 points%3D%220 23.79 2.01 25.41 6.79 23.79 2.01 22.18 0 23.79%22/%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cpath class%3D%22st0%22 d%3D%22M156.96.72l2.24.37s1.73%2C3.63-1.73%2C11.35c0%2C0%2C2.35-7.09-.5-11.72Z%22/%3E%3Cpath class%3D%22st0%22 d%3D%22M165%2C14.25l-.22-3.77s-2.16-2.91-6.75%2C2.92c0%2C0%2C4.22-3.95%2C6.97.85Z%22/%3E%3C/g%3E%3Cpolygon class%3D%22st0%22 points%3D%22165.43 0 162.92 1.49 159.69 9.65 164.54 4.22 165.43 0%22/%3E%3C/g%3E%3Cpath class%3D%22st0%22 d%3D%22M137.66%2C24.29H3.86v-1h133.81c8.7%2C0%2C16.87-5.69%2C23.02-16.04l.42.71c-6.26%2C10.53-14.59%2C16.33-23.44%2C16.33Z%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E');
width: 200px;
display:flex;
margin-bottom: 36px;
}*/
#packages .price{
  font-size: var(--font-l);
  line-height: var(--line-l);
  display:flex;
  justify-content: center;
  gap:var(--xxs);
}
#result .price{
  font-size: var(--font-xxl);
  line-height: var(--line-xxl);
}
#packages ul:last-of-type .price{
  display: inline-flex;
}
#result .price > div,
#packages .price > div{
  display:flex;
  align-items:center;
  margin-bottom: 0;
}
#packages ul:last-of-type .price{
  font-size: var(--font-l);
  line-height: var(--line-l);
}
#packages ul:last-of-type .price > div{
  margin-bottom:0;
}
#result .price span,
#packages .price span{
font-size: var(--font-l);
  line-height: var(--line-l);
  margin-right: var(--xxxxs);
}
#packages ul:last-of-type .price span{
  font-size: var(--font-l);
  line-height: var(--line-l);
  margin-right:var(--xxxxs);
}
#packages .price .old-price{
font-size: var(--font-l);
  line-height: var(--line-l);
  text-decoration: line-through;
}
#packages .price .old-price span{
  font-size: var(--font-m);
  line-height: var(--line-m);
  margin-right:0;
}

.forminator-module-edit-link {
    display: none !important;
}


/* Banner Section */
.banner {
    position: relative;
    overflow: hidden;
    background: #000;
}

.content .section:last-of-type{
  margin-bottom:0;
}

.photo-credit{
  text-transform: uppercase;
  letter-spacing:2px;
  font-family: "futura-pt", sans-serif;
  margin-top: var(--s);
  font-size: var(--font-xs);
  line-height: var(--line-xs);
}

.banner__image,
.banner__video {
    background-size: cover;
    background-position: top;
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 600px;
    margin: 0 auto;
    color: white;
    text-align: center;
}

/* wedding packages */
/*@media screen and (max-width: 750px) {
  .page-id-17 .banner__image{
    background-position:-750px 0;
  }
}*/

.page-id-7 .banner__video{
  /*filter: contrast(0.9) saturate(0.7);*/
}

.page-id-7 .banner__video video{
    filter: saturate(0.65) brightness(0.8);
}


.page-id-23 .banner__image{
  filter: brightness(0.85);
  background-position: center center;
}

/* faq */
@media screen and (max-width: 750px) {
  .page-id-31 .banner__video video{
    transform: translate(-75%, -50%);
  }
}



.banner__image{
  filter: contrast(0.9) saturate(0.7);
  transform: matrix(1.2, 0, 0, 1.2, 0, 0);
  opacity: 1;
  transition: transform 0.1s linear, opacity 0.1s linear;
  will-change: transform, opacity;
}



.home .banner__image{
  background-position: center var(--xs);
}
.banner__video video{
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    filter: brightness(0.75) contrast(1.1);
}

.banner__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    color: #fff;
    padding: var(--xxxl);
}

.home .banner__content{
  transform: translate(-50%, 25%);
}

/* Header Section */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: transparent;
    padding: var(--m) 0 var(--xxxl);
    width: 100%;
    align-items: center;
    transform: translateY(0);
    transition: transform 0.3s linear, background 1s linear, padding 1s linear;
    will-change: transform, background, padding;
}

.header.hidden {
    transform: translateY(-100%);
}

.header.adjusted-padding {
    padding-top: var(--m);
    padding-bottom: var(--xxxl);
}

.header.with-background {
   background: rgba(247, 245, 241, 0.95);
}

.header__menu__burger,
.header__contact__close {
    position: relative;
   width: 24px;
  height: 18px;
    background: transparent;
    padding: 0;
}
.header__menu__burger{
  display: none;
}
.header__contact__close{
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s linear, visibility 0.5s linear;
  transition: ;
  position: absolute;
  top: 50%; 
  left: 50%;
  transform: translate(-50%, -50%); 
}
.header__contact__close.is-active{
  opacity:1;
  visibility: visible;
}
.header__menu__burger:hover,
.header__menu__burger:focus,
.header__menu__burger:active,
.header__contact__close:hover,
.header__contact__close:focus,
.header__contact__close:active {
    background: transparent;
}

.header__menu__burger span,
.header__contact__close span {
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition: background-color 0.5s, transform 0.5s, opacity 0.5s;
    will-change: background-color, transform, opacity;
}
.header__contact__close span{
  background-color: #000;
}

.header__menu__burger span:first-child{
    top: 0;
}

.header__menu__burger span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
}

.header__menu__burger span:last-child {
    bottom: 0;
}

.header.with-background .header__menu__burger span {
    background-color: #000;
}


.header.is-active .header__menu__burger span {
    background-color: #000;
}


.header.is-active .header__menu__burger span:first-child,
.header__contact__close span:first-child{
    transform: rotate(45deg) translateY(-50%);
    top: 50%;
}
.header.is-active .header__menu__burger span:nth-child(2) {
    opacity: 0;
}
.header.is-active .header__menu__burger span:last-child,
.header__contact__close span:last-child {
    transform: rotate(-45deg) translateY(50%);
    bottom: 50%;
}


.header__logo {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
}

.header__logo svg {
  width:260px;
  transition: all 1s;
    will-change: all;
}

.header__logo svg g {
    fill: #fff;
    transition: fill .5s;
    will-change: fill;
}




.header.with-background .header__logo span{
  color:#000;
}
.header.with-background .header__logo svg g,
.header.with-background .header__logo svg .st0 {
    fill: #000;

}

.header.adjusted-padding .header__logo{
  transform: translate(-50%, 0);
}
.header.adjusted-padding .header__logo svg{
  width:240px;
}

.header__logo__image {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: scale(1);
    transition: transform 0.3s linear;
}
.header__logo__image:hover{
  transform: scale(1.05);
}
.header__contact {
    display: none;
    z-index: 9999;
    position: relative;
    /*  visibility:visible;
  opacity:1;
  transition:opacity 0.5s linear, visibility 0.5s linear;
  will-change: opacity, visibility;*/


}


.form-success{
  padding: var(--m);
  background: #393e51;
  color: #fff;
}

/*.header__contact:before{
  content:'';
  width:60px;
  height:60px;
  position:absolute;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="brown" width="60" height="60"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>');
  background-repeat: no-repeat;
  background-position: center center;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
*/


.header.is-active .header__contact {
    /*  visibility:hidden;
  opacity:0;*/

}



.header__contact__link {
    color: #fff;
    text-decoration: none;
    will-change: color, opacity, visibility;
    opacity:1;
    visibility: visible;
    transition: color 0.5s linear, opacity 0.5s linear, visibility 0.5s linear;
    text-transform: uppercase;
    font-size: var(--font-xs);
    line-height: var(--line-xxl);
    letter-spacing:2px;
    position: relative;
    padding: 0;
    background: none;
}
.header__contact__link::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: var(--xl);
    height: var(--xl);
    display: block;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 130 130"><path d="M 65,29 C 59,19 49,12 37,12 20,12 7,25 7,42 7,75 25,80 65,118 105,80 123,75 123,42 123,25 110,12 93,12 81,12 71,19 65,29 z" fill="%23dc2c43" fill-opacity="0.2"/></svg>') no-repeat center;
}

.header__contact__link:hover{
  color:#fff;
}
.header__contact__link span {
    display: block;
    text-align: center;
}
.header__contact__link span:before {
    content: none;
}

.header__contact__link.is-active{
  opacity: 0;
  visibility: hidden;
  
}

.header.is-active .header__contact__link,
.header.is-active-enquiry .header__contact__link,
.header.with-background .header__contact__link,
.header.is-active .header__contact__link:hover,
.header.is-active-enquiry .header__contact__link:hover,
.header.with-background .header__contact__link:hover {
    color: #000;
}


/* Navigation */
.navigation {
    font-family: "futura-pt", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
    font-size: var(--font-s);
    line-height: var(--line-s);
    letter-spacing: 3px;
    text-align: center;
}

.navigation.is-active {
    display: block;
}

.navigation ul {
    display: flex;
    padding: 0 var(--l);
}

.navigation li {
    margin-right: var(--l);
}
.navigation li:last-of-type {
    margin-right: 0;
}



.navigation li a {
    text-decoration: none;
    color: #fff;
    padding-top: var(--xxs);
    display: block;
    position: relative;
}

.header.with-background .navigation li a {
    color: #000;
}

.navigation li a:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 0;
    background-color:#fff;
    transform: scale(0);
    transform-origin: right center;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: transform;
}

.header.with-background .navigation li a:before {
    background-color: #000;
}

.navigation li a:hover:before {
    transform: scale(1);
    transform-origin: left center;
}

section.showreel{
  margin-bottom: 0;
  padding-bottom: 0;
}
section.gallery-wrapper{
  padding:var(--xl) 0 0;
}
/* Lightbox Styles */

.custom-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 6fr));
    gap: 0;
    width: 100%;
    margin-top:var(--l);
}

/* Thumbnail styling */
.custom-gallery img {
    width:100%;
    height:100%;
    object-fit: cover;
    cursor: pointer;
}

.gallery-item {
  position: relative;
  overflow: hidden;
}

.gallery-item img {
  position: relative;
  transform: scale(1);
  transition: transform 0.3s linear;
  z-index:-1;
}

.gallery-item:hover img {
  transform: scale(1.05);
}

.gallery-item:before {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="white"><path d="M384 208A176 176 0 1 0 32 208a176 176 0 1 0 352 0zM343.3 366C307 397.2 259.7 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 51.7-18.8 99-50 135.3L510.5 487.9l-22.6 22.6L343.3 366z"/></svg>');
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: var(--font-xxl);
  line-height: var(--line-xxl);
  color: white;
  opacity: 0;
  transform:scale(0.9) translate(-50%, -50%);
  transition: opacity 0.3s linear, transform 0.3s linear;
  pointer-events: none; /* Prevents interaction with the pseudo-element */
  width:var(--l);
  height:var(--l);
}

.gallery-item:hover:before {
  opacity: 1;
  transform: scale(1) translate(-50%, -50%);
}

/* Thumbnail hover effect */
.custom-gallery img:hover {

}

/* Lightbox overlay */
#lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Lightbox open state */
#lightbox.open {
    display: flex;
    opacity: 1;
}

/* Lightbox content styling */
.lightbox-content {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: scale(0.95);
    transition: transform 0.3s ease-in-out;
}

#lightbox.open .lightbox-content {
    transform: scale(1);
}

/* Lightbox image */
#lightbox img {
    max-width: 90%;
    max-height: 90%;
    display: block;
    margin: auto;
    border: 5px solid white;
    box-shadow: 0 0 var(--s) rgba(0, 0, 0, 0.5);
}

/* Navigation buttons */
#lightbox-prev, #lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--font-xxl);
    line-height: var(--line-xxl);
    color: white;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    cursor: pointer;
    padding: var(--xxs) var(--s);
    z-index: 1100;
}

#lightbox-prev {
    left: var(--xxs);
}

#lightbox-next {
    right: var(--xxs);
}

/* Close button */
#lightbox-close {
    position: absolute;
    top: var(--s);
    right: var(--s);
    color: white;
   font-size: var(--font-xxl);
   line-height: var(--line-xxl);
    font-weight: bold;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1100;
}




.copyright-bar {
    font-family: "futura-pt", sans-serif;
    text-transform: uppercase;
    text-align: center;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-top: var(--m);
     font-size: var(--font-xs);
}


.copyright-bar:after{
    content: '';
    width: var(--s);
    height: var(--s);
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 130 130"><path d="M 65,29 C 59,19 49,12 37,12 20,12 7,25 7,42 7,75 25,80 65,118 105,80 123,75 123,42 123,25 110,12 93,12 81,12 71,19 65,29 z" fill="%23dc2c43" fill-opacity="0.2"/></svg>') no-repeat center;
    align-self: center;
}

ul.copyright-links {
    display: flex;
    justify-content: center;
    gap: var(--xxxs);
    margin: var(--xxxs) 0 0;
}
.copyright-links li {
    margin: 0;
}




/* Content */
.content {

}

.sidebar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color:rgba(247, 245, 241, 1);
    transition: opacity 0.5s linear, visibility 0.5s linear;
    will-change: opacity, visibility;
    z-index: 9990;
    visibility: hidden;
    opacity: 0;
overflow-y: scroll;
}

.sidebar__content {
    display: flex;
    flex-direction: column;
    width: 100%;
}




.footer {
    font-family: "futura-pt", sans-serif;
    padding: var(--xxxl) var(--l);
    font-size: var(--font-m);
    line-height: var(--line-m);
}


.footer .head {
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: var(--m);
    color:#4A3F35;

}

.footer-info li{

}

.footer li {
    margin-bottom: var(--xs);
    letter-spacing: 1px;
}
.footer a{
  line-height:var(--line-l);
}
.footer ul>div>li:last-of-type {
    margin-bottom: 0;
}


.socials {
    gap: var(--xs);
    display: flex;
    justify-content: center;
    align-items: center;
}
.socials a {
    width: var(--m);
    height: var(--m);
    display: block;
    transform: scale(0.8);
    will-change: transform, fill;
    transition: transform 0.2s ease, fill 0.2s ease;
}
.socials a:hover {
    transform: scale(1);
}
.socials svg {
    width: 100%;
    height: 100%;
}
/*.socials a:hover path{
  fill:#4A3F35;
}*/
.socials li {
    margin-bottom: 0;
}



.contact li:not(.head) > * {
    display: flex;
    align-items: center;
    gap: var(--xs);
    width: auto;
    max-width: fit-content;

}
.contact svg {
    min-width: var(--s);
    height: var(--s);
    display: inline-block;
}
.contact li.whatsapp svg,
 .whatsapp svg{
    fill: #25D366;
}

.content .whatsapp{
  display: inline-flex;
  align-items: center;
  gap: var(--xxxs);
  vertical-align: middle;
  margin-left:var(--xxxxs);
}
.content .whatsapp:before {
    content: "";
    display: inline-block;
    width: var(--m); 
    height: var(--m);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%2325D366" d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zM223.9 438.7c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"></path></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}


/* Video Controls Styling */
.video-controls {
  position: absolute;
  bottom: var(--s);
  right: var(--s);
  z-index: 10;
}

/* Button styling */
#playPauseButton {
  border: none;
  padding: 0;
  cursor: pointer;
  border-radius: 50%;
  width: var(--l);
  height: var(--l);
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  position: relative;
}

#playPauseButton:hover {
background-color: rgba(255,255,255,.2);
}

/* SVG icons */
#playPauseButton svg {
  width: var(--s);
  height: var(--s);
  pointer-events: none; /* Prevent SVG from interfering with button clicks */
  position: absolute; /* Allows stacking for transitions */
  transition: opacity 0.3s ease; /* Smooth fade effect */
  opacity: 0; /* Initially hidden */
}

#playPauseButton .pause-icon {
  opacity: 1; /* Pause icon visible initially */
}

#playPauseButton.playing .play-icon {
  opacity: 0; /* Hide play icon when video is playing */
}

#playPauseButton.playing .pause-icon {
  opacity: 1; /* Show pause icon when video is playing */
}

#playPauseButton.paused .play-icon {
  opacity: 1; /* Show play icon when video is paused */
}

#playPauseButton.paused .pause-icon {
  opacity: 0; /* Hide pause icon when video is paused */
}



.faq{
  padding: var(--xxxl) 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.faq li{
    background:#F7F5F1;
    color:#4A3F35;
   padding: var(--m) var(--l);
}
.faq li:not(:last-of-type){
  margin-bottom:var(--xs);
}

.faq .faq-content {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease;
    padding-top: 0;
    padding-bottom: 0;
    text-align: left;
}


.faq .faq-head {
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: var(--font-xl);
    line-height: var(--line-xl);
    font-weight:600;
    gap:var(--m);
    text-align: left;
}


.faq .faq-head:after {
    content: "+";
    font-size:var(--font-xxl);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease; /* Smooth transition */
    color:#C3B091;
    width:var(--s);
}

.faq .faq-head.active:after {
    content: "-";
}



.faq .faq-content.open {
    max-height: none; /* Let content define its own height */
    opacity: 1;
    padding: 12px 0; /* Ensure padding is applied when open */
}




.question, 
.result {
    opacity: 0;
    display: none;
    transition: opacity 0.3s ease;
}

.visible {
    display: block;
    opacity: 1;
}
.package ul,
.packages-wrapper ul{
 padding: var(--m) 0;
}


.package li{
  text-align: left;
}
#quiz_wrapper{
  background: #393e51;
  /*margin: calc(-1 * var(--xxxl)) calc(-1 * var(--xl)) 0;*/
  padding: var(--l) 0 0;
  color:#fff;
}
#result{
  padding:var(--xl);
  background: rgba(0,0,0,.05);
  border-radius: var(--s);
}
#all-packages{
  margin: 0 calc(-1 * var(--xl));
}
#quiz{
  padding: var(--xl);
background: rgba(0,0,0,.05);
border-radius: var(--s);

}
/*#packages{
  padding-bottom:0;
}*/
#all-packages > div{
  display:flex;
  gap:var(--l);
  flex-direction: column;

}

#recommended-package-text{
  padding: 0 var(--l);
}
.package > div,
#all-packages > div > div{
  display: flex;
  padding: 0;
  flex-direction: column;
  align-items: center;
}
#all-packages > div > div{
  background: #F7F5F1;
  padding: var(--l);
}
.package > .addition{
padding: var(--l) 0 0;
  display: flex;
  flex-direction: column;
  font-size: var(--font-button);
  line-height: var(--line-button);
  text-transform: uppercase;
  letter-spacing: 3px;
  font-family: "futura-pt", sans-serif;
}
.package > .addition strong{
  color:#c3b091;
}



/*#all-packages-table{
  text-align:center;
  color: #4A3F35;
  background:#F7F5F1;
  padding:var(--xl);
}*/

#all-packages-table .price-table-wrapper{
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#all-packages-table table{
  border:0;
  width: auto;
  table-layout: auto;
  margin: var(--l) auto 0;
}
#all-packages-table th,
#all-packages-table td{
  border-bottom: 0;
  padding:var(--xs) var(--m);

}
#all-packages-table th{
  text-align:left;
  border-right:0;
    font-weight:600;
}
#all-packages-table table tr:nth-child(odd) {
  background-color: #F7F5F1;
}

#all-packages-table td{
  border-right:0;
}
#all-packages-table tr td:last-child{
  border-right:0;
  padding-right:var(--xs);
}

#all-packages-table tr:last-child th,
#all-packages-table tr:last-child td{
  border-bottom:0;
}
#all-packages-table th > span{
  border-bottom:1px dashed #393e51;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  line-height:var(--line-xl);
}
#all-packages-table th > span:after {
  flex:0 0 auto;
    content: "";
    display: inline-block;
    width: var(--xs);
    height: var(--xs);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23393e51' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM168 184c0-30.9 25.1-56 56-56l56.9 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4l0 23.6-48 0 0-24 0-13.5 0-13.9 12.1-6.9 44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1L224 176c-4.4 0-8 3.6-8 8l0 6.5-48 0 0-6.5zm64 184l0-48 48 0 0 48-48 0z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    margin-left:var(--xs);
}

#all-packages-table th > span:hover{
  border-color:transparent;
}
#all-packages-table td{
  text-align: center;
}
#result .price,
#all-packages-table .price{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
}

#all-packages-table .price{
  font-size:var(--font-l);
}
#result .price{
    font-size:var(--font-xxl);
}
#result .price > span,
#all-packages-table .price > span{
  font-size:var(--font-s);
  font-weight:400;
}

#all-packages-table .save{
  font-size: var(--font-button);
  line-height: var(--line-button);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: "futura-pt", sans-serif;
}
#all-packages-table .button{
  margin:0;
}


.awards{
  display:flex;
  justify-content: center;
  align-items:center;
  margin: var(--xl) 0;
}

.awards > div{
  display:flex;
  gap:var(--s);
}
.awards img{
  width:220px;
  border-radius: var(--xxxs);
}

.sidebar .awards{
  margin:var(--xs) var(--l) var(--xxxxl);
}






/* Responsive Adjustments */
@media screen and (max-width: 768px) {

   .forminator-repeater-field{
  margin-left: calc(-1 * var(--xl)) !important;
  margin-right: calc(-1 * var(--xl)) !important;

  }

  #all-packages-table .price-table-wrapper{
    margin-left:calc(-1 * var(--m));
    margin-right:calc(-1 * var(--m));
  }

  blockquote{
    max-width:100%;
  }

  #quiz,
  #result,
  .button-wrapper.bottom{
    margin-left:calc(-1 * var(--xl));
    margin-right:calc(-1 * var(--xl));
    border-radius:0;
  }


}




/* Responsive Adjustments */
@media screen and (max-width: 1439px) {

.packages-new{
  padding-left: var(--m);
  padding-right: var(--m);
}
.packages-new-inner{
  flex-direction: column;
}



.faq li {
    margin-left: calc(-1 * var(--m));
    margin-right: calc(-1 * var(--m));
}

.package ul,
.packages-wrapper ul{
  border-bottom: 1px solid #C3B091;
}
.home .package ul:first-of-type,
.home .packages-wrapper ul:first-of-type{
  border-top: 1px solid #C3B091;
}
#recommended-package-text{
  padding-bottom:var(--m);
}
  .button-wrapper{
    flex-direction: column;
  }
  .button-wrapper button{
    justify-content: center;
  }
.packages-wrapper > div{
  flex-direction: column;
}
.price-wrapper button,
.addition button,
#no-package button,
#view-all,
#restart-btn{
  width: 100%;
}

    .footer .head.toggle{
      cursor:pointer;
      margin-bottom:0;
    }
    .footer .head.toggle + div{
        display: block;  /* Ensure it's still part of the layout */
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
        will-change:max-height, opacity, padding;
        padding-top: 0;
        padding-bottom: 0;
    }
    .footer .head.toggle > span{
      display: flex;
      justify-content: center;
      align-items: center;
      padding: var(--xxxs) 0;
    }
    .footer .head.toggle > span:after{
        content: "+";
        width: var(--xs);
        height: var(--xs);
        margin-left:var(--xxxs);
        display:flex;
        align-items:center;
        justify-content: center;
    }
    .footer .head.toggle > span.active:after {
        content: "-";
    }
    .socials{
      margin-top: var(--l);
    }





.page .content-wrapper{
  margin-top:0;
}


#packages ul,
.packages-wrapper ul{
  flex-direction: column;
}


.split{
flex-direction: column;
gap:0;
}

.split section:last-of-type{
padding-top:0;
}
.split section > div:first-of-type{
    margin:calc(-1 * var(--m)) 0 0;
}
.split section:last-of-type > div:first-of-type{
    margin-top:0;
}
blockquote {
  padding: 0;
}
.split.links section a {
    aspect-ratio: 1/1;
}

.home .banner__content{

  transform: translate(-50%, -25%);
}
.custom-gallery {
    grid-template-columns: repeat(auto-fit, minmax(125px,1fr));
}


.page figure:nth-child(4n+2),
.page figure:nth-child(4n+3),
.page .content-wrapper > div:nth-child(4n+2),
.page .content-wrapper > div:nth-child(4n+3) {
  background: transparent;
}
.page figure:nth-child(2n),
.page .content-wrapper > div:nth-child(2n){
  background: #F7F5F1;
}

  .video-container {
    aspect-ratio: 1/1;
}
.video-thumbnail {
    aspect-ratio: 1/1;

}


    .header {
        display: flex;
        padding-left: var(--m);
        padding-right: var(--m);
    }
    .sidebar.is-active {
        opacity: 1;
        visibility: visible;
    }

    #background-video-section video{

    }

    .banner__video video{
        width:auto;
    }

    .header__menu {
        flex: 1;
        z-index: 9999;
        visibility: visible;
        opacity: 1;
        transition: opacity 0.5s linear, visibility 0.5s linear;
    }

    .header.is-active-enquiry .header__menu,
    .header.is-active-enquiry .header__logo {
        visibility: hidden;
        opacity: 0;
    }


    .header__menu__burger {
        display: block;
    }

    .header__logo {
        transform: translate(-50%, var(--xs));
        flex: 1;
        z-index: 9999;
    }

    .header__logo__image {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }

    .header.adjusted-padding {
        padding-bottom: var(--l);
    }

    .header.adjusted-padding .header__logo {
        transform: translate(-50%, var(--xxxxs));
    }
    



    .header__logo svg {
        height: auto;
        width:180px;
    }
    .header.adjusted-padding .header__logo__image svg{
        width:160px;
    }
    .header.is-active .header__logo svg g .st0,
    .header.is-active-enquiry .header__logo svg g .st0{
        fill: #000;
    }
    .header.is-active .header__logo span,
    .header.is-active-enquiry .header__logo span{
      color:#000;
    }

    .header__contact {
        display: flex;
        align-items: center;
        font-family: "futura-pt", sans-serif;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-size: var(--font-xs);
        line-height: var(--line-xs);
    }

    .navigation {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        min-height: 650px;
       background-color: rgba(247, 245, 241, 0.97);
        z-index: 9990;
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.5s linear, visibility 0.5s linear;
        will-change: opacity, visibility;
    }

    .navigation.is-active {
        opacity: 1;
        visibility: visible;
    }

    .navigation ul {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        flex-direction: column;
        padding: 0;
        width: 100%;
        text-align: center;
        list-style-position: outside;
    }

    .navigation li {
        margin-right: 0;
        display: flex;
      justify-content: center;
      text-align: center;
      align-self: center;
      width:100%;
    }

    .navigation li a {
        color: #000;
        padding: var(--s) 0;
        display: block;
        text-align: center;
        margin: 0 auto;
    }

    .navigation li a:before {
        background-color: #000;
    }
    .contact li:not(.head) > * {
        gap:var(--xxs);
        max-width: none;
        justify-content: center;
    }

    .footer ul:not(.copyright-links) {
        margin-bottom: var(--xs);
    }
    .footer-info {
        text-align: center;
    }


    .home .banner__image{
      background-position: center var(--xxxs);
    }


}















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

  .packages-wrapper > div{
  gap: var(--xl);
}

  .home #result h3{
    padding-bottom: var(--xxs);
    border-bottom: 1px solid #c3b091;
  }

  .package ul,
  ..packages-wrapper ul{
   padding: var(--m) 0;
  }
  .home .package ul,
  .home .packages-wrapper ul{
   padding: var(--xl) 0 0;
  }

  #down-hint{
    bottom: var(--xxxl);
  }

.faq li {
   width: calc(100% * 2 / 3);
   align-self:center;
}

form{
  max-width:75%;
}
.custom-modal-content form{
  max-width:100%;
}
.page .content-wrapper{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
}

    .navigation li:nth-child(5) {
        margin-left: auto;
        padding-left: 300px;
    }

    .contact-sidebar {
        display: none;
    }

    h1+p,
    .home h1+p+p
  {
      margin:0 auto;
  }




    .footer-info {
        display: flex;
        gap: var(--xxxl);
        justify-content: center;
        margin: 0 0 var(--xxl);
    }
    .socials {
        margin: 0 0 var(--m);
    }
    .contact {
        order: -1;
    }



}