*,*::before,
*::after{
    box-sizing:inherit;
}

body{
    margin: 0;
    font-weight: 400;
    font-style: normal;
    color:black;
    font-family: Arial;
}

html{
    box-sizing:border-box;
    letter-spacing: 0.025em;
}

ul,li{
    margin:0;
    padding:0;
    letter-spacing: 0.16px;
    line-height: 1.4em;
}

ul{
    list-style-position: inside;
}

img{
    max-width: 100%;
    height: auto;
}

h1,h2,h3,h4,p,a{
    margin:0;
    padding-bottom:20px;
}

h1{
    font-size:40px;
}

h2{
    font-size:35px;
}

h3{
    font-size:28px;
}

h4{
    font-size:28px;
}

p{
    font-size:20px;
    line-height: 1.4em;
}

a{
    font-size: 20px;
    line-height: 1.4em;
    text-decoration: none;
    color: inherit;
}

.section-info{
    max-width: 50%;
    position: relative;
    z-index: 2;
}

.section-info p,.section-info .section-title{
    padding:0
}

.section-title {
    font-weight: 400;
    font-size: 30px;
    line-height: 1.2em;
    position: relative;
    background-color: #003300;
    max-width: max-content;
    padding: 10px;
    color: white;
    text-shadow: 2px 2px 0px #000000;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2); /* You can adjust the values as needed */
    margin-bottom:20px;
}

.inner-section{
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.white{
    color:white;
    transition:0.3s;
}

.div-margins > *+* {
    margin-top: 40px;
}
.section-info.div-margins > *+*{
    margin-top: 20px;
}

.sec-pad{
    padding:60px;
}

.small-sec-pad{
    padding:20px 60px 20px 60px;
}

.container{
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 60px;
}

.small-container{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.header-main{
    position: relative;
    width: 100%;
    z-index:3;
    background: #003300;
}

.header-flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 60px;
    color: white;
    max-width: 1200px;
    margin: 0 auto;
}

.header-flex-left{
    padding-right: 60px;
}

.logo{
    width: 300px;
    height: auto;
}

.header-flex-right{
    display: flex;
    align-items: center;
    flex: auto;
}

#menu-btn{
    display: none;
}

#menu-bar{
    width:100%;
}

.menu-fix .nav{
    display: flex;
    list-style: none;
    justify-content: flex-end;
    align-items: center;
    color: white;
    padding-bottom:0;
}

#menu-bar li a{
    font-size: 18px;
    transition: all 0.3s ease-in-out 0s;
    font-weight: 400;
    text-transform: capitalize;
    margin: 0 5px;
}

#menu-bar li a:hover{
     color:#F5F155;
}

.menu-fix .nav li {
    position: relative;
    list-style: none;
    display: block;
    text-align: center;
    padding: 5px 0;
}

.menu-fix .mod-menu__sub {
    position: absolute;
    top: 100%;
    z-index: 1000;
    display: none;
    float: left;
    min-width: max-content;
    padding: 5px 20px;
    margin: 0;
    list-style: none;
    background-clip: padding-box;
    background-color: #52877d;
	color: white;
}

ul.nav-child a:hover{
    color:white!important;
}

.menu-fix .nav>li:hover>.mod-menu__sub,.menu-fix .nav>li>a:focus+.mod-menu__sub, .menu-fix .nav li li:hover>.mod-menu__sub, .menu-fix .nav li li>a:focus+.mod-menu__sub{
    display: block;
}

.menu-fix ul.nav li .puls { right: 0; position: absolute; top: 0; width: 20%; height: 100%; }
.menu-fix ul.nav li .puls::before {     color: white;
    content: ">";
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    cursor: pointer;
    font-size: 20px;
    right: -17px;
    position: absolute;
    top: 14px;
    font-weight: 300; }
.menu-fix ul.nav li .puls1 { right: 0; position: absolute; top: 0; width: 20%; height: 100%; }
.menu-fix ul.nav li .puls1::before { color: white; content: ">"; transform: rotate(90deg); -webkit-transform: rotate(90deg); cursor: pointer; font-size: 30px; right: 0px; position: absolute; top: 8px }

.mod-menu__sub a{
    color: #f29a00;
	font-size: 20px;
}

.slider {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-text-container{
    position: absolute;
    max-width: 1200px;
    inset: 0;
    margin: 0px auto;
    width: 100%;
}

.slider img{
    width: 100%;
    height: auto;
}

.slider-text {
    position: absolute;
    width: 50%;
    top: 50%;
    transform: translateY(-50%);
    text-align: left;
    padding: 0 0 0 20px;
    background-image: url(../images/ellipse.png);
    background-size: contain;
    height: 100%;
    background-position: left center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    padding-top: 34px;
    padding-bottom: 36px;
    padding-right: 70px;
}

.slider-text.div-margins > *+* {
    margin-top: 20px;
}

.slider-heading{
    font-size: 25px;
    line-height: 1.1em;
    padding-bottom: 0;
    margin-bottom: 0px;
    color: white;
    max-width: 500px;
    font-style: italic;
    font-weight: bold;
}

.slider-right{
    position: relative;
    flex: auto;
    margin-left: 20px;
}

.carousel-image{
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 60px;
}

.dj-image {
    width: 100%!important;
    height: 150px!important;
    max-width: 1200px!important;
}

.location-plan{
    max-width:max-content
}

.location-container{
    max-width: 320px;
    background: rgb(200,200,200);
    background: -moz-linear-gradient(180deg, rgba(200,200,200,1) 0%, rgba(198,198,198,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(200,200,200,1) 0%, rgba(198,198,198,1) 100%);
    background: linear-gradient(180deg, rgba(200,200,200,1) 0%, rgba(198,198,198,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#c8c8c8",endColorstr="#c6c6c6",GradientType=1);
}

.location-container .section-title{
    max-width: 100%;
    margin-bottom: 0;
    box-shadow: 3px 0px 5px rgba(0, 0, 0, 0.3);
}

.location-container img{
    width: 100%;
    padding: 20px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
}

.location-text{
    background-color: white;
    padding: 20px;
    text-align: center;
    font-weight: bold;
}

.location-text p{
    padding: 0;
}

.footer-main-bg {
    background-color: #003300;
    position: relative;
}
.footer-main{
    max-width: 1200px;
    color: white;
}

.footer-main h2{
    font-size: 20px;
    padding-bottom:10px;
}

.footer-main p,.footer-main a,.footer-legal a,.footer-legal p{
    font-size: 14px;
    padding-bottom:10px;
}

.footer-cta {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.footer-cta p {
    padding: 0;
    font-size: 14px;
    text-align: center;
}

.footer-menu {
    padding: 10px 0 10px 0;
}

.footer-menu ul{
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: 0 auto;
}

.footer-menu li{
    padding: 0 10px;
}

.footer-menu ul li a{
    padding-bottom: 0;
    font-weight: 400;
    font-size: 14px;
    margin: auto;
    transition: 0.3s;
    text-transform: uppercase;
    text-decoration: underline;
    color: #003300;
}

.footer-menu ul li a:hover {
    color: #8a9f71;
}

.rhys-welsh a{
    padding-bottom: 0;
    font-size: 8px;
    color:white;
    margin: 0;
}

.rhys-welsh a:first-child{
    margin-right: 10px;
}

.rhys-welsh{
    display: flex;
    align-items: center;
    justify-content: center;
}

.rhys-welsh img{
    width:70px;
    height:auto;
}

.footer-legal{
    background: #8a9f71;
}

.legal-flex{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 60px;
}

.legal-flex p,.legal-flex a{
    padding:0;
    transition:0.3s;
}

.legal-flex b.white:hover{
    color: #F5F155;
}

.footer-legal{
    color:#dddddd;
}

/****additional css****/
.map-container img {
    max-width: unset;
}
body.wrapper-fluid .site-grid {
    grid-gap: 0
}
.page-header{
    font-weight: 400;
    font-size: 30px;
    line-height: 1.2em;
    position: relative;
    background-color: #003300;
    max-width: max-content;
    padding: 10px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
    margin-bottom: 20px;
}

.page-header h1{
	color:white!important;
	text-shadow: 2px 2px 0px #000000;
	padding:0;
}
.com-content-article h2,.com-content-article h1{
	color:#003300;
}
.site-grid {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    padding: 60px
}

.itemid-101 .site-grid {
    display: none
}

.slide-desc-text-default,.slide-desc-bg-default,.djslider-default .slide-desc-in,.djslider-default .slide-desc {
    position: unset!important
}


@media(max-width:1200px){

    .djslider-default ul.djslider-in>li {
        height: 100px!important;
    }

    .djslider-default ul.djslider-in>li img {
        height: 100px!important;
        object-fit: cover!important;
		object-position:center!important;
    }

    .djslider-default {
        height: 100px!important;
    }
	    .dj-image {
        height: 100px!important;
        object-fit: cover!important;
        object-position: center!important;
    }
}

@media(max-width:1100px){
    h1{
        font-size:35px;
    }
    
    h2{
        font-size:30px;
    }
    
    h3{
        font-size:25px;
    }
    
    h4{
        font-size:23px;
    }
    
    p,a{
        font-size:18px;        
    }

    .div-margins > *+* {
        margin-top: 30px;
    }
    
    .sec-pad{
        padding:30px 20px;
    }
    .small-sec-pad{
        padding:20px;
    }
    .header-flex {
        padding: 15px 20px;
    }
    .carousel-image {
        padding: 0 20px;
    }

.slider-heading {
    font-size: 20px;
}
.slider-text.div-margins > *+* {
    margin-top: 10px;
}

.slider-text {
    padding: 20px;
}

.section-title{
    font-size:25px;
}

.container {
    padding: 20px;
}

.section-info.div-margins > *+* {
    margin-top: 20px;
}
.footer-legal {
    padding-top: 5px;
    padding-bottom: 5px;
}
	.site-grid {
    padding: 20px
}
	
.legal-flex{
	padding:0 20px;
	}
}

@media(max-width:990px){
    /*****Navigation******/
    /*
#menu-btn{
    display: block;
}
#menu-bar{
position: absolute;
height: 100vh;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: #003300;
display: flex;
justify-content: center;
align-items: center;
overflow-y: auto;
transition: 0.5s;
z-index: 10;
transform: scale(0);
padding: 0 20px;
}
#menu-bar:before {
position: absolute;
content: "";
background-image: url(/images/footer-deco.png);
width: 100%;
height: 100%;
opacity: 0.7;
bottom: 0;
right: 0;
background-size: contain;
background-repeat: no-repeat;
background-position: right bottom;
}

#menu-bar.active{
transform: scale(1);
}

.menu-fix ul{
position: relative;
display: flex;
flex-wrap: wrap;
}

/*#menu-bar ul:before{
position: absolute;
content: "";
background-image: url(/images/footer-logo.png);
width: 392px;
height: 124px;
bottom:100%;
left: 50%;
transform: translateX(-50%);
background-size: contain;
background-repeat: no-repeat;
margin-bottom: 20px;
}

#menu-bar ul li ul:before{
display:none;
}

#menu-bar ul li{
position: relative;
list-style: none;
display: block;
text-align: center;
padding: 5px 30px;
}

#menu-bar ul li ul li {
position: relative;
list-style: none;
display: block;
text-align: left;
padding: 5px 0;
}

#menu-bar ul li a{
    text-decoration: none;
    position: relative;
    font-size: 18px;
    display: inline-block;
    color: white;
    padding-bottom: 5px;
}

#menu-bar ul li ul li a{
text-decoration: none;
position: relative;
font-size: 18px;
font-weight: 300;
text-transform: uppercase;
display: inline-block;
padding-bottom: 0;
color: white;
}

.menu-fix .nav {
flex-direction: column;
}

/* Hamburger Menu 
.hamburger {
position: relative;
cursor: pointer;
width: 60px;
height: 52px;
background: none;
border: none;
z-index: 100;
}

.hamburger-top,
.hamburger-middle,
.hamburger-bottom {
position: absolute;
width: 60px;
height: 8px;
top: 0;
right: 0;
background: white;
transition: all 0.5s;
}

.hamburger-middle {
transform: translateY(16px);
width: 30px;
}

.hamburger-bottom {
transform: translateY(32px);
width: 15px;
}

.hamburger-text{
transform: translateY(48px);
position: absolute;
top: 0;
right: 0;
color: white;
font-weight: 300;
}

.hamburger.open .hamburger-text{
display:none;
}

/* Transition hamburger to X when open
.open {
transform: rotate(90deg);
}

.open .hamburger-top {
transform: rotate(45deg) translateY(6px) translateX(6px);
background-color: white;
}

.open .hamburger-middle {
display: none;
}

.open .hamburger-bottom {
transform: rotate(-45deg) translateY(6px) translateX(-6px);
width: 100%;
background-color: white;
}*/
.footer-menu ul {
    flex-direction: column;
    text-align: center;
}
.footer-main-bg {
    text-align: center;
}
.welcome {
    text-align: center;
}
.section-title {
    margin-left: auto;
    margin-right: auto;
}
.header-flex-right {
    justify-content: flex-end;
}
.welcome p:last-child{
    padding: 0;
}
}

@media(max-width:800px){
.legal-flex {
    flex-direction: column;
}
.slider-heading {
    font-size: 16px;
}
.header-flex-left {
    padding-right: 0;
}
}

@media(max-width:600px){
	h1{
        font-size:30px;
    }
    
    h2{
        font-size:25px;
    }
    
    h3{
        font-size:23px;
    }
    
    h4{
        font-size:22px;
    }
    
    #menu-bar li a,.header-flex-left a {
        font-size: 16px;
    }
    .slider-heading {
        font-size: 14px;
    }
    .slider-text {
        padding: 20px 10px 20px 10px;
    }
    .section-title {
        font-size: 20px;
    }
    .footer-menu li {
        padding: 0;
    }
    .footer-cta{
        padding-left: 20px;
        padding-right: 20px;
    }
    .slider-text {
        width: 70%;
    }
}

@media(max-width:400px){
	.slider-text {
    width: 80%;
}
#menu-bar li a,.header-flex-left a {
    font-size: 16px;
}
}