/*
Theme Name: Village Halls 
Theme URI: https://ballsymedia.co.uk/
Author: Ballsy Media
Author URI: https://ballsymedia.co.uk/
Description: Theme V8
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: Village Halls

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* 
============================================================================================================
============================================================================================================

                                        THEME STYLE default CSS START

============================================================================================================
============================================================================================================
*/



body, html, ul {
	margin: 0px;
 	padding: 0px;
}

body {
	font-family: 'Muli';
	font-weight: 600;
	word-wrap: break-word;
	overflow-x: hidden;
	opacity: 0;   
	transition: all .5s;
	transition-delay: .3s;
}

.wrapperOuter {
    overflow: hidden;  
}

.elementor-section.elementor-section-boxed > .elementor-container .elementor-container {
	padding: 0;
}
body.elementor-editor-active {
	opacity: 1;
}
.elementor-editor-active .smart-page-loader {
	display: none !important;
}
b, strong {
	font-family: 'Muli';
	font-weight: bold; 
}

a {
	text-decoration:none;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	outline:0!important;
}

.upb_row_bg {
	width: 100% !important;
}

::selection {
   color: #fff; 
   background: #8d5f47 !important;
}  

* { 
	outline:none!important;
}


h1,h2,h3,h4,h5,h6 {
	margin-top: 0;
	font-family: 'Georgia';  
	font-weight: bold;    
	margin-bottom: 10px;
}    

ul {
	list-style:disc;
	list-style-position:inside;
	margin:0;
	padding:0;
}

ol {
	list-style:decimal;
	list-style-position:inside;
	margin:0;
	padding:0;
}

ol li,ul li {
	margin:0;
	padding:0;
}

p {
	padding-bottom: 20px;
	margin: 0;
}  

img {
	transition:all .5s;
	max-width: 100%;
	height: auto;
}

/* content */

.containerWrap ol li, 
.containerWrap ul li {
	list-style-position: inside;
}

.containerWrap ol, 
.containerWrap ul {
	margin: 0px 0 20px 20px;
}

/*default form css start*/

textarea {
	min-height: 200px !important;
}

/* radio/checkbox */
form.elementor-form .elementor-field-type-upload .elementor-field-label,form.elementor-form .elementor-field-type-acceptance .elementor-field-label,form.elementor-form .elementor-field-type-checkbox .elementor-field-label,form.elementor-form .elementor-field-type-radio .elementor-field-label {
    position: static !important;
    padding: 0 !important;
    min-height: auto !important;
    color: #fff !important;
    margin-bottom: 15px; 
    background: transparent !important;
    font-weight: 400 !important;
}

form.elementor-form .elementor-field-type-radio .elementor-field-subgroup{
	flex-basis: auto !important;
    margin-left: 20px;
}
 

form.elementor-form .elementor-field-type-upload .elementor-field-label:before,form.elementor-form .elementor-field-type-acceptance .elementor-field-label:before,form.elementor-form .elementor-field-type-checkbox .elementor-field-label:before,form.elementor-form .elementor-field-type-radio .elementor-field-label:before {
	display: none;
}

form.elementor-form .elementor-field-type-upload,form.elementor-form .elementor-field-type-acceptance,form.elementor-form .elementor-field-type-checkbox,form.elementor-form .elementor-field-type-radio {
	border: none !important;
}

form.elementor-form .elementor-field-type-acceptance .elementor-field-option,form.elementor-form .elementor-field-type-radio .elementor-field-option,form.elementor-form .elementor-field-type-checkbox .elementor-field-option {
    position: relative;
    margin-right: 18px;
    padding-right: 0;
    margin-bottom: 15px;
}

form.elementor-form .elementor-field-type-acceptance .elementor-field-option:last-child,form.elementor-form .elementor-field-type-radio .elementor-field-option:last-child,form.elementor-form .elementor-field-type-checkbox .elementor-field-option:last-child {
	margin-right: 0;
}

form.elementor-form .elementor-field-type-acceptance input,form.elementor-form .elementor-field-type-radio input,form.elementor-form .elementor-field-type-checkbox input {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    opacity: 0;
    display: block !important;
    margin: 0;	
    cursor: pointer;
}

form.elementor-form .elementor-field-type-acceptance label,form.elementor-form .elementor-field-type-radio label,form.elementor-form .elementor-field-type-checkbox label {
    padding-left: 26px;
    vertical-align: middle;
    display: block !important;
    line-height: 26px !important;
}
form.elementor-form .elementor-field-type-acceptance .elementor-field-option label:before,form.elementor-form .elementor-field-type-radio .elementor-field-option label:before,form.elementor-form .elementor-field-type-checkbox .elementor-field-option label:before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 3px;
    left: 0;
    height: 20px;
    width: 20px;
    border: 2px solid #cccccc;
    background: #ffffff;
    cursor: pointer;
}
form.elementor-form .elementor-field-type-acceptance .elementor-field-option label:after,form.elementor-form .elementor-field-type-radio .elementor-field-option label:after,form.elementor-form .elementor-field-type-checkbox .elementor-field-option label:after {
	content: "";
	display: none;
}

form.elementor-form .elementor-field-type-acceptance .elementor-field-option label:after,form.elementor-form .elementor-field-type-radio .elementor-field-option label:after,form.elementor-form .elementor-field-type-checkbox .elementor-field-option label:after {
    left: 6px;
    top: 6px;
    width: 11px;
    position: absolute;
    height: 6px;
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(-50deg);
    opacity: 0;
}

form.elementor-form .elementor-field-type-acceptance .elementor-field-option input:checked ~ label:after,form.elementor-form .elementor-field-type-radio .elementor-field-option input:checked ~ label:after,form.elementor-form .elementor-field-type-checkbox .elementor-field-option input:checked ~ label:after {
	display: block;
}

form.elementor-form .elementor-field-type-radio .elementor-field-option label:before {
   border-radius: 0;
    border: none !important;
}

form.elementor-form .elementor-field-type-acceptance .elementor-field-option input:checked ~ label:before,form.elementor-form .elementor-field-type-checkbox .elementor-field-option input:checked ~ label:before,
form.elementor-form .elementor-field-type-radio .elementor-field-option input:checked ~ label:before {
	background: #ed008b;
	border: 3px solid #fff !important
}

textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder {
	color: #ffffff !important;
	opacity: 1 !important;
}

textarea:-moz-placeholder,
input:-moz-placeholder { /* Firefox 18- */
	color: #ffffff !important;
	opacity: 1 !important;
}

textarea::-moz-placeholder,
input::-moz-placeholder {  /* Firefox 19+ */
	color: #ffffff !important;
	opacity: 1 !important;
}

textarea:-ms-input-placeholder,
input:-ms-input-placeholder {  
	color: #ffffff !important;
	opacity: 1 !important;
}

.flatpickr-calendar .dayContainer span {
    transition: all .8s;
    opacity: 0;
    width: 0;
    transform: scale(.2);
    color: transparent;	
}
.flatpickr-calendar.open .dayContainer span {
	opacity: 1;
	transform: scale(1);
	color: #393939;
}

/*default form css end*/

.dbtn {
    font-size: 22px !important;
    line-height: 22px !important;
    padding: 13px 50px 13px !important;
    text-transform: capitalize;
    color: #ffffff !important;
    border: 2px solid transparent;
    display: inline-block;
    -webkit-transition: all .5s !important;
    -moz-transition: all .5s !important;
    -o-transition: all .5s !important;
    transition: all .5s !important;
    margin-bottom: 0;
    background-color: #4f6342 !important;
    font-family: 'Muli';
    font-weight: bold;
    position: relative;
    border-radius: 50px !important;
    z-index: 9;
}
.dbtn:before {  
	content: '';   
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    position: absolute;
    top: -15px;  
    left: -15px;    
	border: 4px dashed #4f6342;  
	border-radius: 50px; 
	transition: all .3s linear;                           
}
  
.dbtn:hover:before {          
	border-color: #8d6754;   
	width: calc(100% + 14px);
    height: calc(100% + 14px);         
    left: -7px;
    top: -7px;
}

.dbtn .mText:last-child {
    display: none;
}  

/* Post Image Start*/

.wp-block-image figure {
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}

img.alignright,
.wp-block-image .alignright {
	margin-left: 20px !important;
}

img.alignleft,
.wp-block-image .alignleft {
	margin-right: 20px !important;
}

img.aligncenter,
.wp-block-image .aligncenter {
	margin: 0 auto !important;
}

@media (max-width: 767px) {

	img.alignright,
	img.alignleft,
	img.aligncenter,
	.wp-block-image .alignright,
	.wp-block-image .alignleft,
	.wp-block-image .aligncenter {
		float: none !important;
		margin: 0 auto !important;
	}

}

/* Post Image End */


/* testimonial css */

.elementor-widget-testimonial-carousel .elementor-testimonial {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    width: 100%;
}



/* footer */

.footer {         
	overflow: hidden !important;
}
.footer .lineBox .lineItem .line {
	height: 8px;   
}
.footer .footerlogo {
	position: relative !important;
}
.footer .footerlogo:before {
	width: 100vw !important;    
    left: auto !important;
    right: 0;
    height: 200vh !important;
    top: -50vh !important;  
}
.footer .footerlogo .logoBox a {       
	z-index: 1;
	position: relative;
}
.footer .footerlogo .logoBox {      
	background-color: #F6F6F2;
    box-shadow: 0px 0px 25px 18px rgba(0, 0, 0, 0.10);
    padding: 15px; 
    position: absolute;  
    left: -20px;            
    max-width: 442px !important;  
    height: 280px;
    width: 100%;
    top: 16px;         
}      
.footer .footerlogo .logoBox>.elementor-widget-container {
	display: flex;
	justify-content: center;
	flex-direction: column;   
}
.footer h5.elementor-heading-title {
	font-family: 'Muli';   
    font-weight: 600;
    font-size: 25px;
    line-height: 32px; 
    margin-bottom: 20px;  
}
.footer ul li a {
	font-family: 'Muli';   
    font-weight: 600;
    font-size: 20px;
    line-height: 28px !important;
    color: #f6f6f3;          
    display: inline-block;        
}
.footer .copyrightWrap p a:hover,
.footer ul li a:hover {
	color: #FABE36;      
}
.footer .copyrightWrap p a,
.footer .copyrightWrap p {
	font-family: 'Poppins';   
    font-weight: normal;
    font-size: 15px;
    line-height: 26px;  
    color: #dadada;
}
.footer .copyrightWrap p strong {     
	font-family: 'Poppins';   
    font-weight: 500;
}    

/* footer */


/* exploreWrap */

.scnTitle h2.elementor-heading-title {  
	font-size: 50px;
	line-height: 66px;
	margin-bottom: 0;
	padding-bottom: 25px;     
	position: relative;
} 
.scnTitle h2.elementor-heading-title:before {
	content: '';
    width: 120px;
    height: 3px;  
    bottom: 0;
    position: absolute;
    left: 0;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 100% !important;
} 
.scnCenter.scnTitle h2.elementor-heading-title:before {
	left: calc(50% - 60px);  
}  
.exploreWrap .textBox {
	position: relative;
}
.exploreWrap .textBox .innarImage {
	width: 440px;
    height: 800px;    
    opacity: .1;            
    z-index: -1;     
}  

/* exploreWrap */

/* journeyWrap */

.journeyWrap:after {
	width: 100%;   
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;   
	content: '';
	background-image: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,0) 10%);               
}
.journeyWrap .swiper .swiper-slide,      
.journeyWrap .swiper {  
	overflow: visible;
}
.journeyWrap .swiper .elementor-carousel-image {
	box-shadow: 0px 0px 30px 20px rgba(0, 0, 0, .20);         
}
.journeyWrap .elementor-swiper-button {      
	opacity: 1 !important;  
	font-size: 0px !important;     
	pointer-events: none; 
	z-index: 2 !important;

}
.journeyWrap .elementor-swiper-button .e-font-icon-svg {             
    width: 54px !important;
    height: 70px !important;   
    background-position: center !important;    
    background-repeat: no-repeat !important;
    background-size: auto 100% !important;     
} 
.journeyWrap .elementor-swiper-button .e-font-icon-svg path {    
	opacity: 0;
}     
.journeyWrap .midImage {
	width: calc(100% - 72px);        
}
/* journeyWrap */


.socilIcon .elementor-grid-item a.elementor-icon {
	border-radius: 0px;     
	transition: all 1s;
}
.socilIcon .elementor-grid-item a.elementor-icon:hover {      
  	border-radius: 100px;         
}
.socilIcon .elementor-grid-item a.elementor-icon:hover svg {  
	animation: jello 2s linear;         
}

@keyframes jello {
	0%, 11.1%, 100% {
	    -webkit-transform: skewX(1deg) skewY(1deg);           
	    -o-transform: skewX(1deg) skewY(1deg);
	    -moz-transform: skewX(1deg) skewY(1deg);
	    transform: skewX(1deg) skewY(1deg);
	}
	22.2% {
	    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
	    -o-transform: skewX(-12.5deg) skewY(-12.5deg);
	    -moz-transform: skewX(-12.5deg) skewY(-12.5deg);
	    transform: skewX(-12.5deg) skewY(-12.5deg);
	}
	33.3% {
	    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
	    -o-transform: skewX(6.25deg) skewY(6.25deg);
	    -moz-transform: skewX(6.25deg) skewY(6.25deg);
	    transform: skewX(6.25deg) skewY(6.25deg);
	}
	44.4% {
	    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
	    -o-transform: skewX(-3.125deg) skewY(-3.125deg);
	    -moz-transform: skewX(-3.125deg) skewY(-3.125deg);
	    transform: skewX(-3.125deg) skewY(-3.125deg);
	}
	55.5% {
	    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
	    -o-transform: skewX(1.5625deg) skewY(1.5625deg);
	    -moz-transform: skewX(1.5625deg) skewY(1.5625deg);
	    transform: skewX(1.5625deg) skewY(1.5625deg);
	}
	66.6% {
	    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
	    -o-transform: skewX(-0.78125deg) skewY(-0.78125deg);
	    -moz-transform: skewX(-0.78125deg) skewY(-0.78125deg);
	    transform: skewX(-0.78125deg) skewY(-0.78125deg);
	}
	77.7% {
	    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
	    -o-transform: skewX(0.390625deg) skewY(0.390625deg);
	    -moz-transform: skewX(0.390625deg) skewY(0.390625deg);
	    transform: skewX(0.390625deg) skewY(0.390625deg);
	}
	88.8% {
	    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
	    -o-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
	    -moz-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
	    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
	}
}


body .wrapperOuter {
  opacity: 0; 
}
        
body.page-loaded .wrapperOuter {
  -webkit-animation: page-slow-fade 0.5s ease forwards;
  animation: page-slow-fade 0.5s ease forwards; 
}
 

@-webkit-keyframes page-slow-fade {

  	0% {
    	opacity: 0; 
	}

	100% {
		opacity: 1; 
	} 

}

@keyframes page-slow-fade {

	0% {
	    opacity: 0; 
	}

	100% {
    	opacity: 1; 
	} 

}
 
.needWrap .animated-slow figcaption {
    max-width: 800px;
    margin: 0 auto;        
}   

/*.needWrap .elementor-widget i {
    font-size: 50px; 
} */   

.seeWrap .wp-caption figcaption,             
.needWrap .wp-caption figcaption,     
.madeWrap .wp-caption figcaption {
	margin-top: 25px;   
}

.anchor-id {
	height: 200px;
    width: 100% !important;
    background: transparent;
    position: absolute !important;           
    top: -74px;      
    left: 0;
    opacity: 0;
}        





/* 
============================================================================================================
============================================================================================================

                                    THEME STYLE RESPONSIVE CSS START

============================================================================================================
============================================================================================================
*/

.e-parent.e-con-boxed > .e-con-inner > .inner-sec {
    --flex-direction: initial !important;
} 

@media (min-width: 1800px) {
	.footer .footerlogo .logoBox {
		right: 100px;
		left: auto;   
	}
}

@media (min-width: 1441px) and (max-width: 1500px) {  
	.scnTitle h2.elementor-heading-title {
		font-size: 48px;
	} 
}

/* Portrait tablet to landscape and desktop */
@media (min-width: 1200px) and (max-width: 1440px) {

	.footer .footerlogo .logoBox {
		max-width: 340px !important;    
		height: 200px;
	} 
	.scnTitle h2.elementor-heading-title {  
		font-size: 42px; 
		line-height: 57px;                   
	}
	.header .deskMenu ul li a {
		font-size: 19px !important;    
	}
	.header .deskMenu ul li li a {
		font-size: 17px !important;   
	}

}
@media (min-width: 1200px) {
	.exploreWrap .imageBox:before {  
		width: 120% !important;    
	}    
}

/* Large desktop */
@media (min-width: 1025px) {
	
	.e-parent.e-con-boxed > .e-con-inner {
		padding-left: 80px;
		padding-right: 80px;
	}	 
}
@media (max-width: 1024px) {

	.journeyWrap .elementor-swiper-button .e-font-icon-svg  {
		width: 40px !important;
		height: 48px !important;   
	}      
	.journeyWrap .midImage {
	    width: calc(100% - 60px);      
	}

}

/* Portrait tablet to landscape and desktop */
@media (min-width: 1025px) and (max-width: 1199px) {

	.dbtn {
	    font-size: 20px !important;
	    line-height: 20px !important;
	    padding: 11px 40px 11px !important;
	}
	.footer h5.elementor-heading-title {  
	    font-size: 22px;
	    line-height: 28px;
	    margin-bottom: 15px;
	}
	.footer ul li a {    
		font-size: 18px;
		line-height: 28px !important;
	}
	.footer .footerlogo .logoBox {  
	    left: calc(50% - 114px);
	    max-width: 218px !important;
	    height: 190px;
	    top: 16px;
	}
	.scnTitle h2.elementor-heading-title {  
		font-size: 38px;
		line-height: 50px;  
	}
	.scnTitle h2.elementor-heading-title:before {
		width: 110px;
	}
	.scnCenter.scnTitle h2.elementor-heading-title:before {
		left: calc(50% - 55px);  
	}
	.exploreWrap .textBox .innarImage {
	    width: 380px;
	    height: 580px;   
	}
	.seeWrap .wp-caption figcaption,             
	.needWrap .wp-caption figcaption,     
	.madeWrap .wp-caption figcaption {
		margin-top: 20px;   
	} 
	.anchor-id {
		top: -64px;    
	}       
}

   
/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 1024px) { 
	
	.e-parent.e-con-boxed > .e-con-inner {
		padding-left: 10px;
		padding-right: 10px;
	} 
	.dbtn {
	    font-size: 20px !important;
	    line-height: 20px !important;
	    padding: 11px 40px 11px !important;
	}
	.dbtn:before {
		border-width: 2px;  
		width: calc(100% + 20px);
		height: calc(100% + 20px);
		left: -10px;
		top: -10px;     
	} 
	.dbtn:hover:before {
	    width: calc(100% + 10px);
	    height: calc(100% + 10px);
	    left: -5px;
	    top: -5px;
	}
	.footer h5.elementor-heading-title {  
	    font-size: 22px;
	    line-height: 28px;
	    margin-bottom: 15px;
	}
	.footer ul li a {    
		font-size: 18px;   
		line-height: 28px !important;
	}
	.footer .footerlogo .logoBox {
		position: static;
	    margin: auto;  
	    height: 200px;
	    max-width: 360px !important;
	}
	.footer .footerlogo:before {
	    width: 100% !important;
	    left: auto !important;
	    right: 0;
	    top: auto !important;
	    bottom: 0px;
	}
	.scnTitle h2.elementor-heading-title {  
		font-size: 32px;
	    line-height: 44px;
	    padding-bottom: 16px;
	}  
	.scnTitle h2.elementor-heading-title:before {
		width: 100px;
	}
	.scnCenter.scnTitle h2.elementor-heading-title:before {
		left: calc(50% - 50px);  
	}
	.exploreWrap .textBox .innarImage {
	    width: 320px;
	    height: 480px;    
	}   
	.seeWrap .wp-caption figcaption,             
	.needWrap .wp-caption figcaption,     
	.madeWrap .wp-caption figcaption {
		margin-top: 15px;   
	} 
	.anchor-id {
		top: -72px;
	}  
	
}
     
/* Landscape phone to portrait tablet */
@media (max-width: 767px) { 
	
	@media screen and (orientation: landscape) {

	}
	 
	.e-parent.e-con-boxed > .e-con-inner {
		padding-left: 10px;
		padding-right: 10px;
	}
	.dbtn {
	    font-size: 18px !important;
	    line-height: 18px !important;
	    padding: 9px 35px 9px !important;   
	}
	.dbtn:before {
		border-width: 2px;
		width: calc(100% + 20px);
		height: calc(100% + 20px);
		left: -10px;
		top: -10px;
	}
	.dbtn:hover:before {
	    width: calc(100% + 10px);
	    height: calc(100% + 10px);
	    left: -5px;
	    top: -5px;
	}

	.footer h5.elementor-heading-title {  
	    font-size: 20px;
	    line-height: 26px;
	    margin-bottom: 15px;
	}
	.footer ul li {
		text-align: center; 
	}
	.footer ul li a {    
		font-size: 18px;     
		line-height: 28px !important;   
	}
	.footer .footerlogo .logoBox {
		position: static;
	    margin: auto;  
	    height: 200px;
	    max-width: 360px !important;
	}
	.footer .footerlogo:before {
	    width: 100% !important;
	    left: auto !important;
	    right: 0;
	    top: auto !important;
	    bottom: 0px;  
	} 
	.footer .copyrightWrap p a, .footer .copyrightWrap p {
		font-size: 15px;
	}
	.footer .lineBox .lineItem .line {  
		height: 6px;
	}
	.exploreWrap .imageBox {
		max-width: 400px;
		margin: 0 auto;   
	}

	.scnTitle h2.elementor-heading-title {  
		font-size: 32px;
		line-height: 46px;  
		padding-bottom: 15px;         
	} 
	.scnCenter.scnTitle h2.elementor-heading-title:before,    
	.scnTitle h2.elementor-heading-title:before {
		width: 100px;  
		left: calc(50% - 50px);
	}

	.exploreWrap .textBox .innarImage {
	    width: 250px;       
	    height: 380px;    
	}         

	/*.needWrap .elementor-widget i {
	    font-size: 35px; 
	} */        
	.seeWrap .wp-caption figcaption,             
	.needWrap .wp-caption figcaption,     
	.madeWrap .wp-caption figcaption {
		margin-top: 15px;           
	} 
	.anchor-id {
		top: -72px;
	}   
                 

}

     
/* Landscape phones and down */
@media (max-width: 480px) {   


}