@import url('https://fonts.googleapis.com/css?family=Lato:300,400,500,700,900');
a{
	-webkit-transition: all linear 300ms;
	-moz-transition: all linear 300ms;
	transition: all linear 300ms;
}
input, textarea, select, body{
	font-size:14px;
	font-family: 'Lato';
	font-weight: normal;
	}
header{
	background-color: #3C3C3B;
	color: #fff;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1111;
	padding: 0 80px;
	box-sizing: border-box;
}
.logoHolder{
	padding-top:50px;
	float: left;
}
.logoHolder a, .eventionsLogo, .eventLocation:before, .eventTime:before, .hasDropdown>a:after, .bottomLogo a, .flex-direction-nav a.flex-next:before, .flex-direction-nav a.flex-prev:before{
	background-image:url(../images/sprite.png);
	background-repeat: no-repeat;
}
.logoHolder a{
	display: block;
	width: 162px;
	height: 45px;
}
.rightHeader{
	float: right;
}
header .rightAlign{
	margin-bottom: 30px;
}
.organizedBy{
	font-size: 10px;
	text-transform: uppercase;
	padding-top: 10px;
	padding-bottom: 5px;
}
.eventionsLogo{
	display: block;
	width: 68px;
	height: 17px;
	background-position: 0 -45px;
	margin-left: 10px;
	margin-bottom: 10px;
	pointer-events: none;
}
.boxItem{
    width: 335px;;
    height: 340px;
}
.infoBox{
    height: 340px;
	
}
.mainNav{
	text-align: right;
	margin-bottom: 20px;
}
.mainNav li{
	display: inline-block;
	vertical-align: middle;
	margin: 0 30px;
}
.mainNav li:last-child{
	margin-right: 0;
}
.mainNav a{
	color: #fff;
	font-size: 12px;
	padding: 10px;
	text-transform: uppercase;
	display: block;
}
.languagesSwitch li{
	display: inline-block;
	margin-left: 5px;
}
.languagesSwitch a{
	display: block;
	padding: 15px 10px 5px 10px;
	background: #fff;
	font-size: 11px;
	text-transform: uppercase;
	color: #3C3C3B;
}
.languagesSwitch a:hover, .languagesSwitch a.active{
	color: #fff;
	background-color: #801335;
}
.languageMain{
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
}
/* Banner tile layout */
.bannerTile{
	padding-left: 0;
	padding-right: 0;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}
.bannerInfoBar{
	display: flex;
	align-items: stretch;
	background-color: #801335;
	color: #fff;
	padding: 0;
	height: 110px;
}
.bannerLeft{
	flex: 1;
	display: flex;
	align-items: center;
	padding: 0px 80px;
}
.bannerEventTitle{
	font-family: 'Lato', sans-serif;
	font-size: 19px;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 22px;
	color: #fff;
	margin: 0;
	max-width: 150px;
}
.bannerRight{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 18px 0px 0px 15px;
	min-width: 210px;
}
.bannerDate{
	padding-left: 20px;
	position: relative;
	line-height: 17px;
	color: #fff;
	white-space: nowrap;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 4px;
	margin-left: 10px;
}
.bannerDetails{
	background-color: rgba(0,0,0,0.15);
	padding: 6px 10px;
	min-width: 300px;
	height: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bannerLocation,
.bannerTime{
	padding-left: 20px;
	position: relative;
	line-height: 18.73px;
	color: #fff;
	white-space: nowrap;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 500;
}
.bannerDate .fa,
.bannerLocation .fa,
.bannerTime .fa{
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -6px;
	font-size: 12px;
	color: #fff;
	width: 14px;
	text-align: center;
}
.bannerDate .fa{
	font-size: 13px;
}
.bannerLearnMore{
	position: absolute;
	bottom: 30px;
	left: 0;
	right: 0;
	text-align: center;
}
.bannerLearnMore .primaryBtn{
	color: #fff;
	border: 1px solid #fff;
	min-width: 111px;
	padding: 7px 15px;
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	text-align: center;
}
.bannerLearnMore .primaryBtn:hover{
	background-color: #801335;
	border-color: #801335;
}
.topBannerImage{
	position: relative;
}
.topBannerImage img{
	display: block;
	width: 100%;
	height: 455px;      
    object-fit: cover; 
}
.eventLocation, .eventTime{
	padding-left: 25px;
	position: relative;
	padding-top: 2px; 
	padding-bottom: 2px; 
}
.eventLocation:before, .eventTime:before{
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	margin-top: -10px;
	left: 0;
	width: 20px;
	height: 20px;
}
.eventLocation:before{
	background-position: 0 -70px;
}
.eventTime:before{
	background-position: 0 -90px;
}
.continueLeft{
	margin-right: -15px;
}
.continueRight{
	margin-left: -15px;
}
.primaryBtn{
	display: inline-block;
	font-size: 12px;
	text-transform: uppercase;
	padding: 10px 15px;
}
.listingLink .primaryBtn{
	color: #fff;
	border: 1px solid #fff;
}
.listingLink .primaryBtn:hover{
	background-color: #801335;
	border-color: #801335;
}
.bannerSection{
	padding: 30px 0 0 15px;
}
.bannerSection:last-child{
	padding-bottom: 30px;
}
.bannerSection img{
	display: block;
	width: 100%;
}
.contentPad{
	position: relative;
	padding: 80px 0;
}


.organisersSection .width30{
	background-color: #3d3d3c !important;
}
.organisersSection .contentPad{
	padding: 150px 0px 250px 80px; 
	box-sizing: border-box; 
}
.blockTitle{
	font-size: 32px;
	font-weight: normal;
	text-transform: uppercase;
	margin-bottom: 50px;
	letter-spacing: 2px;
	font-weight: 400;
}
.continueLeftBg{
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
}
.redBg{
	background-color: #801335;
}
.organizersInner{
	margin-right: -394px;
	position: relative;
	z-index: 1;
}
.noRightPad{
	padding-right: 0;
}
.darkestBg{
	background-color: #801335;
}
.darkBg{
	background-color: #fff;
}
.tableDisplay, .tableCell{
	display: table;
	width: 100%;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
.tableCell{
	display: table-cell;
}
.padding30{
	padding: 50px 40px 30px 70px;
}
.rightImagePad{
	padding: 20px;
	background-color: #9D9D9C;
}
.rightImagePad img{
	display: block;
	width: 100%;
}
h4{
	font-size: 32px;
	text-transform: uppercase;
	color: #801335;
	margin-bottom: 15px;
	font-weight:400;

	
}
.organizerText{

	color: #3d3d3c;
	font-weight:400;
	font-size: 19px;
	line-height: 24px;
	text-align: justify;

}
.width20, .width80, .width70, .width30{
	float: left;
	padding-left: 15px;
	padding-right: 15px;
}
.width20{
	width: 20%;
}
.width80{
	width: 80%;
}
.width30{
	width: 30%;
}
.width70{
	width: 70%;
}

.noPad{
	padding: 0;
}
.listingImage img{
	display: block;
	width: 100%;
}
.absBottomLine{
	position: absolute;
	height: 12px;
	border-top:3px solid #801335;
	border-bottom:3px solid #801335;
	bottom: 0;
	left: 15px;
	right: 38px;
}
.vinifestSection .listingText{
	color: #3d3d3c;
	margin-right: 25px;
	margin-bottom: 80px;
}
.vinifestSection .contentPad {
    padding: 80px 0px 60px 100px;  
    box-sizing: border-box;
}
.activitiesSection{
	color: #fff
}
.activitiesList .listingItem{
	display: inline-block;
	text-align: center;
	margin-right: 0px;
	color: #fff;
	padding-bottom: 35px;
}
.activitiesList{
	margin-top: 20px;
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 80px;
}
.activitiesList .listingTitle{
	text-transform: uppercase;
	font-weight: 900;
}
.activitiesList a .listingTitle{
	color: #fff;
}

.activitiesList .listingImage img{
	max-width: 86px;
	display: inline;
	margin-bottom: 40px;
}
.logosCarousel .flexslider .slides img{
	display: inline;
	width: auto;   
}

.logosCarousel{
	margin: 20px 0;
	text-align: center;
}
.flexslider{
	border: 0 none;
	margin-bottom: 0;
	background-color: transparent;
}
.containerHalfGrid{
	position: relative;
    margin-right: -32.5%;

}
.iconsList .listingItem{
	display: inline-block;
	margin-right: 25px;
	max-width: 75px;
}
.iconsList .listingImage img{
    width: 88px;
}
.iconsList{
	padding-top: 50px;
	padding-bottom: 50px;
}
.iconsList:empty{
	display: none;
}
.whiteColorText *, .whiteColorText .listingText{
	color: #fff;
}
.whiteColorText .absBottomLine{
	border-color: #fff;
}
.innerGallery{
	margin-right: -278%;
	position: relative;
}
.innerGallery .flexslider .slides li{
    margin-right: 28px; 
}
.gallerySection .contentPad{
	padding: 60px 60px;
    box-sizing: border-box; 
}
.listingImage{
	position: relative;
	margin-bottom: -23px;
}
.listingImage .caption{
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	color: #fff;
	display: block;
	padding: 20px;
	background-color: rgba(0,0,0,0.4) !important;
	font-size: 14px;
	text-align: left;
}
.testimonialSaying{
	font-size: 16px;
	color: #fff;
	background-color: #801335;
	text-align: center;
	padding: 20px; 
}

.testimonialSaying strong{
	font-weight: 900;
}
.testimonialSection{
	padding: 140PX 30PX 150PX  158px;
	position: relative;
}

.testimonialSection .blockTitle{
	color: #fff;
}
.testimonialSection .listingTitle{
	margin-bottom: 30px;
	font-size: 25px;
}
.testimonialSection .listingItem{
	background: #f4f4f4;
	padding: 30px;
	color: #646363;
	height: 300px;
}
.testimonialSection .contentPad {
    padding: 60px 60px !important; 
    box-sizing: border-box; 
}
.contactFrame{
	height: 100%;
	margin-right: -15px;
}
.innerContact{
	position: relative;
	margin-right: -100%;
	z-index: 11;
}
.contactFrame iframe{
	height: 100%;
	width: 100%;
}
.contactSection .contentPad {
    padding: 80px 0px 80px 80px;
    box-sizing: border-box; 
}

.contactSection .col-md-3{
    height: 752px; 
    
}
.innerContact input[type="text"], .innerContact textarea{
	display: block;
	width: 100%;
	border: 0 none;
	height: 49px;
	color: #3c3c3b;
	padding: 0 10px;
	line-height: 30px;
}
.innerContact textarea{
	height: 135px;
}
.innerContact input[type=submit]{
	color: #fff;
	background-color: #3d3d3c;
	border: 0 none;
	padding: 16px 45px;
	text-transform: uppercase;
	cursor: pointer;
	font-size: 17px;
	letter-spacing: 2px;
	
}
.innerContact input[type=submit]:hover{
	background-color: #801335;
}
.innerContact .inputEntity{
	margin-bottom: 5px;
}
section .blockTitle{
	color: #801335;
}
.activitiesSection .blockTitle, .whiteColorText .blockTitle{
	color: #fff;
}
.activitiesSection .contentPad {
    padding: 120px 0px 120px 80px;  
    box-sizing: border-box; 
}
.hasDropdown{
}
.mainNav{
	position: relative;
}
.hasDropdown>a{
	padding-right: 25px;
	position: relative;
}
.hasDropdown>a:after{
	display: block;
	content: '';
	position: absolute;
	right: 2px;
	width: 20px;
	height: 20px;
	background-position: 0 -110px;
	top: 50%;
	margin-top: -10px;
}
.hasDropdown:hover .dropDownMenu{
	display: block;
}
.dropDownMenu ul{
	background-color: #801335;
	width: 550px;
	margin-top: 20px;
	padding: 10px 0;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	padding-right: 30px
}
.dropDownMenu a{
	color: #fff;
	padding: 3px 10px;
	border-right: 2px solid #fff;
	display: block;
	text-align: left;
}
.dropDownMenu li{
	margin: 0;
	width: 33.33%;
	float:left;
}
.dropDownMenu{
	right: 0;
}
.dropDownMenu ul:after{
	clear: both;
	content: '';
	display: block;
}
.galleryMenu ul{
	width: auto;
	padding-right: 250px;
}
.galleryMenu .dropDownMenu li{
	width: auto;
}
.dropDownMenu li:nth-child(3n) a{
	border-right: 0 none;
}
.listingImage .flexslider .caption{
	padding-right: 100px;
}
.listingImage .flexslider .flex-control-nav{
	width: auto;
	right: 5px;
	bottom: 5px;
	z-index: 111;
	padding-right: 22px;
	line-height: 23px;
}
.listingImage .flexslider .flex-control-paging li a{
	background: transparent;
	border: 1px solid #fff;
}
.listingImage .flexslider .flex-control-paging li a:hover, .listingImage .flexslider .flex-control-paging li a.flex-active{
	background-color: #fff;
}
.listingImage .flexslider .flex-direction-nav{
	display: none;
}
.gallerySection .flex-next:after, .gallerySection .flex-next:before{
	color: #9D9D9C !important
}
.logosCarousel .flex-next:before, .logosCarousel .flex-prev:before{
	color: #9D9D9C !important
}
.logosCarousel .flex-direction-nav a{
	text-align: center;
	line-height: 40px;
}
.dropDownMenu a:hover{
	color: rgba(255,255,255,0.8);
}
.playIcon a:after, .playIcon a:before{
	display: block;
	position: absolute;
	content: '';
}
.playIcon a:after{
	width: 96px;
	height: 96px;
	top: 50%;
	margin-top: -48px;
	left: 50%;
	margin-left: -48px;
	border: 1px solid #fff;
	background-color: rgba(255,255,255,0.2);
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	border-radius: 100%;
}
.playIcon a:before{
	border-top: 14px solid rgba(0,0,0,0);
	border-bottom: 14px solid rgba(0,0,0,0);
	border-left: 21px solid #fff;
	left: 50%;
	margin-left: -10px;
	top: 50%;
	margin-top: -14px;
}
footer{
	color: #fff;
}
.upperFooter{
	padding: 70px 80px 60px 80px; 
	background-color: #3C3C3B;
	box-sizing: border-box;
}
.upperFooter .inlineMiddle+.inlineMiddle{
	margin-left: 300px;
}
.socialMedia{
	float: right;
}
.socialMedia li{
	display: inline-block;
	margin-left: 15px;
}
.socialMedia li a{
	display: block;
	width: 38px;
	height: 38px;
	color: #3C3C3B;
	background-color: #fff;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	font-size: 20px;
	line-height: 38px;
	text-align: center;
}
.socialMedia li a:hover{
	background-color: #801335;
	color: #fff;
}
.bottomLogo a{
	display: block;
	width: 146px;
	height: 36px;
	background-position: 0 -130px;
	pointer-events: none;
}
.lowerFooter{
	background-color: #2E2e2d;
	height: 40px;
	color: #fff;
	font-size: 11px;
	padding: 30px 80px 30px 80px; 
    box-sizing: border-box; 
}
.maxArea {
	background-color: rgb(255, 255, 255);
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}
.mainBanner .maxArea{
    padding-left: 50px;  
    padding-right: 50px; 
    box-sizing: border-box;
}
strong{
	font-weight: 900;
}
body{
	background-color: #dedede;
	padding-top: 125px;
}
.listingImage .flex-control-paging li a{
	width: 10px;
	height: 10px;
	display: inline-flex;
}
.listingImage .flex-control-paging li{
	margin-left: 0;
}
.flex-direction-nav a{
	position: absolute;
}
.flex-direction-nav a.flex-next:before, .flex-direction-nav a.flex-prev:before{
	content: '';
	width: 20px;
	height: 20px;
	top: 50%;
	left: 50%;
	margin-left: -10px;
	margin-top: -10px;
	background-position: 0 -170px;
	right: inherit;
	position: absolute;
}
.flex-direction-nav a.flex-prev:before{
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	transform: rotate(180deg);
}
.innerGallery .flex-direction-nav a.flex-prev:before, .testimonialSection .flex-direction-nav a:before, .testimonialSection .flex-direction-nav a:after{
	background-position: 0 -190px;
}
.lowerFooter a{
	color: #fff;
	text-decoration: underline;
}
.lowerFooter a:hover{
	text-decoration: none;
}
.activitiesList .listingItem:focus, .activitiesList .listingItem:hover, .iconsList .listingItem a:hover, .mainNav a:hover, .mainNav a.active{
	-moz-opacity: 0.6;
	-webkit-opacity: 0.6;
	opacity: 0.6;
}
.mainBanner{
    margin-left: 0;
    margin-right: 0; 
    box-sizing: border-box;
}
.mainBanner .row{
	margin-left: 0;
	margin-right: 0;
}



.continueLeftBg{}
.addresses_list span{
	width: 20px;
	margin-right: 25px;
	display: inline-block;
	text-align: center;
	padding-left: 50px;
	height: 20px;
}
.addresses_list li{
	margin-bottom: 3px;
}
.blockTitle strong{
	font-weight: 900;
}
.absBottomLineParent{
	padding-bottom: 0px;
}
.listingText p{
	line-height: 29px;
	
}
.footer_value, .footer_label{
	display: inline-block;
}
.footer_label{
	margin-right: 5px;
}
.footer_value{
	margin-right: 15px;
}
.footer_value{
	color: #9D9D9C;
}
.footer_value a{
	color: #fff;
}
.no_icon:before{
	display:none;
	}
.topSection .listingText{
	padding:20px;
}
.bottomSection .listingLink{
	text-align:center;
	}
#contact .continueLeft{
	left:15px;
}
.hidden_gallery{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	z-index:-1;
	opacity:0;
	visibility:hidden;
}
.visible_gallery{
	position:static;
	}
.sliders_parent{
	
    text-align: center;
    width: 100%;
    display: block;
    float: none;
    margin: 0 auto;

}
.iconsList .listingItem a{
	-webkit-opacity:1;
	-moz-opacity:1;
	opacity:1;
	}
.iconsList .listingItem.active a{
	-webkit-opacity:1;
	-moz-opacity:1;
	opacity:1;
	}
.galleryDropdown{
	position: relative;
}
.galleryDropdown .dropDownMenu{
	left: 0;
	right: inherit;
}
.galleryDropdown .dropDownMenu ul{
	width: 200px;
}
.galleryDropdown .dropDownMenu li{
	width: 50%;
}
.galleryDropdown .dropDownMenu li:last-child a{
	border-right: 0 none;
}
.gallerySection h2.blockTitle{
	margin-bottom: 25px;
	margin-left: 16px;

}
	
/* Back to top button */
.backToTopBtn {
	display: block !important;
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
	width: 44px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	background-color: #801335;
	color: #fff;
	font-size: 25px;
	border-radius: 50%;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
	transition: opacity 0.3s, background-color 0.2s;
	opacity: 0.85;
}
.backToTopBtn.visible {
	display: block;
}
.backToTopBtn:hover {
	background-color: #801335;
	opacity: 1;
	color: #fff;
	text-decoration: none;
}

.hero-learn-more-btn {
    position: absolute;
    bottom: 50px;                    
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: inline-block;
    min-width: 200px;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    background-color: transparent;
    color: white;
    border: 2px solid white;
    border-radius: 4px;
    text-align: center;
    cursor: pointer;
}

.hero-learn-more-btn:hover {
	background-color: #801335;
	border: none;
}

.container{
    max-width:100% !important;
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
	box-sizing:border-box;
}

html, body{
    overflow-x: hidden;
}

.vinifestSection .continueLeftBg{
    background-color: #ffffff !important;
}
.vinifestSection .width30 {
    background-color: #ffffff !important;
}


.gallerySection .innerGallery {
    margin-right: -478% !important;  
    position: relative !important;
    z-index: 10 !important;
    margin-top: 80px !important;
	margin-left: 80px !important;

}

.gallerySection .images_slider .slides li {
    display: inline-block !important;            
    margin: 0 15px !important; 
    width: 360px !important;         
    
}


.gallerySection .images_slider .slides li img {
    width: 100% !important;
    height: 350px !important;
    object-fit: cover !important;      
   
}

.gallerySection .images_slider .slides {
    display: block !important;
    text-align: center !important;
    white-space: nowrap !important;  
    overflow-x: hidden !important;      
    padding: 20px 0 !important;
}
.gallerySection .images_slider .slides li .caption {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(0,0,0,0.7) !important;
    color: #fff !important;
    padding: 20px !important;
    font-size: 14px !important;
    text-align: left !important;
}


/* Responsive styles for organization section (max-width: 600px) */
@media screen and (max-width: 600px) {
    .organisersSection .width30,
    .organisersSection .width70 {
        width: 100%;
        float: none;
        padding-left: 20px;
        padding-right: 40px;
        box-sizing: border-box;
    }

    .organisersSection .contentPad {
        padding: 60px 20px !important;
    }

    .organizersInner {
        margin-right: 0;
    }

    .organisersSection .width30 {
        background-color: #3d3d3c;
        min-height: auto;
        padding: 40px 20px;
        text-align: center;
    }

    .organisersSection .width30 .tableDisplay,
    .organisersSection .width30 .tableCell {
        display: block;
        height: auto;
        text-align: center;
    }

    .organisersSection .width30 .padding30 {
        padding: 20px;
    }

    .organisersSection .width30 h4 {
        font-size: 28px;
        margin-bottom: 15px;
    }

    .organisersSection .width30 .organizerText {
        font-size: 16px;
        line-height: 1.5;
        text-align: center;
    }

    .organisersSection .width70 .rightImagePad {
        padding: 15px;
        margin-top: 20px;
    }

    .organisersSection .width70 .rightImagePad img {
        width: 100%;
        height: auto;
    }

    /* Adjust block title if needed */
    .organisersSection .blockTitle {
        font-size: 28px;
        text-align: left;
        margin-bottom: 30px;
    }

    /* Fix any absolute positioned elements */
    .organisersSection .continueLeftBg {
        position: relative;
        height: 100%;
    }
}

/* Vinifest Section Responsive (max-width: 600px) */
@media screen and (max-width: 600px) {
    .vinifestSection .width30,
    .vinifestSection .width70 {
        width: 100%;
        float: none;
        padding-left: 20px;
        padding-right: 40px;
        box-sizing: border-box;
    }

    .vinifestSection .contentPad {
        padding: 40px 20px !important;
    }

    .vinifestSection .listingText {
        margin-right: 0;
        text-align: center;
        font-size: 16px;
        line-height: 1.5;
    }

    .vinifestSection .blockTitle {
        font-size: 28px;
        text-align: center;
        margin-bottom: 30px;
    }

    .vinifestSection .listingImage img {
        width: 100%;
        height: auto;
    }

    .vinifestSection .rightImagePad {
        padding: 15px;
        margin-top: 20px;
    }

    .vinifestSection .continueLeft,
    .vinifestSection .continueRight {
        margin: 0;
    }

    .vinifestSection .continueLeftBg {
        position: relative;
    }

    /* Adjust any absolute positioned elements if needed */
    .vinifestSection .absBottomLine {
        left: 20px;
        right: 20px;
    }
}

/* Activities Section Responsive (max-width: 600px) */
@media screen and (max-width: 600px) {
    .activitiesSection .contentPad {
        padding: 60px 70px 80px 33px !important;
    }

    .activitiesSection .blockTitle {
        font-size: 28px;
        text-align: center;
        margin-bottom: 30px;
    }

    .activitiesList {
        gap: 20px;
        justify-content: center;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .activitiesList .listingItem {
        width: calc(50% - 10px);  /* Two items per row with gap */
        text-align: center;
        margin-right: 0;
    }

    .activitiesList .listingImage img {
        max-width: 70px;
        margin-bottom: 20px;
    }

    .activitiesList .listingTitle {
        font-size: 14px;
    }

    .activitiesList a {
        display: block;
        padding: 5px;
    }
}


/* Contact Section Responsive (max-width: 600px) */
@media screen and (max-width: 600px) {
    .contactSection .contentPad {
        padding: 60px 50px 60px 30px !important;
    }

    /* Stack columns vertically */
    .contactSection .col-md-3 {
        width: 100% !important;
        float: none !important;
        height: auto !important;                /* Remove fixed height */
        margin-bottom: 30px;
    }

    /* Contact form container */
    .innerContact {
        margin-right: 0 !important;              /* Remove negative margin */
        position: relative;
        z-index: 1;
        padding: 0 15px;
    }

    /* Full width inputs */
    .innerContact input[type="text"],
    .innerContact textarea {
        width: 100% !important;
        box-sizing: border-box;
        margin-bottom: 10px;
    }

    /* Submit button full width */
    .innerContact input[type="submit"] {
        width: 100%;
        padding: 14px 20px;
        font-size: 16px;
    }

    /* Map container */
    .contactFrame {
    margin-right: -15px !important;   /* Keep negative margin to eliminate right gap */
    margin-left: -15px !important;
	margin-top: -33px !important;
	height: auto !important;
    }

    .contactFrame iframe {
        height: 400px !important;                 /* Fixed height for map on mobile */
        width: 100% !important;
    }

    /* Optional: adjust any address list inside contact */
    .addresses_list {
        padding-left: 15px;
    }

    .addresses_list li {
        font-size: 14px;
    }

    .addresses_list span {
        padding-left: 0;
        margin-right: 15px;
    }
}




/* Footer Responsive (max-width: 600px) */
@media screen and (max-width: 600px) {
    .upperFooter {
        padding: 40px 20px !important;
        text-align: center;
    }

    /* Remove large left margin on inline blocks */
    .upperFooter .inlineMiddle + .inlineMiddle {
        margin-left: 0 !important;
        margin-top: 20px;
    }

    /* Stack address and social media */
    .upperFooter .col-md-6 {
        width: 100% !important;
        float: none !important;
        margin-bottom: 30px;
    }

    /* Bottom logo centered */
    .bottomLogo {
        text-align: center;
        margin-bottom: 20px;
    }

    .bottomLogo a {
        margin: 0 auto;                    /* Center the logo block */
    }

    /* Social media: center, remove float, space out */
    .socialMedia {
        float: none !important;
        text-align: center;
        margin-top: 20px;
    }

    .socialMedia li {
        margin: 0 10px !important;         /* Even spacing */
    }

    .socialMedia li a {
        width: 44px;                        /* Slightly bigger touch target */
        height: 44px;
        line-height: 44px;
        font-size: 22px;
    }

    /* Addresses list adjustments */
    .addresses_list {
        padding: 0;
        text-align: center;
    }

    .addresses_list li {
        margin-bottom: 8px;
        font-size: 14px;
    }

    .addresses_list span {
        padding-left: 0 !important;
        margin-right: 10px;
        width: auto !important;
        display: inline-block;
    }

    /* Footer label/value pairs */
    .footer_label,
    .footer_value {
        display: inline-block;
        margin: 0 5px;
    }

    .footer_value {
        margin-right: 10px;
    }

    /* Lower footer */
    .lowerFooter {
        padding: 20px !important;
        height: auto !important;            /* Remove fixed height */
        text-align: center;
        font-size: 12px;
        line-height: 1.5;
    }
	.lowerFooter .inlineMiddle.rightAlign,
    .lowerFooter .rightAlign {
    text-align: center !important;
    }

    .lowerFooter .inlineMiddle {
        display: block;
        margin: 5px 0;
    }

    /* Ensure any flex or grid inside footer stacks */
    .upperFooter .row {
        display: block;
    }

    /* Optional: if there's a second column, stack */
    .upperFooter .col-md-6:last-child {
        margin-top: 30px;
    }
}




/* Gallery Section - Mobile: 2 images per slide, fixed image size, arrows outside */
@media screen and (max-width: 600px) {
    /* Reduce overall section height/padding */
    .gallerySection .contentPad {
         padding: 50px 100px 0px 30px !important;   /* Smaller padding, less bottom space */
    }

    .gallerySection .blockTitle {
        font-size: 26px;
        text-align: left;
        margin-bottom: 20px;
    }

    /* Reset extreme margins from desktop */
    .gallerySection .innerGallery {
        margin-right: 0 !important;
        margin-left: 0 !important;
        margin-top: 10px !important;
    }

    /* Slider container: add side padding for arrows */
    .gallerySection .flexslider {
        width: 100% !important;
        overflow: visible !important;     /* Arrows can be outside */
        margin: 0 !important;
        padding: 0 35px !important;       /* Room for arrows */
        box-sizing: border-box !important;
        position: relative !important;
    }

	.gallerySection .listingImage {
        width: 100% !important;
        overflow: visible !important;     /* Arrows can be outside */
        margin: 0 !important;
        padding: 0 35px !important;       /* Room for arrows */
        box-sizing: border-box !important;
        position: relative !important;
    }

    /* Show 2 slides at once: each slide takes 50% width */
    .gallerySection .slides {
        display: flex !important;
        flex-wrap: nowrap !important;
        transition: transform 0.3s ease;
    }

    .gallerySection .slides li {
        flex: 0 0 50% !important;          /* Two slides visible */
        width: 50% !important;
        margin: 0 !important;
        padding: 0 5px !important;         /* Small gap between images */
        box-sizing: border-box !important;
        text-align: center !important;      /* Center the image if smaller */
    }

    /* Images: fixed dimensions, not 100% width, no blur */
    .gallerySection .slides li img {
        width: auto !important;             /* Override any forced width */
        height: 120px !important;           /* Fixed height – adjust as needed */
        object-fit: cover !important;       /* Crop to fill, no distortion */
        display: inline-block !important;    /* Allow centering */
        border-radius: 4px;                 /* Optional */
        margin: 0 auto;                      /* Center inside slide */
    }

    /* Caption styling (if any) */
    .gallerySection .slides li .caption {
        position: relative;
        background: rgba(0,0,0,0.7);
        color: #fff;
        padding: 5px;
        font-size: 12px;
        margin-top: 5px;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
    }

    /* Navigation arrows – positioned outside the image area */
    .gallerySection .flex-direction-nav {
        display: block !important;
    }
    .gallerySection .flexslider .slides img {
        height: 350px !important;
    }

    .gallerySection .flex-direction-nav a {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%);
        width: 36px !important;
        height: 36px !important;
        background: #801335 !important;
        color: #fff !important;
        border-radius: 50% !important;
        text-align: center;
        line-height: 36px !important;
        font-size: 20px;
        z-index: 10;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    }

    .gallerySection .flex-direction-nav a.flex-prev {
        left: -5px !important;              /* Slightly outside the padding */
    }

    .gallerySection .flex-direction-nav a.flex-next {
        right: -5px !important;
    }

    /* Dot navigation (optional) */
    .gallerySection .flex-control-nav {
        display: block !important;
        bottom: -25px !important;
        text-align: center;
    }

    .gallerySection .flex-control-paging li a {
        background: #ccc !important;
        width: 8px !important;
        height: 8px !important;
        border-radius: 50% !important;
    }

    .gallerySection .flex-control-paging li a.flex-active {
        background: #801335 !important;
    }

    /* Hide any dropdown menu that may interfere */
    .galleryDropdown .dropDownMenu {
        display: none !important;
    }
}


.innerGallery .flexslider,
.innerGallery .flexslider .slides li,
.innerGallery .flexslider .slides img{
    height:350px !important;
}

.innerGallery .flexslider .slides img{
    width:100%;
    object-fit:cover;
}


.innerGallery .flex-direction-nav .flex-next{
    top: 50% !important;
    transform: translateY(-50%);
	right: -99px;
}

.innerGallery .flex-direction-nav .flex-prev{
    top: 50% !important;
    transform: translateY(-50%);
	left: -99px;
}

.flex-direction-nav .flex-next{
    right: -99px;
}

.flex-direction-nav .flex-prev{
    left: -99px;
}


.gallerySection .iconsList {
    padding-top: 80px !important;
    padding-bottom: 50px !important;
	padding-left: 10px !important;
	z-index: 100px !important;
		
}

@media screen and (max-width: 600px) {
    .testimonialSection .listingItem {
        height: auto;
    }
}