/* CSS Document */


/*  REFERENCE COLOURS
Background Taupe:    #f1efec
Dark Brown:	      	 #291b08
Text Colour:         #333
Brown:	       #743523
Blue:          #009391
AB Green:      #848c82
AB Purple: 	   #593857
Pink:    	   #E34264
*/



/*  GUIDE LINES 
.showborderred    {border: 2px solid red; }
.showborderaqua   {border: 1px solid aqua; }
.showborderpurple {border: 4px solid purple; }
.showborderblack  {border: 1px solid black; }
.showbordergreen  {border: 4px solid green; }
.showborderorange {border: 1px solid orange; }
.showborderpink   {border: 1px solid pink; }
.showborderyellow {border: 1px solid yellow;}
*/



/* ====== RESET - Initial ====== */
*, *::before, *::after { padding: 0; margin: 0; font: inherit; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: #fff; min-height: 100vh; overflow-x: hidden; }
ol, ul { list-style: none; }
a { text-decoration: none; }

/* ====== DEFAULTS ====== */
div { display: block; }
span { display: inline; }
img { display: inline-block; }

/* ====== RESET - Override ====== removed  svg */
img, picture, video { display: block; max-width: 100%; height: auto; }



/* ====== LINK STYLES ====== */

a:link { color: #fff; }
a:visited { color: #fff; }
a:hover { color: #D29347; }
a:active { color: #fff; }


.textlink a:link { color: #291b08; font-weight: 600; }
.textlink a:hover { color: #D29347; font-weight: 600; }
.textlink a:visited { color: #291b08; font-weight: 600; }

.textlink-text a:link { color: #291b08; font-weight: 400; font-style: italic; }
.textlink-text a:visited { color: #291b08; font-weight: 400; font-style: italic; }
.textlink-text a:hover { color: #D29347; font-weight: 400; }



/* ====== FONT STYLES ====== */
body { 
	font-family: 'Rubik', sans-serif;
	color: #333;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.65em; }

p { 	
	font-family: 'Rubik', sans-serif;
	color: #333;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.65em; 
	margin-bottom: 16px; }

h1 { font-family: 'Playfair Display'; font-size: 36px; color: #ffffff9c; line-height: 1.5em; }
h2 { font-family: 'Playfair Display'; font-size: 35px; color: #291b08; line-height: 1.5em; }
@media (min-width: 480px) { h2 { font-size: 36px; } }


h3 { font-family: 'Rubik', sans-serif; font-size: 16px; color: #333; font-weight: 400; margin-bottom: 16px; line-height: 1.5em; }

h4 { font-family: 'Rubik', sans-serif; font-size: 18px; color: #333; font-weight: 400; margin-bottom: 22px; line-height: 1.7em; }

h5 { font-family: 'OPTIAntique-Bold'; color: #fff; font-size: 26px; font-weight: normal; font-style: normal; line-height: 1.5em; }
h6 { font-family: 'Rubik', sans-serif; font-size: 16px; color: #fff; font-weight: 300; margin-bottom: 16px; line-height: 1.5em; }







/* ====== STRUCTURAL SELECTORS ====== */
header    { width: 100%; }
nav       { width: 100%; margin-bottom: 6px; z-index: 10; }
main      { width: 100%; /* max-width: 1200px; margin: 0 auto; */ }
footer    { width: 100%; background: #291b08; padding: 40px 0 100px 0; }
section   { width: 100%; margin: 0; }
container { display: block; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
row       { display: flex; width: 100%; min-height: 260px; }

.container-wide { max-width: 1520px !important; }

.uppercase { text-transform: uppercase; }
.bold { font-weight: 600; }
.italic { font-style: oblique; margin-bottom: 40px; margin-top: -10px; margin-left: 20px; }
.italic-para { font-style: oblique; }
.text-centered { text-align: center; }
.logo-centered { margin-inline: auto; width: fit-content; padding-right: 40px; }

.bg-taupe { background: #f1efec; }

.h1-color { color: #ffffff9c; }

.mt-20 { margin-top: 20px; }
.mt-40 { margin-top: 40px; }
.mt-60 { margin-top: 60px; }
.mt-80 { margin-top: 80px; }
.mt-100 { margin-top: 100px; }
.mt-120 { margin-top: 120px; }

.mb-20 { margin-bottom: 20px; }
.mb-40 { margin-bottom: 40px; }
.mb-60 { margin-bottom: 60px; }
.mb-70 { margin-bottom: 70px; }
.mb-80 { margin-bottom: 80px; }

.pt-10 { padding-top: 10px; }
.pt-20 { padding-top: 20px; }
.pt-40 { padding-top: 40px; }
.pt-60 { padding-top: 60px; }
.pt-80 { padding-top: 80px; }
.pt-100 { padding-top: 100px; }
.pt-120 { padding-top: 120px; }

.pb-40 { padding-bottom: 40px; }
.pb-60 { padding-bottom: 60px; }
.pb-80 { padding-bottom: 80px; }
.pb-100 { padding-bottom: 100px; }
.pb-120 { padding-bottom: 120px; }


	
.vertical-align-text {
		display: grid;
		align-items: center; }
	




/* ====== PAGE HEADER ====== */

.header-home {
    display: flex;
    justify-content: center;
    align-items: center;
	background: rgba(0,0,0,0.4);
    height: 100vh; }


.video-home {
    position: absolute;
	object-fit: cover;
    width: 100vw;
	height: 100vh;
    z-index: -1; }


.headline { max-width: 800px; /*margin-inline: auto;*/ }
.header-device { max-width: 600px; margin-inline: auto; }
.header-statement { text-align: center; margin-top: 40px; }


.mute-button {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 99;
    background: none;
    border: none;
    color: #593857b8;
    background: #fff;
    opacity: .5;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    padding: 5px;
    text-align: center;
	cursor: pointer; }
	
.mute-button:before {
	content: '\f027';
    font-family: 'icomoon';
    font-size: 22px;
    position: absolute;
    top: 4px;
    left: 8px; 	}
	
.mute-button.active:before {
	content: '\f028';
    font-family: 'icomoon';
    font-size: 22px;
    position: absolute;
    top: 4px;
    left: 8px; 	}





/* ========================================================NEWS & EVENTS LAYOUT ====== */

.grid-container-3col-fluid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 40px; }

.grid-container-4col-fluid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(182px, 1fr));
	gap: 40px; }	
	
.grid-container-5col-fluid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(196px, 1fr));
	gap: 40px; }	


.grid-container-2col-fixed {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 510px));
	gap: 40px;
	justify-content: center; }

.grid-container-3col-fixed {
	display: grid;
	grid-template-columns: repeat(auto-fit, 340px);
	gap: 40px;
	justify-content: center; }

.grid-container-4col-fixed {
	display: grid;
	grid-template-columns: repeat(auto-fit, 300px);
	gap: 40px;
	justify-content: center; }







.columns-2 { display: flex; flex-wrap: wrap; justify-content: center; }
@media (min-width: 900px) { .columns-2 { flex-wrap: nowrap; } }

.column-left-text {
    width: 100%;
    max-width: 500px; }

.column-right-image {
    width: 100%;
    max-width: 660px;
	padding-left: 60px; }
/*@media (min-width: 900px) { .column-right { padding-top: 160px; } }*/


.column-left-right {
    width: 100%;
    max-width: 660px; }

.column-right-text {
    width: 100%;
    max-width: 500px;
	padding-left: 60px; }
/*@media (min-width: 900px) { .column-right { padding-top: 160px; } }*/







.column-left {
	padding-right: 20px;
    width: 100%;
    max-width: 580px; }

.column-right {
    width: 100%;
    max-width: 580px; }
@media (min-width: 900px) { .column-right { padding-left: 20px; } }







.background-image-parallax {
	position: relative;
	background-image: url("../images/wellness_bground.jpg");
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
background-attachment: fixed; }
	
.background-image-parallax::before {
    content: "";
    position: absolute;
    inset: 0;
	top: 300px;
/*    z-index: -1;*/
    background: linear-gradient(0deg, rgb(0 0 0 / 0.7), rgb(0 0 0 / 0)); }
	






.abc-linklogos {
	display: flex;
	justify-content: space-evenly; }

.ablogo { max-width: 120px; }




.abclogo { margin-inline: auto; width: 180px; }	

	






	
.card-image {
  position: relative; }
	
	
.exp-image {   opacity: 1;
  display: block;
  width: 100%;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden; }
	
	
.middle {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}
	
	
.card-image:hover .exp-image {
  opacity: 0.3; 
}

.card-image:hover .middle {
  opacity: 1;
}
	
	
.text {
/*  background-color: #04AA6D;*/
  color: white;
  font-size: 16px;
/*  padding: 16px 32px;*/
}



.cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center; }
@media (min-width: 700px) { .cta { flex-wrap: nowrap; } }

.bannercontainer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between; }
@media (min-width: 700px) { .bannercontainer { flex-wrap: nowrap; } }

.banner-text {
	width: 100%;
	padding-right: 20px;
	max-width: 1020px; }

.cta-text {
	padding-top: 10px;
	width: 100%;
	padding-right: 20px;
	max-width: 790px; }


.banner-button { width: 106px; }






.button-1 { 
	display: inline-block;
	padding: 6px 32px;
	border-radius: 20px;
	border: 1px solid #fff;
	font-size: 13px; }
a.button-1 { color: #fff; }
.button-1:hover { background-color: #D29347; }


.button-2 { 
	display: inline-block;
	padding: 6px 32px;
	border-radius: 20px;
	border: 1px solid #656464;
	font-size: 13px; }
a.button-2 { color: #656464; }
.button-2:hover { color: #fff; background-color: #D29347; }


.button-3 { 
	display: inline-block;
	padding: 6px 32px;
	border-radius: 20px;
	border: 1px solid #bfbcb3;
	font-size: 13px;
	background: #291b08;
	color: #bfbcb3;
	float: right; }
/*a.button-3 { color: #fff; }*/
.button-3:hover { cursor: pointer; color: #fff; background-color: #D29347; }



/*
.mobile-menu-logo { max-width: 200px; margin-bottom: 40px; }
@media (min-width: 1240px) { .mobile-menu-logo { display: none; } }
*/







/* ====== STRUCTURE & LAYOUT ====== */



/*
.full-width-image-beyond {
	position: relative;
	background-image: url("../images/fullwidthimage02.jpg");
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
*/



.image-spacer { height: 340px; }

.fullwidth-banner-link {
	position: absolute;
    width: 100%;
    justify-content: center;
	padding-bottom: 16px;
    bottom: 0; }





.body-text { margin-bottom: 80px; }
.body-text-plus { margin-bottom: 120px; }


.vertical-center { display: block; }

.vertical-center p { margin-bottom: 0; }

.vertical-end { margin-bottom: 34px; }

.foot-device { max-width: 60px; margin-bottom: 10px; }

.page-subcontent-home { margin-top: 100px; }
.page-subcontent { margin-top: 80px; }






.box-left {
	padding-right: 20px;
    width: 100%;
    max-width: 580px; }

.box-right {
	padding-top: 0px;
	padding-left: 20px;
    width: 100%;
    max-width: 580px; }
/*@media (min-width: 900px) { .column-right { padding-top: 40px; } }*/


.columns-3-1-quarters { display: flex; flex-wrap: wrap; justify-content: center; }
@media (min-width: 900px) { .columns-3-1-quarters { flex-wrap: nowrap; } }
	
.columns-3-1-left {
	display: flex;
	align-items: center;
	padding: 0 20px 0 20px;
    width: 100%;
    max-width: 870px; }
@media (min-width: 900px) { .columns-3-1-left { padding: 0 20px 0 0; } }

.columns-3-1-right {
	padding: 0 20px 0 20px;
    width: 100%;
    max-width: 290px; }
@media (min-width: 900px) { .columns-3-1-right { padding: 0 0 0 20px; } }




.columns-1-3-quarters { display: flex; flex-wrap: wrap; justify-content: center; }
@media (min-width: 1200px) { .columns-1-3-quarters { flex-wrap: nowrap; } }



.columns-1-3-right {
	padding: 0;
    width: 100%;
    max-width: 870px; }
@media (min-width: 460px) { .columns-1-3-right { padding-right: 20px; padding-left: 20px; } }

.columns-1-3-left {
	display: flex;
	align-items: flex-end;
	padding: 0 20px 0 20px;
    width: 100%;
    max-width: 520px; }
@media (min-width: 1200px) { .columns-1-3-left { padding: 0 20px 0 0; max-width: 290px; } }



.columns-newscontent-right {
	padding: 0;
    width: 100%;
    max-width: 940px; }
@media (min-width: 460px) { .columns-newscontent-right { padding-right: 20px; padding-left: 20px; } }

.columns-newsimage-left {
	padding: 0 20px 0 20px;
    width: 100%;
    max-width: 400px;
	margin-bottom: 40px; }
@media (min-width: 1200px) { .columns-newsimage-left { padding: 0 40px 0 0; max-width: 220px; } }









.text-and-noimage {
/*  margin-bottom: 40px;
	border-bottom: solid 1px gray; */ }

.text-and-image {
/*	margin-bottom: 40px; 
	border-bottom: solid 1px gray; */
	display: flex;
	flex-direction: column-reverse; }
@media (min-width: 560px) {
.text-and-image { display: flow-root; }
}

.threequarter-textbox { 
	display: block; }

.onequarter-imagebox {
    float: none;
    margin: -20px auto 50px auto;
	max-width: 500px; }
@media (min-width: 560px) {
.onequarter-imagebox {
	float: right;
	width: 100%;
    max-width: 220px;
	margin: 44px 0 20px 20px; }
}

.onequarter-imagebox img {
	border-radius: 8px;
}




hr.style-two {
    border: 0;
    height: 1px;
    margin-bottom: 40px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}



.book-here {
	text-align: right;
}











/* ===== FOOTER ===== */


.footer-columns-3 { 
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
/*	padding-bottom: 24px; */
/*	border-bottom: 2px solid #D29347;*/
/*	margin-bottom: 20px; */
	margin-top: 20px; }
@media (min-width: 1160px) { .footer-columns-3 { justify-content: space-between; } }



.footer-col1 {
	width: 420px;
	margin-bottom: 40px; }
@media (min-width: 1160px) { .footer-col1 { margin-bottom: 0; } }
@media (min-width: 740px) { .footer-col1 { width: 260px; } }

.footer-col2 {
	width: 100%;
	max-width: 420px;
	min-width: 370px;
	padding-left: 40px;
	margin-bottom: 20px; }
@media (min-width: 1160px) { .footer-col2 { margin-bottom: 0; } }

.footer-col3 {
	width: 100%;
	max-width: 420px;
	min-width: 370px;
	padding-left: 40px; }


.footer-col3 h6 { margin-bottom: 22px; }

.footer-col2 li { 
	color: #fff;
	font-size: 15px;
	margin-bottom: 9px; }


.footer-icon-1 { position: relative; }
.footer-icon-1::before {
	content: url(../svgs/home.svg);
    position: absolute;
	height: 20px;
    width: 20px;
    top: 0;
    left: -30px; }

.footer-icon-2 { position: relative; }
.footer-icon-2::before {
	content: url(../svgs/phone.svg);
    position: absolute;
	height: 20px;
    width: 20px;
    top: 0;
    left: -30px; }

.footer-icon-3 { position: relative; }
.footer-icon-3::before {
	content: url(../svgs/email.svg);
    position: absolute;
	height: 20px;
    width: 20px;
    top: 0;
    left: -30px; }






	
.social-icon-column { display: flex; justify-content: space-between; }
	
.social-icon-group { display: flex; }
			
.social-icon-link { padding: 0 10px;	}

.social-icon-link svg { width: 34px;  fill: #fff; }
	
.social-icon-link svg:hover { fill: #d29347; }




.footer-signoff {
	display: flex;
    justify-content: center; }


.footer-signoff p {
    color: #fff;
    font-weight: 400;
    font-size: 12px;
    text-align: center; }

.footer-logos {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	margin-top: 26px;
	margin-bottom: 40px;
	padding-top: 40px;
	border-top: 2px solid #D29347; }
@media (min-width: 800px) { .footer-logos { justify-content: space-between; } }

.footer-logos img {
	margin-bottom: 20px;
    margin-left: 20px;
    margin-right: 20px; }
@media (min-width: 800px) { .footer-logos img { margin-left: 0; margin-right: 0; } }









