/*!
Theme Name: Holloways-theme
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: holloways-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

Holloways Custom Theme © 2026 Holloways. All Rights Reserved.
*/

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	    max-width: 100%;
    overflow-x: hidden !important;

}

.playfair-display-<uniquifier> {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

body {
	margin: 0;
	overflow-x: hidden !important;
}
main {
	display: block;
}

@media (min-width: 1281px) {
    .offset-right {
        width: calc(100vw - ((100vw - 1280px) / 2)) !important;
        max-width: none !important;
        margin-right: calc((1280px - 100vw) / 2) !important;
    }
}


a {
	background-color: transparent;
}

.about-link{
	padding-bottom: 10px !important;
}

.about-link{
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: "Proxima Nova", sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0;
    color: #1C939E;
    text-decoration: none;
}

.about-link::before{
    content: "";
    width: 44px;
    height: 1.5px;
    background: #1C939E;
    display: block;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/* Gform CSS */

/* ==================================================
   1. Form Inputs, Textarea & Labels (#gform_1, #gform_3 & #gform_4)
   ================================================== */

/* Input & Textarea Base Styles */
#gform_1 fieldset input,
#gform_1 .ginput_container input,
#gform_1 .ginput_container textarea,
#gform_3 fieldset input,
#gform_3 .ginput_container input,
#gform_3 .ginput_container textarea,
#gform_4 fieldset input,
#gform_4 .ginput_container input,
#gform_4 .ginput_container textarea {
    border: 1px solid #D4D7E3 !important;
    font-family: "Proxima Nova", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0;
    color: #080C0B;
    min-height: 40px;
    border-radius: 12px !important;
    outline: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Focus State (#2CA0A0 Border & Glow) */
#gform_1 fieldset input:focus,
#gform_1 .ginput_container input:focus,
#gform_1 .ginput_container textarea:focus,
#gform_3 fieldset input:focus,
#gform_3 .ginput_container input:focus,
#gform_3 .ginput_container textarea:focus,
#gform_4 fieldset input:focus,
#gform_4 .ginput_container input:focus,
#gform_4 .ginput_container textarea:focus {
    border-color: #2CA0A0 !important;
    box-shadow: 0 0 0 3px rgba(44, 160, 160, 0.15) !important;
}

/* Placeholder Styling */
#gform_1 fieldset input::placeholder,
#gform_1 .ginput_container input::placeholder,
#gform_1 .ginput_container textarea::placeholder,
#gform_3 fieldset input::placeholder,
#gform_3 .ginput_container input::placeholder,
#gform_3 .ginput_container textarea::placeholder,
#gform_4 fieldset input::placeholder,
#gform_4 .ginput_container input::placeholder,
#gform_4 .ginput_container textarea::placeholder {
    font-family: "Proxima Nova", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0.01em;
    color: #636363;
    opacity: 1;
}

/* Field Labels */
#gform_1 .gfield_label,
#gform_3 .gfield_label,
#gform_4 .gfield_label {
    font-family: "Proxima Nova", sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.01em;
    vertical-align: middle;
    color: #080C0B;
}

/* Field Spacing */
#gform_1 #gform_fields_1,
#gform_3 #gform_fields_3,
#gform_4 #gform_fields_4 {
    row-gap: 20px !important;
}


/* ==================================================
   2. Checkbox / Radio Choice Styling (#gform_1, #gform_3 & #gform_4)
   ================================================== */
#gform_1 #choice_1_10_1 {
    width: 18px !important;
    min-height: 15px !important;
    border-radius: 3px !important;
    border: 1px solid #D4D7E3 !important;
}

#gform_3 #choice_3_10_1 {
    width: 18px !important;
    min-height: 15px !important;
    border: 1px solid #D4D7E3 !important;
}

#gform_4 #choice_4_10_1 {
    width: 18px !important;
    min-height: 15px !important;
    border-radius: 3px !important;
    border: 1px solid #D4D7E3 !important;
}

#gform_1 #choice_1_10_1:focus,
#gform_3 #choice_3_10_1:focus,
#gform_4 #choice_4_10_1:focus {
    border-color: #2CA0A0 !important;
}

#gform_1 #label_1_10_1,
#gform_3 #label_3_10_1,
#gform_4 #label_4_10_1 {
    font-family: "Proxima Nova", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0;
    margin: 0 0 0 7px !important;
}

#gform_3 #field_3_15, 
#gform_3 #field_3_16, 
#gform_3 #field_3_9 {
    font-family: "Proxima Nova", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0%;
    color: #636363;
}

#gform_3 #field_3_16 a {
    color: #2CA0A0;
    font-family: "Proxima Nova", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0%;
    text-decoration: underline;
}

.gform_heading {
    display: none !important;
}


/* ==================================================
   3. Buttons & Footer Setup (#gform_1, #gform_3 & #gform_4)
   ================================================== */
#gform_1 .gform_footer,
#gform_3 .gform_footer,
#gform_4 .gform_footer {
    position: relative;
    display: inline-block;
    width: 100%;
}

/* Submit Buttons Normal State */
#gform_1 #gform_submit_button_1,
#gform_3 #gform_submit_button_3,
#gform_4 #gform_submit_button_4 {
    position: relative;
    padding: 14px 45px 14px 22px !important;
    border: 1px solid #2CA0A0 !important;
    background: #2CA0A0 !important;
    color: #fff !important;
    border-radius: 30px !important;
    transition: all 0.3s ease;
    width: 100%;
    text-align: left;
    font-family: "Google_Sans_Flex", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0;
    display: flex;
    justify-content: flex-start;
    cursor: pointer;
}

/* Submit Buttons Hover & Focus States */
#gform_1 #gform_submit_button_1:hover,
#gform_1 #gform_submit_button_1:focus,
#gform_3 #gform_submit_button_3:hover,
#gform_3 #gform_submit_button_3:focus,
#gform_4 #gform_submit_button_4:hover,
#gform_4 #gform_submit_button_4:focus {
    background: transparent !important;
    border-color: #2CA0A0 !important;
    color: #2CA0A0 !important;
    outline: none !important;
}


/* ==================================================
   4. SVG Arrow Icon & Hover Effect
   ================================================== */
#gform_1 .gform_footer::after,
#gform_3 .gform_footer::after,
#gform_4 .gform_footer::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 13px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #fff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.08178 0.258397C5.41643 -0.086219 5.95908 -0.0860444 6.29384 0.258397L11.7489 5.87593C12.0837 6.22063 12.0837 6.77937 11.7489 7.12408L6.29384 12.7416C5.95908 13.086 5.41643 13.0862 5.08178 12.7416C4.74713 12.397 4.7473 11.8382 5.08178 11.4935L9.07371 7.38267L0.857147 7.38267C0.383757 7.38267 0 6.98748 0 6.5C0 6.01252 0.383757 5.61733 0.857147 5.61733L9.07371 5.61733L5.08178 1.50655C4.7473 1.16182 4.74713 0.603013 5.08178 0.258397Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.08178 0.258397C5.41643 -0.086219 5.95908 -0.0860444 6.29384 0.258397L11.7489 5.87593C12.0837 6.22063 12.0837 6.77937 11.7489 7.12408L6.29384 12.7416C5.95908 13.086 5.41643 13.0862 5.08178 12.7416C4.74713 12.397 4.7473 11.8382 5.08178 11.4935L9.07371 7.38267L0.857147 7.38267C0.383757 7.38267 0 6.98748 0 6.5C0 6.01252 0.383757 5.61733 0.857147 5.61733L9.07371 5.61733L5.08178 1.50655C4.7473 1.16182 4.74713 0.603013 5.08178 0.258397Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: background-color 0.3s ease;
    pointer-events: none;
}

/* Arrow Hover & Focus Color Shift */
#gform_1 .gform_footer:hover::after,
#gform_1 .gform_footer:focus-within::after,
#gform_3 .gform_footer:hover::after,
#gform_3 .gform_footer:focus-within::after,
#gform_4 .gform_footer:hover::after,
#gform_4 .gform_footer:focus-within::after {
    background-color: #2CA0A0;
}


/* ==================================================
   5. Radio Buttons Specific Fix (#gform_1, #gform_3 & #gform_4)
   ================================================== */
#gform_1 .gfield_radio input[type="radio"],
#gform_3 .gfield_radio input[type="radio"],
#gform_4 .gfield_radio input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    border-radius: 50% !important;
    border: 1px solid #D4D7E3 !important;
    appearance: none;
    -webkit-appearance: none;
    outline: none !important;
    cursor: pointer;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block;
    vertical-align: middle;
    background-color: #fff;
    transition: all 0.2s ease;
}

/* Radio Choice Layout (Align Radio & Label) */
#gform_1 .gchoice,
#gform_3 .gchoice,
#gform_4 .gchoice {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 12px !important;
}

/* Label Spacing & Style */
#gform_1 .gchoice label,
#gform_3 .gchoice label,
#gform_4 .gchoice label {
    font-family: "Proxima Nova", sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    color: #080C0B !important;
    margin: 0 0 0 10px !important;
    cursor: pointer;
}

/* Radio Checked State (#2CA0A0 Outer Ring & Inner Dot) */
#gform_1 .gfield_radio input[type="radio"]:checked,
#gform_3 .gfield_radio input[type="radio"]:checked,
#gform_4 .gfield_radio input[type="radio"]:checked {
    border-color: #2CA0A0 !important;
    background-color: #fff !important;
    background-image: radial-gradient(circle, #2CA0A0 40%, transparent 45%) !important;
}

/* Radio Hover & Focus States */
#gform_1 .gfield_radio input[type="radio"]:hover,
#gform_3 .gfield_radio input[type="radio"]:hover,
#gform_4 .gfield_radio input[type="radio"]:hover,
#gform_1 .gfield_radio input[type="radio"]:focus,
#gform_3 .gfield_radio input[type="radio"]:focus,
#gform_4 .gfield_radio input[type="radio"]:focus {
    border-color: #2CA0A0 !important;
    box-shadow: 0 0 0 3px rgba(44, 160, 160, 0.15) !important;
}

@media (max-width: 992px) {
    #gform_1 .ginput_container textarea,
    #gform_4 .ginput_container textarea {
        height: 30px !important;
    }
    #gform_1 #gform_fields_1,
    #gform_3 #gform_fields_3,
    #gform_4 #gform_fields_4 {
        row-gap: 5px !important;
    }
}


/* ==================================================
   6. Popup Form Grid Layout (#gform_1 & #gform_4)
   ================================================== */
.popup-form #gform_fields_1,
.popup-form #gform_fields_4 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/* 50% Width Fields */
.popup-form #field_1_1,
.popup-form #field_1_3,
.popup-form #field_1_4,
.popup-form #field_1_5,
.popup-form #field_4_1,
.popup-form #field_4_3,
.popup-form #field_4_4,
.popup-form #field_4_5 {
    width: calc(50% - 10px) !important;
    flex: 0 0 calc(50% - 10px);
}

/* Full Width Fields */
.popup-form #field_1_6,
.popup-form #field_1_7,
.popup-form #field_1_10,
.popup-form #field_4_6,
.popup-form #field_4_7,
.popup-form #field_4_10,
.popup-form .gform_footer {
    width: 100% !important;
    flex: 0 0 100%;
}

/* Mobile Responsive */
@media (max-width: 767px) {
    .popup-form #gform_fields_1,
    .popup-form #gform_fields_4 {
        gap: 15px;
    }

    .popup-form #field_1_1,
    .popup-form #field_1_3,
    .popup-form #field_1_4,
    .popup-form #field_1_5,
    .popup-form #field_4_1,
    .popup-form #field_4_3,
    .popup-form #field_4_4,
    .popup-form #field_4_5 {
        width: 100% !important;
        flex: 0 0 100%;
    }
}

.hhb-portfolio-tabs {
   width: 100%;
  overflow: hidden;
  
}

/* TABS */

.hhb-portfolio-tabs-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
	padding-top: 80px;
   padding-bottom: 45px;
    flex-wrap: wrap;
}

.hhb-portfolio-tab {
    position: relative;
    border: 0;
    padding: 15px 45px;
    border-radius: 50px;
    cursor: pointer;
    font-family: "Google_Sans_Flex", Sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 20px !important;
    letter-spacing: 0px !important;
    text-align: center;
    color: #181B1B !important;
    background: #FFFFFF !important;
    transition: all .3s ease;
	box-shadow: 0px 4px 40px 0px #0000001A !important;

}

/* Hover */
.hhb-portfolio-tab:hover {
    background: #2CA0A0 !important;
    color: #fff !important;
}

/* Active Tab */
.hhb-portfolio-tab.active {
    position: relative;
    background-color: #2CA0A0 !important;
    color: #fff !important;
    border-radius: 50px;
}

/* Active Tab Arrow */
.hhb-portfolio-tab.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid #2CA0A0;
}

/* TAB CONTENT */

.hhb-portfolio-tab-content {
    display: none;
}

.hhb-portfolio-tab-content.active {
    display: block;
}

/* SWIPER */

.hhb-portfolio-swiper {
    width: 100%;
    overflow: hidden;
}

.hhb-portfolio-swiper .swiper-wrapper {
    display: flex;
}

.hhb-portfolio-swiper .swiper-slide {
    flex-shrink: 0;
}

/* ITEM */

.hhb-portfolio-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 45px;
}

/* IMAGE */

.hhb-portfolio-image {
    width: 100%;
   
    overflow: hidden;
    border-radius: 20px;
    background: #f5f5f5;
}

.hhb-portfolio-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
	border-radius:20px;
}

/* CONTENT */

.hhb-portfolio-info {
    padding: 20px;
}

.hhb-portfolio-info h3 {
    margin: 0 0 15px;
font-family: "Google_Sans_Flex", Sans-serif;
font-weight: 500;
font-style: Medium;
font-size: 24px;
leading-trim: NONE;
line-height: 28px;
letter-spacing: 0px;
color:#080C0B;
}

.hhb-portfolio-description {
font-family: Proxima Nova;
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: NONE;
line-height: 22px;
letter-spacing: 0%;
color:#636363;
}


/* CONTROLS */

.hhb-portfolio-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 60px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 9999;
  width: 47%;
  border-top: 1px solid #DDDDDD;
}

.hhb-portfolio-controls a {
    width: 45px;
    height: 45px;
    border: 0;
    border-radius: 50%;
    background: #2CA0A0;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
}

.hhb-portfolio-pause {
    font-size: 35px !important;
		background-color: transparent !important;
  border: 0 !important;
}

.hhb-portfolio-prev,.hhb-portfolio-next{
	font-family: Proxima Nova;
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: NONE;
line-height: 22px;
letter-spacing: 1px;
text-transform: uppercase;
color:#636363;
	background-color: transparent !important;
  border: 0 !important;
	display: flex;
  flex-direction: column;
}

/* MOBILE */

@media (max-width: 1000px) {

    .hhb-portfolio-item {
        grid-template-columns: 1fr;
        gap: 20px;
    }

	.hhb-portfolio-controls{
		position: unset ;
		width: 100%;
	}

    .hhb-portfolio-info {
        padding: 10px 0;
    }

    .hhb-portfolio-info h3 {
        font-size: 22px;
    }

    .hhb-portfolio-tabs-nav {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .hhb-portfolio-tab {
        white-space: nowrap;
    }

}
.elementor-widget-social-icons .elementor-grid-item:not(:has(a[href])) {
    display: none !important;
}
/* Mega Menu Items */
.mega-menu-items .elementor-nav-menu--main .elementor-nav-menu > li {
    position: relative !important;
}

/* Link */
.mega-menu-items .elementor-nav-menu--main .elementor-nav-menu > li > a {
    display: block !important;
    padding: 16px 30px 16px 0 !important;
    color: #666666 !important;
    border-bottom: 1px solid #d5ecec !important;
}

/* Arrow on LI */
.mega-menu-items .elementor-nav-menu--main .elementor-nav-menu > li::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 10px !important;
    height: 10px !important;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.23482 0.198767C4.51369 -0.0663223 4.9659 -0.0661879 5.24487 0.198767L9.79079 4.51994C10.0697 4.7851 10.0697 5.2149 9.79079 5.48006L5.24487 9.80123C4.9659 10.0662 4.51369 10.0663 4.23482 9.80123C3.95594 9.53614 3.95608 9.10629 4.23482 8.84112L7.56142 5.67898L0.714289 5.67898C0.319798 5.67898 -4.69896e-07 5.37499 -4.37114e-07 5C-4.04331e-07 4.62501 0.319798 4.32102 0.714289 4.32102L7.56142 4.32102L4.23482 1.15888C3.95608 0.893708 3.95594 0.463856 4.23482 0.198767Z' fill='%231C939E'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Remove Elementor's default arrow */
.mega-menu-items .elementor-nav-menu--main .elementor-nav-menu > li > a::after {
    display: none !important;
}

/* Hover text */
.mega-menu-items .elementor-nav-menu--main .elementor-nav-menu > li > a:hover {
    color: #2CA0A0 !important;
}
/* Remove Elementor underline */
.mega-menu-items .elementor-nav-menu--main .elementor-nav-menu > li > a::before {
    display: none !important;
}
/* Last item */
.mega-menu-items .elementor-nav-menu--main .elementor-nav-menu > li:last-child > a {
    border-bottom: none !important;
}

/* About Menu */
.about-menu .elementor-nav-menu--main {
    background: transparent !important;
}

/* Menu links */
.about-menu .elementor-nav-menu--main .elementor-nav-menu > li > a {
   color:#636363 !important;
	font-family: "Proxima Nova", Sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    letter-spacing: 0px;
}

/* Hover */
.about-menu .elementor-nav-menu--main .elementor-nav-menu > li > a:hover {
    color: #fff !important;
    background: #2CA0A0 !important;
}

/* Remove Elementor underline */
.about-menu .elementor-nav-menu--main .elementor-nav-menu > li > a::before {
    display: none !important;
}

/* Remove default Elementor arrow if any */
.about-menu .elementor-nav-menu--main .elementor-nav-menu > li > a::after {
    display: none !important;
}

