* { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.suspension-contain {max-height: 980px; overflow:hidden; position: relative;}
html.suspended {background: rgba(0,0,0,0.6);}
body {max-width: 100%; min-width: 320px; margin: 0 auto; font-family: 'Figtree', sans-serif; font-size: 20px; font-weight: 400; color: #060B1F; line-height: 1.4em;}
a {color:inherit; text-decoration: none;}
a:hover {text-decoration: none; color: inherit;}
a,img {transition: all ease 0.5s;}
h1, h2, h3, h4, h5, ul, ol, li, a, p {margin: 0; padding: 0;}
h1, h2, h3, h4, h5 {font-family: 'Unna', sans-serif; font-weight: 700; color: #061326; line-height: 1em;}
h1, h2 {font-size: 60px;}
h3 {font-size: 35px;}
.row {max-width: 1840px; margin: 0 auto; padding: 0 10px;}
.block {display: block;}

/*button*/
.btn {font-family: 'Unna', sans-serif; font-weight: 700; color: #060B1F !important; background: #EBC69A; border-radius: 5px; display: block; max-width: 250px; padding: 16px 20px; text-align: center; transition: transform 0.3s ease;}
.btn:hover {transform: scale(1.08); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);}

/*cookie*/
.cc-window {background: #061326 !important;}
.cc-animate.cc-revoke.cc-bottom {font-size: 15px; padding: 5px 10px; position: fixed; display: block !important; transform: none !important; bottom: 0 !important; left: 20px !important;}
.cc-dismiss {background: #EBC69A !important; color: #060B1F !important; border-radius: 5px !important;}

/*call to action*/
.destroy-on-load, .cta {display: none;}

/*contact form messages*/
form .messages p {display: none;font-family: Arial !important;font-weight: 400 !important;letter-spacing: 0 !important;font-size: 16px !important;}
form .loading {display: none;}
form .alert {padding: 15px;margin-bottom: 20px;border: 1px solid transparent;border-radius: 4px;}
form .alert-success {color: #3c763d;background-color: #dff0d8;border-color: #d6e9c6;}
form .alert-danger {color: #a94442;background-color: #f2dede;border-color: #ebccd1;}
form [type="submit"] {margin:20px auto}

/*contact form*/
.ctc-form {margin: 0 auto;text-align: center;}
.ctc-form .half {display: flex; column-gap: 10px;}
.ctc-form .half label {width: 100%;}
.ctc-form input:not([type="submit"]):not([type="checkbox"]),.ctc-form textarea {font-family: "Figtree", sans-serif; font-size: 18px; color: #060B1F; border-radius: 4px; height: 45px; display: block; width: 100%; border: 1px solid #ddd; padding: 5px 10px; margin-bottom: 10px;}
.ctc-form textarea {height: 120px; padding-top: 10px;}
.ctc-form .recap {display: inline-block;}
.ctc-form .g-recaptcha div {margin: 0 auto 10px;}
.ctc-form .ctcBtn {font-size: 20px; margin: 20px auto 0; border: none; width: 100%; max-width: 130px;}
.ctc-hide {display: none;}
.ctc-form .consent-label {font-size: 18px;}

/*gallery*/
#content .gallery-container {text-align: center;}
#content .gallery {list-style-type: none; margin: 0;padding: 0; display: flex; flex-wrap: wrap; justify-content: space-between;}
#content .gallery li {display: inline-block; width: 24%;}
#content .gallery .img-responsive {display: block; width: 100%; max-width: 335px; height: 335px; object-fit: cover;}
#content .thumbnail {background-color: #fff;border: 1px solid #ddd;border-radius: 4px;display: block;line-height: .42857; margin-bottom: 20px;padding: 4px;transition: border 0.5s ease-in-out 0s;}
#content .thumbnail:hover {transform: scale(1.02);}
#content .page_navigation {display: inline-block;}
#content .page_link,#content .previous_link,#content .next_link,#content  .first_link,#content  .last_link, #content .ellipse {background-color: #EBC69A; border: 1px solid #A67C4E; color: #FFF; display: inline-block;line-height: 1.25;margin-left: -1px;padding: 0.5rem 0.75rem;position: relative;}
#content .page_navigation > a:hover , .page_navigation > a.active_page {background-color: #061326; border-color: #061326; color: #FFF; text-decoration: none;}
.gallery-page #shine {margin-top: 100px;}
.fancybox-opened .fancybox-title {display: none !important;}

/*header*/
#header {position: absolute; padding: 15px 0 0; width: 100%; z-index: 999;}
#header .row {display: flex; justify-content: space-between; align-items: flex-start;}
#header .logo, #header .navigation, #header .contact-action {width: 32%;}
#header .logo a {display: inline-block;}
#header .logo img {display: block;}
#header .navigation {padding-top: 25px;}
#header nav a#pull {display: none;}
#header nav ul {display: flex; justify-content: center; align-items: center; list-style: none; column-gap: 45px;}
#header nav ul li a {color: #FFF; line-height: 1.2em;}
#header nav ul li.active-menu a, #header nav ul li a:hover {color: #EBC69A;}
#header .contact-action .wrapper {display: flex; align-items: center; justify-content: flex-end; column-gap: 20px; padding-top: 15px;}
#header .contact-action .wrapper p {font-size: 12px; color: #EBC599; line-height: 1.2em; text-align: center;}
#header .contact-action .wrapper p a {font-family: 'Unna', sans-serif; font-size: 30px; font-weight: 700; color: #FFF; line-height: 1em; display: block;}
#header .contact-action .wrapper .btn {padding: 11px 20px;}
.inner #header {background: #061326; padding: 15px 0; position: relative;}
#header .mobile-phone{display:none;}

/*banner*/
#banner .main-banner {background: url('../images/content/main-banner-background.webp') no-repeat; background-size: cover; background-position: top center; height: 100vh; padding-top: 180px; box-sizing: border-box; position: relative;}
#banner .main-banner::before {content: ""; position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 100%; background-image: linear-gradient(to bottom, rgba(6, 19, 38, 0.8), rgba(6, 19, 38, 0) 50%); pointer-events: none;}
#banner .main-banner .row {position: relative; z-index: 5; text-align: center;}
#banner .main-banner h1 {font-size: 80px; line-height: 1.2em; color: #FFF;}
#banner .main-banner p {font-size: 25px; color: #FFF;}
#banner .main-banner .btn {margin: 50px auto 0;}
#banner .inner-banner {background: #F6F3EE; padding: 70px 0 110px;}
#banner .inner-banner h1 {font-size: 80px; text-align: center;}

/*content*/
#offer {padding: 50px 0;}
#offer .row {display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 50px;}
#offer .promo-box {border: 1px solid #E5DDCF; border-radius: 20px; overflow: hidden;}
#offer .promo-box .title-image {position: relative;}
#offer .promo-box .title-image img {display: block; width: 100%;}
#offer .title-image .title {padding: 50px 50px 0 50px; position: absolute; top: 0; left: 0; right: 0; width: 100%;}
#offer .title-image .title p {font-size: 15px; line-height: 1.2em; color: #FFF; margin-bottom: 10px;}
#offer .title-image .title h3 {color: #FFF;}
#offer .promo-box .content {padding: 45px 50px 35px;}
#offer .promo-box .content .btn {color: #EBC599 !important; background: transparent; padding: 0; border-radius: 0; max-width: none; display: inline-block; margin-top: 15px;}
#offer .promo-box .content .btn:hover {box-shadow: none !important;}
#seasonal .background-wrapper {background: url('../images/content/seasonal-background.webp') no-repeat; background-size: cover; padding: 160px 30px; border-radius: 20px; overflow: hidden; position: relative;}
#seasonal .background-wrapper:before {content: ""; position: absolute; inset: 0; background: rgba(6, 19, 38, 0.3); z-index: 1;}
#seasonal .background-wrapper:after {content: ""; position: absolute; inset: 0; background: linear-gradient(to right, rgba(6, 19, 38, 0) 50%, rgba(6, 19, 38, 0.8) 100%); z-index: 2;}
#seasonal .content-wrapper {position: relative; z-index: 10; max-width: 1366px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; color: #FFF;}
#seasonal .content-wrapper .content-left {width: 39.53%;}
#seasonal .content-left .sub-text {font-family: 'Unna', sans-serif; font-weight: 700; color: #EBC69A; line-height: 1.2em;}
#seasonal .content-wrapper .content-left h2 {color: #FFF; margin: 20px 0 50px;}
#seasonal .content-wrapper .content-left .btn {margin-top: 50px;}
#seasonal .content-wrapper .content-right {width: 54.02%; display: grid; grid-template-columns: repeat(2, 1fr);}
#seasonal .content-right .box {padding: 70px 20px; text-align: center;}
#seasonal .content-right .box:first-of-type {border-right: 1px solid rgba(255, 255, 255, 0.2); border-bottom: 1px solid rgba(255, 255, 255, 0.2);}  
#seasonal .content-right .box:nth-of-type(2) {border-bottom: 1px solid rgba(255, 255, 255, 0.2);}
#seasonal .content-right .box:nth-of-type(3) {border-right: 1px solid rgba(255, 255, 255, 0.2);}
#seasonal .content-right .box img {display: block; height: 80px; width: 100%; max-width: 80px; object-fit: contain; margin: 0 auto 20px;}
#seasonal .content-right .box h3 {font-size: 30px; color: #FFF;}
#brighter {padding: 80px 0 100px; text-align: center;}
#brighter .gallery {display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 50px; margin: 70px 0 60px;}
#brighter .gallery .image-wrap img {display: block; width: 100%; border-radius: 20px;}
#brighter .cluster {display: flex; flex-direction: column; justify-content: space-between;}
#brighter .btn {margin: 0 auto;}
#shine {background: url('../images/content/shine-section-background.webp') no-repeat; background-size: cover; padding: 200px 0 190px; position: relative;}
#shine:before {content: ""; position: absolute; inset: 0; background: rgba(6, 19, 38, 0.3);}
#shine .row {position: relative;}
#shine h2 {color: #FFF; text-align: center;}
#shine .btn {margin: 25px auto 0;}

/*footer*/
#footer {background: #061326; border-top: 2px solid; border-image: linear-gradient(to right, transparent 0%, #EBC69A 20%, #EBC69A 80%, transparent 100%) 1;position: relative;}
#footer .info {padding: 60px 0 80px;}
#footer .info .row {display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1430px;}
#footer .info .phone, #footer .info .logo, #footer .info .email {padding: 0 20px; text-align: center; display: flex; flex-direction: column; justify-content: center;}
#footer .info .phone p, #footer .info .email p {font-size: 12px; color: #EBC69A; line-height: 1.2em;}
#footer .info .phone a, #footer .info .email a {font-family: 'Unna', sans-serif; font-size: 30px; font-weight: 700; color: #FFF; line-height: 1em; display: block; margin-top: 5px;}
#footer .info .logo {border-left: 1px solid rgba(255, 255, 255, 0.2); border-right: 1px solid rgba(255, 255, 255, 0.2);}
#footer .info .logo a {display: block; width: fit-content; margin: 0 auto;}
#footer .info .logo img {display: block;}
#footer .nav-copyright {border-top: 1px solid rgba(255, 255, 255, 0.2); padding: 30px 0; text-align: center;}
#footer nav ul {display: flex; align-items: center; justify-content: center; column-gap: 45px; list-style: none;}
#footer nav ul li a {color: #FFF; line-height: 1.2em;}
#footernav ul li.active-menu a, #footer nav ul li a:hover {color: #EBC69A;}
#footer .nav-copyright p {font-size: 12px; color: #EBC599; line-height: 1.2em; text-transform: uppercase; margin-top: 20px;}

/*inner pages*/
.inner #content {background: #F6F3EE;}
.inner #content .row {max-width: 1386px;}

/*about*/
.about-page .flex-split {display: flex; justify-content: space-between; align-items: center;}
.about-page .flex-split .image-wrapper {width: 41.94%;}
.about-page .flex-split .image-wrapper img {display: block; width: 100%; border-radius: 20px;}
.about-page .flex-split .content-wrapper {width: 46.12%;}
.about-page .flex-split .content-wrapper h2 {margin-bottom: 25px;}
.about-page .flex-split .content-wrapper p:not(:last-of-type) {margin-bottom: 30px;}
.about-page .flex-split-reverse {flex-direction: row-reverse;}
.about-page #our-story, .about-page #lakeside-lighting {margin-bottom: 115px;}

/*services*/
.services-page #content p {margin-bottom: 115px; text-align: center;}

/*contact*/
.contact-page #content {padding-bottom: 115px;}
.contact-page #content .row {max-width: 787px;}

/** Responsive
-------------------------------------------------------*/
@media screen and (max-width: 1600px) {
  #header .logo,  #header .contact-action {width: 25%;}
  #header .navigation {width: 48%;}
  #header .contact-action .wrapper {flex-direction: column; width: fit-content; margin-left: auto; row-gap: 10px;}
}

@media screen and (max-width: 1366px) {
  h1, h2 {font-size: 50px;}
  h3 {font-size: 30px;}
  p {font-size: 18px;}
  .btn {padding: 14px 20px;}
  #header .logo img {max-width: 170px;}
  #header nav ul li a {font-size: 18px;}
  #header .contact-action .wrapper p a {font-size: 25px;}
  #header .contact-action .wrapper .btn {font-size: 17px; padding: 7px 14px;}
  #banner .main-banner h1 {font-size: 65px;}
  #banner .main-banner p {font-size: 22px;}
  #banner .main-banner .btn {margin: 40px auto 0;}
  #offer {padding: 30px 0;}
  #offer .row {gap: 30px;}
  #offer .title-image .title {padding: 35px 30px 0 30px;}
  #offer .promo-box .content {padding: 25px;}
  #seasonal .background-wrapper {padding: 100px 30px;}
  #seasonal .content-right .box h3 {font-size: 27px;}
  #seasonal .content-wrapper .content-left h2 {margin: 20px 0 30px;}
  #seasonal .content-wrapper .content-left .btn {margin-top: 40px;}
  #brighter {padding: 80px 0;}
  #brighter .gallery {margin: 60px 0 50px; column-gap: 40px;}
  #shine {padding: 150px 0;}
  #footer .info {padding: 50px 0 70px;}
  #footer .nav-copyright {padding: 25px 0;}
  #footer .info .phone a, #footer .info .email a {font-size: 27px;}
  #footer nav ul li a {font-size: 18px;}
  #banner .inner-banner {padding: 70px 0 80px;}
  #banner .inner-banner h1 {font-size: 60px;}
  .about-page #our-story, .about-page #lakeside-lighting {margin-bottom: 80px;}
  .services-page #content p {margin-bottom: 80px;}
  .gallery-page #shine {margin-top: 80px;}
  .contact-page #content {padding-bottom: 80px;}
}

@media screen and (max-width: 1200px) {
  h1, h2 {font-size: 45px;}
  #shine {padding: 120px 0;}
}

@media screen and (max-width: 1024px) {
  h1, h2 {font-size: 40px;}
  h3 {font-size: 27px;}
  #banner .main-banner h1 {font-size: 55px;}
  #banner .main-banner p {font-size: 20px;}
  #offer .row {gap: 20px;}
  #seasonal .background-wrapper {padding: 80px 20px;}
  #seasonal .content-right .box {padding: 40px 10px;}
  #seasonal .content-right .box h3 {font-size: 25px;}
  #brighter {padding: 50px 0;}
  #brighter .gallery {margin: 50px 0 40px; column-gap: 30px;}
  #shine {padding: 100px 0;}
  #footer .info {padding: 40px 0 60px;}
  #footer .nav-copyright {padding: 20px 0;}
  #footer .info .phone a, #footer .info .email a {font-size: 25px;}
  #footer .info .logo img {max-width: 170px;}
  #banner .inner-banner {padding: 50px;}
  #banner .inner-banner h1 {font-size: 50px;}
  .about-page .flex-split {align-items: flex-start;}
  .about-page .flex-split .content-wrapper {width: 50%;}
  .about-page .flex-split .content-wrapper h2, .about-page .flex-split .content-wrapper p:not(:last-of-type) {margin-bottom: 20px;}
  .about-page #our-story, .about-page #lakeside-lighting {margin-bottom: 50px;}
  .services-page #content p {margin-bottom: 50px;}
  .gallery-page #shine {margin-top: 50px;}
  #content .gallery li {width: 32%;}
  .contact-page #content {padding-bottom: 50px;}
}

@media screen and (max-width: 980px) {
  #header, .inner #header {padding: 0;}
  #header .row {display: block; padding: 0;}
  #header .logo, #header .contact-action {display: none !important;}
  #header .navigation {padding: 0; width: 100%;}
  #header nav {display:block; height: auto;}
  #header nav ul {background: rgba(0, 0, 0, 0.8); width: 100%; display: none; height: auto; padding: 0 15px;}
  #header nav ul li {width: 100%; position: relative;}
  #header nav ul li a {display: block; float:none; padding: 10px 0;}
  #header nav a {text-align: left; width: 100%;}
  #header nav a strong {position: absolute; top: 50%; transform: translateY(-50%); left: 15px;}
  #header nav a#pull {display: block; color: #fff; background-color: #061326; height: 50px; padding: 10px 0; width: 100%; position: relative;}
  #header nav a#pull:after {content:""; background: url('../images/nav-icon.png') no-repeat; width: 20px; height: 20px; display: inline-block; position: absolute; right: 15px; top: 50%; transform: translateY(-50%);}
  #header nav a#pull img {display: block; width: 100%; max-width: 60px; position: absolute; top: 10px; left: 10px;}
  #header .mobile-phone {display: block; width: fit-content; position: absolute; top: 13px; right: 60px; z-index: 5;}
  #header .mobile-phone i {color: #EBC69A; font-size: 22px;}
  #banner .main-banner {height: auto; padding: 180px 0 120px;}
  .inner #header {position: absolute;}
  #banner .inner-banner {padding: 110px 0 50px;}
}

@media screen and (max-width: 880px) {
  h1, h2 {font-size: 35px;}
  #shine {padding: 80px 0;}
  #footer .info .phone a, #footer .info .email a {font-size: 23px;}
  #banner .inner-banner h1 {font-size: 40px;}
  #content .gallery li {width: 49%;}
  #content .gallery .img-responsive {max-width: 100%;}
}

@media screen and (max-width: 767px) {
  h1, h2 {font-size: 30px;}
  h3 {font-size: 25px;}
  #banner .main-banner h1 {font-size: 40px;}
  #banner .main-banner p {font-size: 18px;}
  #banner .main-banner .btn {margin: 30px auto 0;}
  #offer .row {grid-template-columns: 1fr; row-gap: 30px;}
  #offer .promo-box {border-radius: 10px;}
  #offer .title-image .title {padding: 30px 20px 0 20px;}
  #offer .promo-box .content {padding: 20px;}
  #seasonal .background-wrapper {padding: 50px 20px; border-radius: 10px;}
  #seasonal .content-wrapper {flex-direction: column; row-gap: 50px;}
  #seasonal .content-wrapper .content-left, #seasonal .content-wrapper .content-right, .about-page .flex-split .image-wrapper, .about-page .flex-split .content-wrapper {width: 100%;}
  #seasonal .content-wrapper .content-left {text-align: center;}
  #seasonal .content-wrapper .content-left .btn {margin: 30px auto 0;}
  #seasonal .content-right .box {padding: 20px 10px;}
  #seasonal .content-right .box img {max-width: 60px;}
  #brighter .gallery {margin: 30px 0; grid-template-columns: 1fr; row-gap: 20px;}
  #brighter .cluster {row-gap: 20px;}
  #brighter .gallery .image-wrap img, .about-page .flex-split .image-wrapper img {border-radius: 10px;}
  #brighter {padding: 30px 0;}
  #shine {padding: 50px 0;}
  #footer .info .phone, #footer .info .logo, #footer .info .email {padding: 0;}
  #footer .info .logo {order: 1; border: none;}
  #footer .info .phone {order: 2;}
  #footer .info .email {order: 3;}
  #footer .info {padding: 30px 0;}
  #footer .info .row {grid-template-columns: 1fr; row-gap: 30px;}
  #footer nav ul {flex-wrap: wrap; row-gap: 15px; column-gap: 30px; max-width: 280px; margin: 0 auto;}
  #footer .nav-copyright p {max-width: 325px; margin: 20px auto 0;}
  #banner .inner-banner {padding: 90px 0 30px;}
  #banner .inner-banner h1 {font-size: 35px;}
  .about-page .flex-split {flex-direction: column; row-gap: 25px;}
  .about-page .flex-split .content-wrapper {text-align: center;}
  .about-page .flex-split .content-wrapper p:not(:last-of-type) {margin-bottom: 15px;}
  .about-page #our-story, .about-page #lakeside-lighting, .services-page #content p {margin-bottom: 30px;}
  .gallery-page #shine {margin-top: 30px;}
  #content .gallery li {width: 100%;}
  .contact-page #content {padding-bottom: 30px;}
  .ctc-form .half {flex-direction: column;}
}

@media screen and (max-width: 480px) {
  #banner .main-banner {height: auto; padding: 150px 0 90px;}
  #seasonal .content-wrapper .content-right {grid-template-columns: 1fr;}
  #seasonal .content-right .box {border: none !important; border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;}
  #seasonal .content-right .box h3 {font-size: 23px;}
}