/* CSS Document */
:root {
    --font-body-1: 'Lato',"Open Sans", sans-serif;

    --main-colour-1: #C7B772;
	--main-colour-1-rgb: 199, 183, 114;

    --main-colour-2: #E58E2F;
	--main-colour-2-rgb: 229, 142, 47;

    --main-colour-3: #E5E0DE;
	--main-colour-3-rgb: 229, 224, 222;

    --main-colour-4: #BBACA9;
	--main-colour-4-rgb: 187, 172, 169;

    --main-colour-5: #A69898;
	--main-colour-5-rgb: 166, 152, 152;

    --main-colour-6: #2C2C2C;
	--main-colour-6-rgb: 44, 44, 44;

    --standard-padding: 2vw;
	--standard-padding-small: 0.5vw;
	--standard-padding-half: 1vw;
	--standard-transition: all .5s;
	--standard-shadow: 0px 2px 2px 0px rgba(0,0,0,0.1);
}

@keyframes Spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

header, footer, aside, nav, article, section {   
    display: block;   
} 
html {
	background-color: #FFF;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left top;


    color: #000;
    box-sizing: content-box;

}
body {
	padding: 0;
    margin: 0;
    font-family: var(--font-body-1);
    font-size: 16px;
}
h1 {
	font-size: 1em;
    font-size: 26px;
    font-weight: 400;
}
h2 {
    font-size: 20px;
    font-weight: 300;
}
h3 {
	font-size: 1em;
}
h4 {
	font-size: 1em;
}
h5 {
	font-size: 1em;
}
a{
    text-decoration: none;
    color: #000;
}
a img {
	border: none;
}

ul.reset {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#inet {
    display: block;
    text-align: right;
    font-size: 12px;
    padding: 20px;
}
#inet.dark a {
    color: #FFF;
    line-height: 14px;
}

.loader_bar {
	border: 5px solid var(--main-colour-5);
	border-top: 5px solid var(--main-colour-6);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: Spin 4s linear infinite;
}
.hidden_fields {
	transition: max-height 0.8s ease, box-shadow 0.5s ease, z-index 0.5s ease;
	-moz-transition: max-height 0.8s ease, box-shadow 0.5s ease, z-index 0.5s ease;
	-o-transition: max-height 0.8s ease, box-shadow 0.5s ease, z-index 0.5s ease;
	overflow: hidden;
}
.hidden_fields.closed {
	max-height: 0;
}
.hidden_fields.open {
	max-height: 1000px;
}
form.standard {
    margin: 0;
    padding: var(--standard-padding-half);

} 
form.standard .cols {
    display: flex;
    justify-content: stretch;
} 
form.standard .col {
    flex: 1;
    padding: var(--standard-padding-half);
    
} 
.flexrow, form.standard .row.flex {
    display: flex;
    flex-wrap: wrap;
}
.flexrow .col, form.standard .row.flex .col {
    flex: 1;
    margin-right: 10px;
}
.flexrow .col:first-child, form.standard .row.flex .col:first-child { 
	padding-left: 0;
}
.flexrow .col:last-child, form.standard .row.flex .col:last-child { 
	padding-right: 0;
}
.flexrow .col:last-child {
    margin-right: 0;
}

form.standard .row {
    padding: 0 var(--standard-padding-half);
    margin-bottom: var(--standard-padding-small);

}
form.standard .col .row {
    padding: 0;
}
form.standard .row label {
    display: block;
    
    margin-bottom: 5px;
}


form.standard .row input, form.standard .flexrow input, form.standard .row select, form.standard .flexrow select {
    display: block;
    padding: 5px;
	line-height: 20px;
	height: 30px;
	width: 100%;
	transition: all 0.5s;
	border: solid 1px var(--second-colour-3);
	
    transition: var(--standard-transition);
    box-sizing: border-box;
}
form.standard .row input.checkbox, form.standard .flexrow input.checkbox{
    width: 20px;
    height: 20px;
    margin: 5px;
}
form.standard .row label.checkbox {
    line-height: 20px;
    margin: 5px;
}

form.standard .row input:focus {
    border: solid 1px var(--main-colour-1);
}
form.standard .row textarea , form.standard .flexrow textarea{
    display: block;
    padding: 5px;
	line-height: 20px;
    width: 100%;
	transition: all 0.5s;
	border: solid 1px var(--second-colour-3);
	
    transition: var(--standard-transition);
    box-sizing: border-box;
}
form.standard .output, form.standard .flexrow .output{
    height: 30px;
    padding: 0 10px;
    line-height: 28px;
    border: solid 1px #E5E5E5;
    display: block;
    background-color: #F6F6F6;
    min-width: 75px;
    margin-right: 0;
    margin-bottom: 5px;

    overflow: hidden;
    transition: all 0.5s;
    max-height: 30px;
    box-sizing: border-box;
}

form.standard .flexrow {
    display: flex;
    justify-content: stretch;
    margin-top: 22px;
}
form.standard .flexrow label {
    width: 50%;
}
form.standard .flexrow input {
    width: auto;
}

form.standard .control {
    padding: var(--standard-padding-half);
    display: flex;
}
form.standard .control input.btn {
    display: block;
    margin: 0;
    padding: var(--standard-padding-small);
    border:  none;
    background-color: rgba(var(--main-colour-1-rgb),1);
    transition: var(--standard-transition);
    border-radius: 6px;
    font-weight: 600;
    color: #FFF;
    font-size: 1.2em;
    cursor: pointer;
    min-width: 150px;
    min-height: 50px;
}
form.standard .control input.btn:hover {
    background-color: rgba(var(--main-colour-1-rgb),1);
}
form.standard input[type="number"] {
    width: 80px;
}
.further_comments {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

form.dark input::placeholder, form.dark .row textarea::placeholder {
    color: var(--second-colour-2-fore);
}

form.dark input, form.dark textarea {
    background-color: var(--second-colour-3); 
	color: var(--second-colour-2-fore);
} 


form.light label {
    color: var(--main-colour-2-fore);
}

form.light input, form.light textarea {
    background-color: #D1D1D1; 
	color: var(--main-colour-2-fore);
} 
.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

html {}

.centre {
    text-align: center;
}

.res {
    display: none;
}

.nores {}

.foot {
    clear: both;
}

.small_screen_only {
    display: none;
}

#header {
    padding: 0vw;

}

#socialbar {
    float: right;

}

#logo_bar {
    padding: 1vw;
    padding-left: 3vw;



}

#logo_bar.cel10year {
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    align-content: stretch;
    padding-bottom: 0;
}

#logo_bar.cel10year #logo_text {
    padding-bottom: 1vw;
}

#logo_bar.cel10year {
    /* background-image: url('/media/10YearLogo.png');
       background-repeat: no-repeat;
       background-position: 98% bottom;
       background-size: auto 50%; */

}

#cel10year_logo {
    display: block;

    width: 100%;
    flex: 1;
}

#cel10year_logo a {
    display: block;
    height: 100%;
    width: 100%;
    background-image: url('/media/10YearLogo.png');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 50%;

}

#logo_image,
#logo_spacer {
    width: 400px;
    text-align: left;
    margin-right: 10px;

}

#logo_image a {
    display: inline-block;

}

#logo_image a img {
    width: 100%;
    height: 100%;
}

#logo_text {
    text-align: left;
    padding: 0 0;
}

#logo_text h1 {
    margin: 0;
    text-align: left;
}

#logo_text h1 a {
    font-weight: 100;
    color: #000;
    font-size: 80px;
    font-family: 'Muli', "Open Sans", sans-serif;
    display: block;
    display: inline-block;
}

#tagline {
    text-align: center;
    color: #FFF;
    font-family: 'Muli', "Open Sans", sans-serif;
    font-size: 26px;
    text-shadow: 0px 2px 2px #000000;
}

#header ul.socialbar_icons {
    margin-top: -50px;
}






#image_zoom {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    background-color: RGBA(0, 0, 0, 0.5);
    transition: all 1s;
    visibility: hidden;
    opacity: 0;

}

#image_zoom.loading {
    visibility: visible;
    opacity: 1;

}

#image_zoom.opened {
    visibility: visible;
    opacity: 1;

}

#image_zoom.closed {
    visibility: hidden;
    opacity: 0;

}

#image_zoom_contents {
    background-color: #FFFFFF;
    padding: 10px;
    max-height: 100%;
    max-width: 100%;
    position: fixed;
    left: 50%;
    top: 50%;
    transition: all 1s;
    margin-left: -25px;
    margin-top: -25px;

}

#image_zoom_close_btn {
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.5);
    float: right;
    width: 18px;
    height: 18px;
    text-align: center;
    line-height: 20px;
    background: #FFF;
    border-radius: 10px;
    text-transform: uppercase;
    position: absolute;
    left: 100%;
    transition: all 1s;
    margin-left: -10px;
    margin-top: -20px;
    cursor: pointer;
    font-size: 10px;
}

#image_zoom_image {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    overflow: hidden;
    max-height: 100% !important;
    max-width: 100% !important;
    transition: all 1s;
    height: 0;
    width: 0;

}

#image_zoom_image img {
    visibility: visible;
    max-height: 100% !important;
    max-width: 100% !important;

}

#image_zoom_loader {
    visibility: hidden;
    width: 0;
    height: 0;
}

#image_zoom.loading #image_zoom_contents {
    margin-left: -25px;
    margin-top: -25px;

}

#image_zoom.loading #image_zoom_loader {
    visibility: visible;
    width: 50px;
    height: 50px;

}

#image_zoom.opened #image_zoom_loader {
    visibility: hidden;
    height: 0;

}

#image_zoom #image_zoom_loader img {
    margin: 10px;
    width: 30px;
    height: 30px;
}

#image_zoom.opened #image_zoom_contents {}

#image_zoom_tempimage {}

#image_zoom_tempimage img {
    visibility: hidden;
    max-height: 90% !important;
    max-width: 90% !important;
    max-height: calc(90% - 80px) !important;
    position: absolute;

}

#image_zoom.closed #image_zoom_contents {
    margin-left: -25px;
    margin-top: -25px;

}

#image_zoom.closed #image_zoom_image {
    width: 0px;
    height: 0px;

}

#image_zoom_title {
    font-size: 20px;
    line-height: 30px;
    text-align: center;
    background-color: RGBA(255, 255, 255, 0.5);
}

#image_zoom_back {
    font-size: 16px;
    line-height: 30px;
    position: absolute;
    cursor: pointer;

}

#image_zoom_forward {
    line-height: 30px;
    font-size: 16px;
    float: right;
    cursor: pointer;


}

#page_image {
    width: 100%;
    height: 40vw;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-content: stretch;
    align-items: stretch;
}

.page_image_content {
    padding: 3vw;
    font-size: 20px;
    text-align: center;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-content: center;
    align-items: center;

}

.page_image_content>div {
    /* max-width: 58vw;
    text-align: left;
    margin-top: -14vw; */
}

.page_image_content.disc>div {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 20vw;
    width: 20vw;
    height: 20vw;
    padding: 1vw;
    margin-top: -34vw;
    margin-right: 52vw;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    font-size: 1.3vw;
    font-weight: 300;
}

.header_image_logo {
    padding: 1vw;
    text-align: right;
}

#body {
    background-color: #FFF;
}

#body h1 {
    /* text-transform: uppercase; */
}

#page {
    margin: 0 auto;
    padding: 3vw;
}

#page.nopadding {
    padding: 3vw 0;

}

#page.zeropad {
    padding: 0;

}

#page.fixedwidth {
    max-width: 1000px;

}



#full_screen_slide {
    height: 100%;
    overflow: hidden;
    width: 200vw;
    display: flex;
}

#full_screen_slide>div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    width: 100vw;

}

.flex_cols {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.flex_cols>div {
    margin: 1vw;
    flex: 1;

}

.flex_cols>div.main {
    flex: 3;

}

.flex_cols>div.main .contents {}


.latest {

    margin: 2vw -3vw;
    padding: 10px 0;
}

.latest h2 {
    text-align: center;
    font-family: 'Domine', serif;
    font-size: 20px;
}

.latest .items {
    display: flex;
    flex-wrap: wrap;

}

.latest .items>div {
    flex: 1;
    margin: 0 0;
    padding: 0 3vw;
    border-left: solid 1px #CCC;

}

.latest .items>div:first-child {
    border-left: none;
}

ul.side_by_images {
    display: flex;
    justify-content: center;
    align-content: center;
}

ul.side_by_images li {
    margin: 0 10px;
}

ul.side_by_images li img {
    max-height: 400px;
    max-width: 26vw;
}

ul.side_by_images li span {
    display: block;
    text-align: center;
    font-family: 'Domine', serif;
    font-size: 16px;
}

ul.image_grid {}

ul.image_grid li {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
}

ul.image_grid li img {
    margin: 10px;
    max-width: 50%;
    max-height: 200px;
}

ul.image_grid li span {
    display: block;
    text-align: center;
    font-family: 'Domine', serif;
    font-size: 16px;
}




.portfolio {
    background-color: #ececec;
    margin: 0 -3vw;

}

.portfolio h2 {
    font-family: 'Domine', serif;
    text-align: center;
    width: 100%;
    background-color: #CCC;
    height: 30px;
    line-height: 30px;




}

.portfolio .items {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;

}

.portfolio .items .group {
    background-color: #EfEfEf;
    border: solid 1px #000;
    display: flex;
    flex-wrap: wrap;
    align-content: top;
    justify-content: center;

}

.portfolio .items .item {
    margin: 1vw;
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
    padding: 1vw;
    background: #FFF;
    width: 21vw;

}

.portfolio .items .item h3 {
    margin: 0;
}

.portfolio .items .item p {}

.portfolio .items .item ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;


}

.portfolio .items .item ul li {

    height: 50px;
    width: 50px;
    border: solid 1px #CCC;
    margin: 10px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: 0.5s all;
}

.portfolio .items .item ul li img {
    margin: 0px;
    max-height: 100%;
    max-width: 100%;
    display: none;

}

.portfolio .items .item ul li:first-child {
    height: 400px;
    width: 400px;
    text-align: center;

}

.portfolio .items .item ul li:first-child img {}

.portfolio .items .item ul li span {
    display: block;
    text-align: center;
    font-family: 'Domine', serif;
    font-size: 16px;
}

.col_blog {
    margin: 0 -3vw;
    padding: 1vw 3vw;
    /* background-color: #f0eae1; */
}

.col_blog h2 {
    text-align: center;
    margin-bottom: 2vw;
}

.col_blog .latest_blog_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

}

.col_blog .latest_blog_list .item {
    max-width: 25%;
    min-width: 300px;
}
#menu_bar { 
    /* #D7B9A5 */
    border-top: solid 1px #E18C3C;
    border-bottom: solid 1px #E18C3C;
    display: flex;
    justify-content: stretch;
}

#menu_bar_button {
    display: none;
    width: 60px;
    height: 60px;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    right: 2vw;
    cursor: pointer;
    transition: all 0.5s;
}
#menu_bar_button:hover {
    
    /* background-color: RGBA(0,0,0,.75);
    background-color: rgba(225, 140, 60,0.5); */
}
#menu_bar_button .fil0 {
    transition: all 0.5s;
    transform-origin: center center;
}

#menu_bar_button.opened #line_1 {
    transform: rotate(45deg) translate(0, 10px) ;
    
}
#menu_bar_button.opened #line_2 {
    transform: scaleX(0);
}
#menu_bar_button.opened #line_3 {
    transform: rotate(-45deg) translate(0, -10px) ;

}

#menu_bar_button svg {
    fill: #E18C3C;
}


#header.fixed #menu_bar {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
    background-color: #FFF;

}

#menu_bar_fixed_logo {
    border-radius: 2px;
    padding: 0;
    margin-right: 0;   
    width: 0;
}
#menu_bar_fixed_logo  a {
    display:  block;
    transition: var(--standard-transition);
    overflow: hidden;
    opacity: 0;
}
#menu_bar_fixed_logo  a img {
    height: 50px;
}
#menu_bar_fixed_logo:hover {
}

.fixed #menu_bar_fixed_logo {
    display: block;
    width: 150px;
}
.fixed #menu_bar_fixed_logo a{
    opacity: 1;
}
.menu_bar_spacer {
    width: 0;
}
.fixed .menu_bar_spacer {
    width: 150px;
}
#menu_list {
    display: flex;
    text-align: center;    
    justify-content: center;
    width: 100%;
}
#menu_list li {
    transition: all 0.5s;
	display: flex;
	align-items: center;

}
#menu_list li:hover {
}
#menu_list li a{
    color: #000;
    padding: 10px 5px;
    font-size: 16px;
    text-align: center;   
    display: block;
    border-radius: 0px;
    margin:  5px;
    transition: all 0.5s;
    text-transform: uppercase;
    font-size: 18px;
}
#menu_list li a:hover {

}
#menu_list li.active a{
    color: #E18C3C;
}

#menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-align: center;    

}
#menu ul li{
    display: block;
    padding: 0;
    font-weight: 400;
    margin: 0 auto;
    margin-bottom: 5px;

}
#menu ul li a{
    display: block;
    text-decoration: none;
    padding: 5px;
    color: #FFF;
    line-height: 20px;
    transition: all 0.5s;

}
#menu ul li a:hover {
    background-color: #000;
}

ul.social_small {
    margin: 0;
    padding: 0;
}

ul.inline_menu {
    text-align: center;
    background-color: #999;
    
}
ul.inline_menu li{
    display: inline-block;
}
ul.inline_menu li a{
    padding: 5px;
    margin: 5px;
    display: inline-block;
    
}

ul.footer_inline_menu {
	float: right;
}

ul.footer_inline_menu li {
    display: inline;
}

ul.socialbar_icons {
	float: right;
	display:  flex;
	margin: 0;
	padding: 0;
	list-style: none;
	padding-top: 10px;
	transition: inherit;
	overflow: hidden;
}

ul.socialbar_icons li{
	border-radius: 5px;
	margin: 0 5px;
	transition: inherit;
	padding: 0px;
}
ul.socialbar_icons li a{
	display: block;
	width: 30px;
	height: 30px;
	overflow: hidden;
	transition: all 0.25s;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	/* opacity: 0.5;
	filter: grayscale(100%); */
}
ul.socialbar_icons li a:hover {
	opacity: 1;
}
ul.socialbar_icons li a img{
	width: 100%;
	border-radius: 5px;
	display: none;
}
ul.socialbar_icons:hover {
	overflow: visible;
}

.si_fb {
	background-image: url('../images/social/icons/facebook.jpg');
}
.si_tw{
	background-image: url('../images/social/icons/Twitter.png');
}
.si_lg{
	background-image: url('../images/social/icons/Instagram.png');
}
.si_li{
	background-image: url('../images/social/icons/linkedin.png');
}
.si_yt{
	background-image: url('../images/social/icons/YouTube.png');
}
.si_gp{
	background-image: url('../images/social/icons/googleplus.png');
}
.si_sc{
	background-image: url('../images/social/icons/soundcloud.png');
}
.si_pt {
	background-image: url('../images/social/icons/Pinterest.png')
	}
.si_hz {
	background-image: url('../images/social/icons/houzz.png')
	}

ul.socialbar_icons li a.svg {
	filter: unset;
	opacity: 1;

}
ul.socialbar_icons li a.svg img {
	display: block;

}


.copyright_bar {
    background-color: var(--main-colour-2);
    padding: 0.5vw;
    display: flex;
    justify-content: space-between;
}
.copyright_bar p {
    margin: 0;
}
.copyright_bar ul {
    margin: 0;
    padding: 0;
    list-style: none;
display: flex;

}
.copyright_bar ul li {
    padding:  0 10px;
}
#footer {
    width: 100%;
}

#footer .inline_menu {
    background-color: RGBA(255,255,255,0.25);   
    text-align: left;
    text-align: center;
}
#footer .inline_menu li a {

}
#footer_contents {
    padding:  10px 2vw;
    display: flex;
    justify-content: left;

}
#footer_address {
    text-align: left;


    
}
#footer_address a {

}
#footer_address p {
    margin: 0px;
    margin-bottom: 10px;

}
#footer_logo_image {
    width: 50px;
    height: 50px;
    margin-right: 1vw;
}
#footer_logo_image a {
    display: block;
    max-width: 100%;
    max-height:  100%;
    padding: 5px;
    
}
#footer_logo_image a img {
    width: 100%;
    height:  100%;
}
#footer_cta  {
    flex-grow: 0;

}
#footer ul.socialbar_icons {
    float: none;
    justify-content: flex-end;
    padding: 0.5vw;
}
#footer ul.socialbar_icons li a {
    width: 20px;
    height: 20px;
}

#footer_testimonials {
    background-color: var(--main-colour-1);
    padding: 2vw;
}
#footer_testimonials h2 {
    text-align: center;
    text-transform: uppercase;
    color: #FFF;
    font-size: 20px;
    margin: 0;
    margin-bottom: 18px;
    
}
#footer_testimonials blockquote {
    padding: 0 1vw;
    margin: 0;
    font-size: 18px;
}
#footer_testimonials cite{
    padding: 0 1vw;
    margin: 0;
}
#footer_testimonials .list_btn .material-icons{
    font-size: 60px;
    width: 60px;
    height: 60px;
    overflow: hidden;

}
#footer_testimonials .item {
    max-height: calc((18px * 4) - 6px);
    transition: all 0.5s;
}
#footer_testimonials .item p:first-child{
    margin-block-start: 0;
    margin-block-end: 0;
}

#footer_testimonials.expanded .item {
    max-height: 100vh;
}
#footer_testimonials.expanded #footer_testimonials_expand_btn{
    display: none;

}
#footer_testimonials_expand_btn  {
    padding: 1vw;
    display: flex;
    justify-content: center;
}
#footer_testimonials_expand_btn a {
    display: flex;
    color: #FFF;
    cursor: pointer;
    padding: 10px;
}
#footer_testimonials .testimonials_slider>div.item {
	max-height: none;
}
.footer_form {
    padding: 0 2vw;
}
.footer_form form.standard .row input, 
.footer_form  form.standard .row textarea,
.popup_form form.standard .row input, 
.popup_form  form.standard .row textarea  {
    border-radius: 6px;
    border: solid 1px  var(--main-colour-2);


}

.footer_form form.standard .row select, 
.popup_form form.standard .row select  {
    border-radius: 6px;
    border: solid 1px  var(--main-colour-2);
}

.footer_form  ::placeholder, .popup_form  ::placeholder   {
    text-transform: uppercase;
    font-size: 16px;
    color: var(--main-colour-4);
}

.footer_form :-ms-input-placeholder ,
.footer_form ::-ms-input-placeholder,
.popup_form :-ms-input-placeholder ,
.popup_form ::-ms-input-placeholder  {
    text-transform: uppercase;
    font-size: 16px;
    color: var(--main-colour-4);
}
.footer_form ::-ms-input-placeholder,
.popup_form ::-ms-input-placeholder  {
    text-transform: uppercase;
    font-size: 16px;
    color: var(--main-colour-4);
}
.footer_form form.standard .row label,
.popup_form form.standard .row label {
    display: none;
}

.footer_contact_form  h2{
    text-align: center;
    text-transform: uppercase;

}
.footer_contact_form  h3{
    text-align: center;
    font-weight: normal;
    margin: 0;

}

.event_form .form_control {
	padding: 20px;
    display: flex;
    
}

.popup_form .form_control {
	padding: 0;
    display: flex;
    justify-content: stretch;
}
.popup_form .form_control .form_control_group {
    display: flex;
}
.popup_form .form_control .form_control_group:first-child {
    margin-left: 0;
}
.popup_form .form_control .form_control_group.right {
    justify-content: flex-end;
}

.footer_form .form_control input,
.event_form .footer_form a, 
.popup_form .form_control input, 
.popup_form .form_control a {
	display: block;
	background-color: #E18C3C;
	line-height: 40px;
	border: none;
	padding: 0 10px;
	margin: 0 5px;
	color: #FFFFFF;
	cursor: pointer;
	border-radius: 5px;
	font-family: 'Open Sans', sans-serif;
	font-weight: normal;
	font-size: 20px;
	box-shadow: 0 1px 3px 0px RGBA(0,0,0,0.25);
    width: auto;
    flex: 0;
    text-transform: uppercase;
    transition: all 0.5s;;
    white-space: nowrap;
    box-sizing: border-box;

}
.footer_form .form_control input:hover, 
.event_form .footer_form a:hover,
.popup_form .form_control input:hover,
.popup_form .form_control a:hover {
	background-color: #E18C3C;
}
#contactform_captcha {
    padding: 0 var(--standard-padding-half);
    position:absolute;
}
#registerform_captcha {
    padding-bottom: 20px;
    height: 75px;
}

.popup_form form {
    padding: 0;
    min-height: 150px;
}
.popup_form form.standard .row {
    padding: 0;
}
.form_view {
    transition: all 0.5s;
    overflow: hidden;
}
.form_view.opened {
    max-height: 100vh;
}
.form_view.closed {
    max-height: 0;
    
}
#page h1 {
    text-align: center;

}

.contact_details {
    max-width: 1000px;
    margin: 0 auto;
    
}

.contact_details>ul {
    display: flex;
    justify-content: center;

   
}

.contact_details>ul>li{
    text-align: left;
    margin-bottom: 10px;
    line-height: 30px;
    margin: 2vw;
    flex: 1;
    font-size: 26px;
    border-left: solid 1px #E18C3C;  
    padding-left: 10px;

    
}
.contact_details>ul>li:first-child {
    margin-left: 0;
}
.contact_details>ul>li:last-child {
    margin-right: 0;
}
.contact_details ul li.address {
    line-height: 18px;
    font-size: 16px;
}
.contact_details>ul>li>span{
    line-height: 18px;
    display: block;
    font-size: 14px;
    color: #999;
    margin-bottom: 5px;

}

ul.contact_social {
    display: flex;
    margin: 0;
	padding: 0;
    list-style: none;
    flex-wrap: wrap;
}


ul.contact_social li{
    
    overflow: hidden;
	margin: 5px;
}
ul.contact_social li:first-child {
    margin-left: 0;
}
ul.contact_social li a{
	display: block;
	width: 26px;
	height: 26px;
	overflow: hidden;
	transition: all 0.25s;
	background-size: contain;
	background-position: center center;
    background-repeat: no-repeat;
}
ul.contact_social li a:hover {
	box-shadow: 0 1px 3px 0px RGBA(0,0,0,0.5);
}
ul.contact_social li a img{
	width: 100%;
	border-radius: 0px;
}
ul.contact_social:hover {
	overflow: visible;
}

.stories {
    margin: 0 -3vw;
    background-color: #EFEFEF;
}

.stories ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.stories ul li {
    margin: 1vw;
    padding: 1vw;
    background-color: #FFF;
}
.stories ul li a {
    display: block;
    width: 100%;
    height: 100%;
    
    overflow: hidden;
}
.stories ul li a h2{
    height: 50px;
    margin: 0;
    padding: 0;
    margin-bottom: -50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: RGBA(255,255,255,0.75);
    z-index: 500;
    position: relative;
    text-align: center;
    color: #333;
    text-shadow: 0px 1px 1px #FFF;
    border-bottom: solid 1px gold;
}
.stories ul li a img {
    height: 100%;
    max-width: 100%;
}

#blog_list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;

}
#blog_list .item {
   padding: 10px;
}
#blog_list .item h2 {
    text-align: left;
    margin: 0;
    padding-top: 10px;
    padding-bottom: 5px;
    border-left: solid 5px #E18C3C;
    padding-left: 10px;
    margin-left: -10px;
}
#blog_list .item .date {
    margin: 0;
    padding: 0;
  
    border-left: solid 5px #E18C3C;
    padding-top: 5px;
    padding-left: 10px;
    padding-bottom: 10px;
    color: #666;
    font-size: 14px;
    margin-left: -10px;
}
#blog_list .item:not(:first-child) {
    border-top: solid 1px #E18C3C;
    margin: 1vw 0;
    padding-top: 1vw;

}
#blog_list .item:not(:first-child) .image {
    float: left;
}
#blog_list .item:not(:first-child) img {
    max-width: 25%;
    height: auto;
    margin: 1vw;
}
#blog_list .item p>img {
    margin: 1vw;  
}

.inline_more {
    font-weight: bold;
    border-bottom: solid 1px #E18C3C;
}
.limit_width {
    max-width: 1500px;
    margin: 0 auto;
}
.latest_blog_list {
    min-width: 250px;
}
.latest_blog_list .item {
    border-left: solid 1px #E18C3C;
    padding-left: 10px;
    margin-bottom: 1vw;
}
.latest_blog_list .item  h3 {
    font-weight: normal;
    margin: 0;
    padding: 0;
    font-size: 16px;
    margin-bottom: 5px;
}
.latest_blog_list .item p {
    margin: 0;
    padding: 0;
}
.latest_blog_list .item p.date {
    font-size: 14px;
    color: #999;
    margin-bottom: 10px;
}
.blog_article h1 {
    border-bottom: solid 1px #E18C3C;
    padding-bottom: 10px;
    margin-bottom:  10px;
}
.blog_article .date {
    text-align: center;
    font-size: 14px;
    color: #999;
    margin: 0;
    padding: 0;
    
}
.blog_article img{
    margin: 10px;
    
}

#blog_list .control {
    clear: both;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;

}
#blog_list .control div {
    display: block;
    flex: 0;
    margin: 1vw;

}

#blog_list .control div a {
    display: block;
    border: solid 1px #E18C3C;
    padding: 10px;
    width: 150px;
    background-color: #FFF;
    transition: all 0.5s;
    display: flex;
    border-radius: 5px;
}
#blog_list .control div a:hover {
    background-color: #E18C3C;
}
#blog_list .control div:last-child a {
    text-align: right;
    
}
#blog_list .control div a span {
    display: block;
    flex: 1;
    line-height: 20px;
    padding: 0 10px;
}
#blog_list .control div a svg {
    width: 20px;
    height: 20px;
    fill: #E18C3C;
    transition: all 0.5s;
}
#blog_list .control div a:hover svg {
    fill: #FFF;
}

.flex_gallery {
    margin-bottom: 3vw;
}
.flex_gallery ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.flex_gallery ul li {
    margin: 1vw;
}
.flex_gallery ul li img {
    max-width: 100%;
}

.alt_2col_images {
    margin: -3vw;
    font-size: 16px;
}
.alt_2col_images .row{
    display: flex;
    justify-content: stretch;
    align-content: stretch;
}

.alt_2col_images .row:nth-child(even) {
    flex-direction: row-reverse;
}
.alt_2col_images .row>div{
    flex: 1;
    width: 50%;
}
.alt_2col_images .row .image {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /* min-height: 33.5vw; */
}
.alt_2col_images .row .image img {
    max-width: 100%;
    visibility: hidden;
    
}
.alt_2col_images .row .txt {
    display: flex;

    align-items: center;

}
.alt_2col_images .row .txt>div {
    padding: 2vw;
    flex: 1;
    text-align: justify;
}
.alt_2col_images .row .txt .highlight {
    font-size: 24px;
    text-align: center;
}
.alt_2col_images a {
    text-decoration: underline;
}

.alt_2col_images .txt ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.alt_2col_images .txt ul li {
}
.alt_2col_images .row .txt blockquote {
    margin: 0;
}
.event_images {
    text-align: center;
}
.event_images .image {
    display: block;
    margin-bottom: 3vw;
    width: 100%; 
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}
.event_images .image img {
    display: block;
    margin: 0 auto;
    width: 100%; 
}
.event_images .image a {
    top: 84%;
    bottom: 8%;
    left: 84%;
    right: 3%;
    display: block;
    position: absolute;
}
.long_gallery {
    text-align: center;
    margin: -3vw;
    
}
.long_gallery img {
    display: block;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 5px;

}
.long_gallery .main {
    width: 100%;
}
.long_gallery .main img{
    width: 100%;
    display: block;
    
}

.long_gallery .col_2 {
    /* display: flex; */
}
.long_gallery .col_2 img {
    width: calc(50% - 5px);
    display: inline-block;
}
.long_gallery .col_2 img:first-child {
    margin-right: 5px;
}
.long_gallery .quote {
    padding: 3vw;
    max-width: 1000px;
    margin: 0 auto;

}
.max_width_body {
    margin: -3vw;
   

}
.max_width_content {
    max-width: 1000px;
    margin: 0 auto;
    padding: 3vw;
}
.intro_image {
    margin: -3vw;
    margin-bottom: 3vw;
    
    display: block;
    text-align: center;
}

.intro_image img {
    max-width: 100%;
    margin: 0 auto;
    display: block;
}
.max_width_content p a {
    text-decoration: underline;
    color: #E18C3C;
}
.max_width_content p a:hover {
    text-decoration: none;
}




.scroll_list_h .list_wrapper {
    max-width: 100%;
    overflow: hidden;
    overflow-x: scroll;
    transition: var(--standard-transition);
}
.scroll_list_h .list_contents {
    display: flex;
    transition: var(--standard-transition);
}
.scroll_list_h .list_contents>div {

}
.scroll_list_main {
    display: flex;
}
.scroll_list_main .list_btn{
    display: flex;
    align-content: center;
    align-items: center;
    cursor: pointer;
    transition: var(--standard-transition);

}
.scroll_list_main .list_btn span {
    display: flex;
    font-size: 3em;
    background-color: RGBA(255,255,255,0.3);
    transition: var(--standard-transition);
    cursor: pointer;
}
.scroll_list_main .list_btn:hover span  {
    background-color: RGBA(255,255,255,0.9);
    color: var(--main-colour-1);
}
.scroll_list_dots {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center;
}
.scroll_list_dots li {
    background-color: RGBA(0,0,0,0.2);
    width: 10px;
    height: 10px;
    overflow:hidden;
    border-radius: 10px;
    transition: var(--standard-transition);
    margin: 0 5px;
}
.scroll_list_dots li.active {
    background-color: RGBA(0,0,0,0.9);
   
}

.auto_page_list_main {
    display: flex;
}
.auto_page_list_main .list_btn{
    display: flex;
    align-content: center;
    align-items: center;
    cursor: pointer;
}
.auto_page_list_main .list_btn span {
    display: flex;
    font-size: 3em;
    cursor: pointer;
    color: #FFF;
}
.auto_page_list_main .list_btn:hover span  {

}

.auto_page_list_main .list_wrapper {
    max-width: 100%;
    overflow: hidden;
}
.auto_page_list_main .list_contents {
    display: flex;
    -webkit-transition: margin 0.5s ease-in-out 0s;
    transition: margin 0.5s ease-in-out 0s;
}

.disco_more {
    border-top: solid 5px var(--main-colour-2)
}
.disco_more h2 {
    text-align: center;
    text-transform: uppercase;
    font-size: 20px;
    margin: 0;
    padding: 10px;
}

.disco_list {
}
.disco_list .item {
    width: 50%;
}

.disco_list .item.full{
    width: 100%;
    display: flex;
    background-color: var(--main-colour-1);
    justify-content: stretch;
}

.disco_list .item.full img {
    width: 50%;

}
.disco_list .item.full .col{
    width: 50%;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}
.disco_list .item .card {
    background-color: #FFF;
    padding: 1vw;
    max-width: 50%;
    min-width: 200px;
    text-align: center;

}
.disco_list .item .card a  {
    display: block;
}
.disco_list .item .card a span{
    display: block;
    background-color: var(--main-colour-5);
    text-align: center;
    padding: 5px 10px;
    color: #FFF;
    width: 100px;
    margin: 0 auto;

}
.disco_list .item.full .card {
    width: 50%;
}
.item_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.item_grid .item {
    width: calc(50vw - 2vw);
    height: calc(55vw / 2);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 2vw 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    align-content: flex-start;

}
.item_grid .item .card {
    flex: 0;
    margin: 1vw;
}
.disco_list.links  {
    border-top: solid 5px var(--main-colour-2);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.disco_list.links>h2 {
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    font-size: 20px;
    margin: 0;
    padding: 10px;
}
.disco_list.links .item {
    width: calc(33vw - 2vw);
    height: calc(55vw / 3);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
    display: flex;
    justify-content: stretch;
    align-items: flex-start;
    align-content: flex-start;
    margin-bottom: 4vw;

}
.disco_list.links .item  a  {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    align-content: flex-start;
}
.disco_list.links .item  a span{
    background-color: #FFF;
    margin: 1vw;
    padding: 1vw;
    display: block;
    text-transform: uppercase;
    text-align: right;
    font-weight: 300;
}
.disco_list.links.small .item {
    width: calc(25vw - 2vw);
    height: calc(55vw / 4);
}

#page.page_image_title #page_contents>h1 {
    position: absolute;
    width: 100%;
    margin-top: -18vw;
    font-size: 4vw;
    color: #FFF;
    text-align: center;
    font-weight: 300;

    
}
#page.darkback {
    background-color: var(--main-colour-3);

}
.page_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.page_grid .item{
    width: calc(33vw - 13px);
    height: calc(33vw - 13px);
    margin-bottom: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: stretch;
    align-content: stretch;


}
.page_grid .item.double {
    width: calc(66vw - 13px);
}
.page_grid .item.autoheight {
    height: auto;

}
.page_grid .item.textblock{ 
    background-color: var(--main-colour-3);
    display: block;
} 
.page_grid .item.textblock .contents {
    padding: 2vw;
}
.page_grid .item .card h2 {
text-transform: uppercase;
}

.text_list{
    padding-left: 1vw;
   text-align: center;
   width: 100%;
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   justify-content: stretch;
}
.text_list .text_list_contents {
    width: 100%;
    height: 100%;

}
.text_list h2 {
    text-transform: uppercase;
    font-size: 20px;
    width: 100%;
    margin-top: 0;
}
.text_list ul {
    width: 100%;
    /* display: flex;
    flex-wrap: wrap;
    justify-content: center; */
    text-align: left;
    list-style: none; 
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    min-height: calc(33vw - 100px);
}
.text_list ul li::before {
    content: "\2022";  
    color: #A18F89; 
    font-weight: bold; 
    display: inline-block; 
    width: 1em; 
    margin-left: -1em; 
}
.text_list ul li {
    /* padding: 0 1vw; */
    /* border-right: solid 1px #CCC; */
    font-size: 20px;
    white-space: nowrap;
}
.text_list ul li.item_logo::before {
    content: "";  
}
.page_grid .item.link {
    display: flex;
    cursor: pointer;
    text-transform: uppercase;

}

.page_grid .item.top {
    align-items: flex-start;

}
.page_grid .item.bottom {
    align-items: flex-end;

    
}
.page_grid .item.bottom .card {
    padding-bottom: 1vw;
}
.page_grid .item.right {
    justify-content: flex-end;
}
.page_grid .item.light {
    color: #FFF;
}
.page_grid .item .card {
    margin: 1vw;
}
.page_grid .item .card h2 {
    font-size: 2.8vw;
    font-weight: 300;
    text-align: right;
    margin: 0;
    padding: 0;
}
.page_grid .item .card p {
    margin: 0;
    padding: 0;
    font-size: 1vw;
    text-align: right;
}
.page_grid .item.left .card h2, .page_grid .item.left .card p {
    text-align: left;
}
.page_grid .item.image {
    justify-content: center;
    display: block;
}
.page_grid .item.image img{
    max-width: 100%;
    height: auto;

}


.page_grid .item.withlogo {

}
.text_list ul li.item_logo {
    position: absolute;  
}
.page_grid .item .item_logo {
	position: absolute;
    margin-top: calc(-1* (6vw + 16px));
    margin-left: calc(33vw - 6vw - 2vw);
}
/* .page_grid .item .item_logo {
    position: absolute;
    margin-top: calc(33vw - 6vw - 1vw);
    margin-left: 1vw;
    position: static;
    margin-top: -7vw;


}
.page_grid .item .item_logo  a {
    display: block;
} */
.page_grid .item .item_logo a img {
    width: 6vw;
    height: 6vw;
}
.logo_list  {
    overflow: hidden;
}
.logo_list ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    justify-content: center;
}
.logo_list ul li {
    margin: 1vw;
    width: 250px;
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.logo_list.back_wht ul li {
    background-color: #FFF;
    padding: var(--standard-padding-half);
}
.logo_list ul li .image {
    display: block;
    width: 250px;
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.logo_list ul li img{
    flex: 0;
    max-width: 250px;
    max-height: 50px;
    display: block;
    /* -webkit-filter: grayscale(100%);
    filter: grayscale(100%); */
    transition: var(--standard-transition);
    
}
.logo_list ul li a {
    display: block;
    padding: 0 2vw;
}
/* .logo_list ul li a {
    display: block;
    width: 98vw;
}
.logo_list ul li a img {
    margin: 0 auto;
} */
.logo_list ul li label {
    display: block;
    text-align: center;
    padding: var(--standard-padding-half);
}

.logo_list ul li img:hover {
    -webkit-filter: grayscale(0); /* Safari 6.0 - 9.0 */
    filter: grayscale(0);
    
}

.logo_list ul.ticker {
    justify-content: flex-start;
}

.auto_ticker {
    overflow: hidden;
}
.addtoevent_badge {
    position: absolute;
    margin-top: -22vh;
    margin-left: 2vw;

}
.popup_image_gallery {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: RGBA(0,0,0,0.25);
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    max-height: 100vh;
    transition: max-height 0.5s;
    overflow: hidden;
    z-index: 9999;
}
.popup_image_gallery.closed {
    max-height: 0;
}
.popup_image_gallery.opened {
    max-height: 100vh;
    
}

.image_gallery_card {
    margin: 3vw;
    width: 96vw;
    height: calc(100vh - 6vw - 60px);
    background-color: #FFF;
    
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-content: stretch;
    justify-content: center;
    padding: 30px 0 ;
}
.image_gallery_view {
    display: flex;
    
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.image_gallery {
    transition: all 0.5s;
    max-height: 100%;
}
.image_gallery.closed {
    max-height: 0;
}

.image_gallery {
    overflow: auto;
}
.image_gallery.full .image_gallery_list{
    flex-wrap: wrap;
    
}
.image_gallery_list {
    display: flex;
    padding: 0 30px;
    justify-content: center;
    

}

.image_gallery .item {
    width: 200px;
    height: 200px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    margin: 1vw;
    cursor: pointer;
}
.image_gallery .item img {
    width: 100%;

}
.gallery_image {
    padding: 0 2vw;
    max-height: 100%;
    transition: height 0.5s;
    overflow: hidden;
    display: flex;
    justify-content: stretch;
    align-content: stretch;
    height: 100%;
}
.image_gallery_body {
    display: flex;
    justify-content: stretch;
    align-content: stretch;
    height: 100%;
}
.gallery_image.closed {
    max-height: 0;
    padding: 0;
}
.gallery_image_slides {
    overflow: hidden;
    width: 100%;
    height: 100%;
}
.gallery_image_slider {
    width: 200%;
    display: flex;
    height: 100%;
    transition: margin 0.5s;
}
.gallery_image_slide {
    width: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.gallery_image_slide img {
    max-height: 100%;
    max-width: 100%;
    display: block;
    margin: 0 auto;
    width:auto;
    height:auto;
}

.gallery_image_ctrl {
    width: 5px;
    display: flex;
    align-content: center;
    align-items: center;
    overflow: hidden;
    opacity: 1;
    transition: opacity 0.5s;
}
.imageclosed .gallery_image_ctrl{
    opacity: 0;
    display: none;
}
.imageopened .gallery_image_ctrl{
    display: flex;
}
.gallery_image.closed .btn {
    display: none;
}
.gallery_image_ctrl .btn {
    position: absolute;
    display: block;
    width: 50px;
    height: 50px;
    
    cursor: pointer;
    color: #000;
    opacity: 0.5;
    transition: opacity 0.5s;
    background-color: #FFF;
}
.gallery_image_ctrl .btn:hover {
    opacity: 1;
}
.gallery_image_ctrl .btn span {
    font-size: 50px;
}
.gallery_image_ctrl .btn span.material-icons {
    width: 50px;
    height: 50px;
    overflow: hidden;
}
.gallery_image_ctrl.right .btn{
    margin-left: -50px;

}
.image_gallery_controlbar {
    position: relative;
    margin-left: 100%;
    
    border: solid;
    
}
.image_gallery_viewctrl {
    position: absolute;
    width: 100px;
    margin-left: -100px;
    margin-top: -30px;
    display: flex;
    justify-content: flex-end;
   
}
.image_gallery_closebtn {
    margin-right: 10px;
}
.image_gallery_closebtn .material-icons {
    cursor: pointer;
    font-size: 30px;
    display: block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background-color: rgba(0,0,0,0.1);
    border-radius: 3px;
    
}


@media all and (max-width: 800px) {
    .expand_wrapper {
        overflow: hidden;
        transition: max-height 0.5s;
    }
    .expand_wrapper p:first-child {
        margin-top: 0;
        margin-block-start: 0;
    }
    .expand_wrapper.opened {
        max-height: 200vh!important;
    }

    .expand_wrapper_ctrl  {
        padding: 1vw;
        display: flex;
        justify-content: center;
    }
    .expand_wrapper_ctrl .expand_btn {
        display: flex;
        color: var(--main-colour-4);
        cursor: pointer;
        padding: 10px;
    }
}
@media all and (min-width: 800px) {
    .expand_wrapper {
        max-height: 200vh!important;
    }
    .expand_wrapper_ctrl {
        display: none;
    }

}
.ws_page_menu {
    background-color: var(--main-colour-3);
    padding: 3vw;
    display: flex;
    justify-content: center;

}
.ws_page_menu .item {
    width: 20vw;
    height: 20vw;
    max-width: 400px;
    max-height: 400px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 1vw;
    display: flex;
    
    align-content: flex-end;
    align-items: flex-end;
}

.ws_page_menu .item a {
    width: 100%;
    display: block;
    background-color: rgba(var(--main-colour-1-rgb),0.7);
    padding: 0.5vw;
    margin-bottom: 2vw;
}

.ws_page_menu .item a span {
    font-weight: 300;
    font-size: 1.3vw;
    display: block;
    color: #FFF;
    text-transform: uppercase;
    
}
.ws_page_menu .item a img {
    display: block;
    margin: 0;
    padding: 0;
    margin-left: 38%;
    height: 3.8vw;
    margin-top: -0.8vw;

}

.ws_section {
    margin: 0 auto;
    max-width: 1000px;
    padding: 3vw;
    
}
hr.ws_seperator {
    border: none;
    border-bottom: solid 4px #3f3d21;
    margin: 0;
    padding: 0;
    padding-bottom: 26px;
}
.ws_seperator_link {
    margin: 0 auto;
    max-width: 1000px;
    height: 80px;
    margin-top: -44px;
    display: flex;
    justify-content: flex-end;
    

}
.ws_seperator_link a {
    display: block;
    background-color: #FFF;
    padding:  0 2vw;
    color: var(--main-colour-1);
    display: flex;
    align-items: center;
    align-content: center;
    font-size: 24px;
}
.ws_seperator_link a img {
    height: 80px;
    margin: 0;
    padding: 0;
}
.ws_section:last-child {
    border-bottom: none;
}
.ws_section h2 {
    text-transform: uppercase;
    font-size: 20px;
    margin-top: 0;
}
.ws_section h2.right {
    text-align: right;
}
.ws_section .highlight {
    font-size: 18px;
}

.ws_section.withimage {

}

.ws_section_group { 
    display: flex;
    justify-content: stretch;

}
.ws_section_image img {
    width: 15vw;

}
.ws_section_text {
    padding-left: 2vw;
}

.ws_section_text p:first-child {
    margin-top: 0;
}

.ws_section.withimage.left {

}
.ws_section.withimage.right .ws_section_group  {
    flex-direction: row-reverse;

}
.ws_section.withimage.right .ws_section_text{
    padding-left: 0;
    padding-right: 2vw;
}
.ws_section .gold {
    color: var(--main-colour-1);
    background-color: transparent;
    font-weight: 400;
    font-size: 24px;

}
.ws_section  .btn.goldback{
    background-color: var(--main-colour-1);

}
.ws_section .right {
    text-align: right;
}
.ws_item_card {
    border: solid 4px var(--main-colour-1);
    max-width: 800px;
    margin: 0 auto 3vw;

}
.ws_item_cols {
    display: grid;
    grid: auto / auto 300px;
}
.ws_item_details {
    padding: 1vw;
}

.ws_item_details h3 {
    text-transform: uppercase;
    margin-top: 0;
    font-weight: 400;

}
.ws_item_side {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;

}
.ws_item_side .date {
    background-color: rgba(var(--main-colour-1-rgb),0.7);
    color: #FFF;
    padding: 2vw;
    font-size: 1.6vw;
    text-transform: uppercase;
    text-align: center;

}
.ws_item_side .date span {
    display: block;
}
.ws_small_card_grid {
    display: grid;
    grid: auto / 50% 50%;
    padding: 0.5vw;
    grid-gap: 0.25vw;
    gap: 0.25vw;
}
.ws_small_item {
    border: solid 2px #3f3d21;
    background-color: #E4DFDC;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.ws_small_item h3 {
    background-color: rgba(63, 61, 33,0.45);
    padding: 0.1vw;
    display: flex;
    justify-content: stretch;
    align-items: center;
    align-content: center;
    height: 3.2vw;
}
.ws_small_item h3 span{
    display: block;
    color: #FFF;
    width: 50%;
    font-weight: 300;
    text-align: center;
    text-transform: uppercase;
    font-size: 1.4vw;
    
    
}
.ws_small_item h3 img{
    height: 2.4vw;
    
}
.ws_small_item .info {
    width: 50%;
    margin-left: 50%;
    text-align: center;
    text-transform: uppercase;
    font-size: 1vw;
}
.ws_item_card {
    position: relative;
}
.ws_item_card .expired::before {
    content: "Event passed\A more to come ...";
    white-space: pre;
}
.ws_item_card .expired {
    position: absolute;
    background-color: rgba(var(--main-colour-3-rgb),0.9);
    width: 90%;
    height: 100%;
    top: 0;
    bottom: 0;
    display: flex;
    text-align: left;
    align-content: center;
    align-items: center;
    font-size: 100px;
    color: #FFF;
    font-family: var(--font-body-1);
    font-weight: 300;
    padding-left: 10%;
}

@media all and (max-width: 900px) {
    .ws_item_card .expired {
        font-size: 10vw;
    }
    .ws_page_menu {
        padding: 10px;    
    }
    .ws_page_menu .item {
        min-width: 120px;
        min-height: 120px;
    }
    .ws_page_menu .item a span {
        font-size: 16px;
        text-align: center;
        height: 34px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
    }
    .ws_page_menu .item a img {
        margin: 0 auto;
        height: 40px;
    }

    .ws_item_cols {
        display: flex;
        flex-direction: column-reverse;
    }
    .ws_item_side {
        background-image: url('/media/workshops/workshop_01.jpg');
        height: 200px;
        background-position: center;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
    .ws_item_side .date {
        font-size: 20px;
    }
    .ws_small_card_grid {
        display: block;
    }
    .ws_small_item {
        margin-bottom: 10px;
    }
    .ws_small_item h3 {
        height: auto;
    }
    .ws_small_item h3 span {
        font-size: 18px;
    }
    .ws_small_item h3 img {
        height: 40px;
    }
    .ws_small_item .info {
        font-size: 16px;
    }

    .ws_section_image img{
        width: 25vw;
    }
    
    .ws_section_offset {
        position: absolute;
        margin-top: -40px;
    }



}

@media all and (max-width: 600px) {
    .ws_page_menu {
        overflow: hidden;
    }
    .ws_section.withimage .ws_section_group, .ws_section.withimage.right .ws_section_group {
        flex-direction: column;
        align-items: stretch;
        align-content: stretch;
    }

    .ws_section.withimage .ws_section_group .ws_section_image {
        display: flex;
        width: 100%;
        justify-content: stretch;
        margin-bottom: 3vw;
    }

    .ws_section.withimage .ws_section_group .ws_section_image img {
        max-width: 100%;
        margin: 1%;
        flex: 1;
    }
}
@media all and (max-width: 1250px) {
	#menu_list li a {
	}
	#menu_bar_fixed_logo{
		width: 0;

	}
	#menu_bar_spacer{
		width: 0;

	}
	#header.fixed #menu_bar .menu_bar_spacer{
		width: 0;
	}
	#header.fixed #menu_list {
		justify-content: space-between;
		padding: 0 1vw;
	}
	.text_list h2 {
		font-size: 18px;
		margin-top: 0;
	}
	.text_list ul li {
		font-size: 18px;
	}
	/* #header.fixed #menu_bar #menu_bar_fixed_logo {
		width: 0;
		display: none;
	} */
}

@media all and (max-width: 1150px) {
	#menu_list li a {
		font-size: 17px;
		margin: 0;
	}
	.text_list ul li {
		font-size: 16px;
	}
}

@media all and (max-width: 1000px) {
	#menu_list li a {
		font-size: 16px;
		margin: 0;
	}
	.fixed #menu_bar_fixed_logo {
		width: 0;
	}

    .page_grid .item {
        width: calc(50vw - 13px);
        min-height: calc(50vw - 13px);
        height: auto;
    }
	

	.page_grid .item .item_logo {
		margin-left: calc(50vw - 6vw - 2vw);
	}

    .page_grid .item .card h2 {
        font-size: 4vw;
    }
    .page_grid .item .card p {
        font-size: 1.5vw;
    }
    .page_grid .item.bottom .card{
        padding-bottom: 3vw;
        padding-right: 3vw;
    }
	

    /* .page_grid .item .item_logo {
        margin-top: calc(50vw - 6vw - 2vw);
    }
    .page_grid .item .item_logo a img {
        width: 6vw;
        height: 6vw;
    } */
	.page_grid .item.double {
		width: calc(50vw - 13px);
	}
	.text_list ul { 
		min-height: calc(50vw - 50px);
	}
	
}
@media all and (max-width: 850px) {
#contactform_captcha {
	position: static;
	margin: 10px 0;
}
}
