* {
  /* So 100% means 100% */
  box-sizing: border-box;
}

@font-face {
    font-family: lesSensationsdeCerise;
    src: url("fonts/les Sensations de Cerise.ttf");
}
@font-face {
    font-family: linowrite;
    src: url("fonts/linowrite.ttf");
}
@font-face {
    font-family: 1942;
    src: url("fonts/1942.ttf");
}
@font-face {
    font-family: PoetsenOne;
    src: url("fonts/PoetsenOne-Regular.ttf");
}
@font-face {
    font-family: designosaur;
    src: url("fonts/Designosaur-Regular.ttf");
}
@font-face {
    font-family: london;
    src: url("fonts/LondonMM.ttf");
}

html, body{
	background-color:black;
	height:100%;
	padding:0px;
	margin:0px;
	background-image:url("pics/backgrounds/bg2.jpg");
	background-image:url("pics/backgrounds/background_repeatable.png");
	background-attachment:fixed;
	background-color:#ccc;
	font-family:london, sans-serif;
	/* font-stretch:extra-expanded;*/
	color:#111;
}

h1,h2,h3,h4,h5,h6{
	font-family: designosaur, sans-serif;
	color:#25f;
	color:#800000;
}

a{ 
	text-decoration:none; 
	color:#800000;
}
a:hover{ 
	color:lightblue;
	color:#800000;
}
a.button{border:1px solid #800000;box-shadow:1px 1px 4px #c0c0c0;padding:3px 10px;}
a.button:hover{background-color:#800000;border-color:black;color:white;}
a.booking{
	background-color:#800000;
	background-color:#a7c64c;
	color:black;
	border-radius:0.25vw;
	border:1px solid #aaa;
	font-weight:600;
	padding:6px 22px;
	min-width:164px;
}
p.header-booking{padding-top:10px;border:0px solid blue;}
div.page_wrapper{
	position:relative;
	border:0px solid red;
	/* height:1px; */
	/* height: inherit; */
	min-height:100%;
	margin-bottom:-80px;
}

div.header{
	background:rgba(50,0,0, 0.5);
	background:rgba(0,0,0, 0.9);
	background-color:transparent;
	color:#111;
	background:rgba(128,0,0, 0.4);
	background-color:black;
	background:rgba(255,255,255, 0);
}

div.header h1{
	position:absolute;
	color:rgba(128,00,00, 1);
	z-index:0;
	margin: 0px auto;
	display:inline;
	color:rgba(0,0,0, 0.0);
	}

div.header_inner{
	position:relative;
	max-width:1200px;
	margin:0px auto;
	padding:5px;
	z-index:50;
	border-bottom:2px outset #111;
	padding:20px 5px 20px 5px;
	border-bottom:0px solid rgba(128,0,0,1);
	background:rgba(255,255,255, 1);
	box-shadow: rgba(0,0,0,0.6) 0px 2px 3px, inset rgba(0,0,0,0.6) -1px 0px 2px;
	border:0px;
	border-top:0px solid #800000;
	border-bottom:-5px;
	
}

div.header_inner div.special_message{
	float:right;
	border:0px solid red;
	margin-right:45px;
}
div.header_inner div.special_message div{
	display:table-cell;
    vertical-align:middle;
	border:0px solid blue;
}
div.header_inner div.special_message div.message{
	color:#800000;
	padding:10px;
}
div.header_contact{
	float:right;
	border:0px solid red;
	padding:10px 10px;
}
div.header_contact p{
	margin:0px;
	text-align:right;
	margin-bottom:5px;
	
}
div.header_contact img:first-of-type{
	float:right;
	border:0px solid red;
	margin:0px;
	padding:0px;
}
img.pos_types{
	float:right;
	position:relative;
	top:35px;
	border:0px solid blue;
}

div.menu{
	max-width:1200px;
	margin:0px auto;
	padding:15px 5px 0px 25px;
	height:60px;
	border-bottom:0px outset #222;
	border:0px solid red;
	background-color:#fff;
	border-left:0px solid #c0c0c0;
	border-right:0px solid #c0c0c0;
	background-color:rgba(128,0,0,0.5);
	background-color:rgba(0,0,0,0.5);
	box-shadow: rgba(0,0,0,0.6) 0px 2px 2px, inset rgba(0,0,0,0.6) -1px 0px 2px;
	box-shadow: rgba(0,0,0,0.6) -1px 2px 3px, inset rgba(0,0,0,0.6) -1px 0px 2px;
	border:0px;
	border-top:-5px;
}

div.menu ul{
	padding:0px;
	margin:0px;
}

div.menu li{
	display:inline;
	list-style-type:none;
	border:0px solid red;
	margin-right:15px;
	font-size: 1.2em;
}

div.menu li a{
	color:#111;
	color:white;
}
div.menu li:hover a{
	color:#800000;
	color:#fff;
}
div.menu li:hover{
	border-bottom:1px solid #800000;
	border-bottom:1px solid white;
}

div.content{
	max-width:1200px;
	margin:0px auto 0px auto;
	background:rgba(255,255,255,1);
	background:rgba(255,255,255,1);
	height:inherit;
	/* Determine the height of the content div based on 100% - header & footer values - CSS3 calc function */
	/*min-height: 100%; /* all browsers */ 
	min-height: -moz-calc(100% - 275px); /* Firefox 4+ */ 
	/*min-height: calc(100% - 275px); /* IE9+ and future browsers */ /* 275 = header (100)+ footer (80)+ menu (45)+ contents vertical margins (50)*/
	padding:20px 40px 60px;
	border:0px solid #800000;
	border-left:0px;
	border-right:0px;
	border-left:0px solid #c0c0c0;
	border-right:0px solid #c0c0c0;
	box-shadow: rgba(0,0,0,0.6) -1px 2px 3px, inset rgba(0,0,0,0.6) -1px 0px 2px;
}

div.brand_logos{
	display:table;
	text-align:center;
	max-width:1200px;
	margin:0px auto 0px auto;
	/* background:rgba(255,255,255,0.9); */
	height:inherit;
	/* Determine the height of the content div based on 100% - header & footer values - CSS3 calc function */
	/*min-height: 100%; /* all browsers */ 
	min-height: -moz-calc(100% - 275px); /* Firefox 4+ */ 
	height:50px;
	border:0px solid red;
	padding:20px 0px 35px 0px;
	background:rgba(0,0,0, 0);
	width:100%;
	border-left:0px solid #c0c0c0;
	border-right:0px solid #c0c0c0
}
div.brand_cell{
	display:table-cell;
	vertical-align:middle;
	margin-right:30px;
	border:0px solid #800000;
	padding:0px 60px 0px 60px;
}
div.brand_cell_left{
	text-align:left;
}
div.brand_cell_right{
	text-align:right;
}
.footer, .push{
	height:80px;
	border:0px solid green;
}

div.footer{
	background:rgba(0,0,0, 0.0);
	color:white;
	background-color:rgba(128,0,0,0.5);
		background-color:rgba(0,0,0,0.5);
}

div.footer_inner{
	display:table;
	width:100%;
	max-width:1200px;
	border-top:1px solid rgba(128,0,0,0.5);
	margin:0px auto;
	padding:5px;
	background:rgba(128,0,0, 0);
	height:79px;
	vertical-align:middle;
	border-left:0px solid #c0c0c0;
	border-right:0px solid #c0c0c0
}
div.footer_inner p{
	text-align:center;
	border:0px solid red;
	margin:4px;
	/* font-size:0.9em; */
	color:#ccc;
}


code{
	background:rgba(255,255,255,.85);
	padding:10px;
	border:1px solid #999;
}

pre.code{
	background:rgba(255,255,255,.85);
	padding:10px;
	border:1px solid #999;
}

#flyer{
	margin-top:20px;
	border:1px solid #999;
	text-align:center;
	margin:0px auto;
	display:block;
}

table.therapies{
	border-collapse:collapse;
}
table.therapies tr.treatment_subheading_2{
	/* background-color: #666;
	color:white; */
	font-weight:600;	
	border-top:0px solid white;
}

table.therapies tr.spacer td{
	border:0px solid white;
}

table.therapies td{
	padding:0px 0px 0px 0px;
	vertical-align:top;
	border:0px solid blue;
	border-top:0px solid #800000;
	border-top:1px solid #333;
}

table.therapies td.picture{
	background-color:white;
	background-repeat:no-repeat;
	background-position: center center;
	padding:0px;
	width:180px;
	min-height:180px;
	
}

table.therapies td.picture div.img{
	width:180px;
	min-height:180px;
}

div.treatment_group{
	display:table;
	border-collapse:collapse;
	border:0px solid red;
	width:500px;
}
div.row{
	display:table-row;
}
div.row div{
	display:table-cell;
	padding:2px 5px 2px 20px;
	border:0px solid blue;
	border-bottom:1px dashed #c0c0c0;
	font-size: 1.2em;
	font-weight:900;
}
table.therapies td{
border:0px dashed #666;
border-bottom:1px dashed #ddd;
padding: 0.3rem 0.5rem 0.3rem 0.5rem;
}

table.therapies td.unavailable{color:#c0c0c0;}
table.therapies td.unavailable p.unavailable{color:#c0c0c0;}


table.therapies {
max-width:700px;
}
table.therapies  tr:hover{
	background-color:#eee;
}
table.therapies th{
border:0px dashed #666;
border-top:1px solid #000;
}

div.row div.group_heading, th.group_heading{
	background-color: #800000;
	color:white;
	padding:0.3rem 0.5rem 0.3rem 0.5rem;
	border:0px solid red;
	font-weight:900;
	text-align:left;
}


div.row div.time, th.time, td.time{
	text-align:right;
	padding:2px 5px 2px 5px;
	min-width:100px;
	
}
div.row div.price,th.price, td.price{
	text-align:right;
	min-width:80px;
	max-width:80px;
	width:80px;
}
span.notes{
	font-size:0.7em;
}
div.row:hover{
	background-color:orange;
}

table.contact th{
	vertical-align:top;
	padding-right: 20px;
	color:#333;
	text-align:left;
}
table.contact td,table.contact td a{
	color:#800000;
}
table.contact td a:hover{
	text-decoration:underline;
}

.nodisplay{
	display:none;
}

#email{
	position:relative;
	top:2px;
}
#email_footer, #email_print_footer{
	position:relative;
	top:3px;
	height:0.84em;
}
span.st_access{
	color:#666;
}

img.map{
	border:1px solid #800000;
}
img.special_voucher{
	border:1px solid #ccc;
}
.printonly, .print_only{
	display:none;
}
img.staff_profile_pic{
	float:left;
	margin-right: 20px;
	border:1px solid #800000;
}

div.products {margin:auto;}
div.products div.pic {border:0px solid #c0c0c0;padding-bottom:20px;float:left;margin-right:30px;margin-bottom:30px;}
div.products div.pic div{position:relative;border:0.5px solid #800000; padding:10px;box-shadow: 5px 5px 8px #c0c0c0;max-width:324px}
div.products div.pic div p.spacer{color:#333;background-color:#800000;font-weight:600;font-family:sans-serif;padding:0px;font-size:1em;margin:-10px;border:0px solid red;min-height:3em}
div.products div.pic div p{padding:15px;color:white;background-color:#800000;margin:8px -10px -10px -10px;text-align:center;} 
div.products div.pic div p.price{position:absolute;top:11px;right:12px;color:#333;background-color:white;font-weight:600;font-family:sans-serif;padding:0px;font-size:1.7em;margin:0px;border:0px solid blue;border-radius:0px 0px 0px 8px;padding-left:5px;}
div.products div.pic img{border:1px solid #c0c0c0;margin:0px;}
div.products input.quantity{position:relative;text-align:center;height:1.5em;font-size:1.3em;max-width:2em;}
div.products button{position:relative;height:1.5em;font-size:1.3em;width:2em;}
div.products div.pic div.quantity{position:absolute;bottom:10px;right:10px;border:0px solid blue;box-shadow:none;margin:0px;padding:0px;}



table.products td.pic {border:0px solid #c0c0c0;padding-bottom:20px;}
table.products td.pic div{position:relative;border:0.5px solid #800000; padding:10px;;box-shadow: 5px 5px 8px #c0c0c0;max-width:324px}
table.products td.pic div p{padding:15px;color:white;background-color:#800000;margin:8px -10px -10px -10px;text-align:center;}
table.products td.pic div p.price{position:absolute;top:10px;right:12px;color:#333;background-color:transparent;font-weight:600;font-family:sans-serif;padding:0px;font-size:2em;margin:0px;border:0px solid red;}
table.products td.pic img{border:1px solid #c0c0c0;margin:0px;}
table.products{border-collapse:collapse;}
table.products th{background-color:#800000;color:white;text-align:left;padding:2px 5px;vertical-align:top;}
table.products td{padding:2px 0.5em;border:0px solid green;}
table.products th.price, table.products td.price{text-align:right;padding:2px 5px;padding-right:15px;}
table.products th.quantity,table.products td.quantity{text-align:right;padding:2px 5px;}
table.products input.quantity{width:5em;text-align:right;}
table.products td.price_note{font-size:0.8em;}
table.products tr.field_label td{color:#800000;font-size:0.7em;padding:0.3px 0px 0px 0.9em;margin:0px;border:0px solid red;};
table.order_summary{border-collapse:collapse;}
table.order_summary td{vertical-align:top;padding-right:30px;}
table.order_summary th{vertical-align:top;padding-right:30px;text-align:left;color:#800000;}
table.ordered_items {border-collapse:collapse;width:99%;}
table.ordered_items th{vertical-align:top;padding-right:30px;text-align:left;background-color:#800000;color:white;}
table.ordered_items td.numeric, table.ordered_items th.numeric {text-align:right}
input.half{width:7em;}
select.single,input.single{width:13em;}
input.double{width:27em;}
textarea.double{width:27em;height:8em}
input.next{float:right;}
input.previous{float:left;}
td input.default{position:absolute;visibility:hidden;}

table.voucher{border-collapse:collapse;}
table.voucher td{padding:10px 0px 10px 0px;}
table.voucher td input{width:30em;}
table.voucher td input.value{width:5em;}
table.voucher td input.message{width:40em;}
table.voucher td textarea{width:40em;height:5em;}

table.order{border-collapse:collapse;}
table.order td,table.order th{text-align:left;padding:3px 20px;}
table.order td.right,table.order th.right{text-align:right;}
table.order tr.subtotal td{border-top:1px solid black;}
table.order tr.total td{border-top:1px solid black;border-bottom:3px double black;}
table input.phone{width:20em;}
table input.email{width:30em;}
table input.name{width:20em;}


p.description{
color:#800000;
font-size:0.9em;
padding:2px 10px 0px 0.5rem;
border:0px solid #000;
margin:0px;
margin-bottom:0.5rem;
}

div.gift_voucher{
	position:relative;
	display:table;
	border:1px solid #800000;
	min-height:20px;
	border-radius:10px;
	
}

div.gift_voucher_cell{
	display:table-cell;
	/* border:2px solid green;
	clear:right;
	background-color:darkgreen;
	border-radius:15px; */
	padding:10px;
	padding-right:50px;
	vertical-align:middle;
}

div.gift_voucher_cell:first-of-type{ padding-right:20px;}

#holly{
	position:absolute;
	top:-10px;
	right:-10px;
}

div.error{border:3px double #800000;background-color:orange;margin-bottom:20px;padding:15px;}
div.clear{
	clear:both;
}

div.important_notice{
	border:2px solid #800000;
	border-radius:8px;
	background-color:rgba(255,0,0,0.1);
	padding:10px 20px;
}

div.success_notice{
	border:2px solid #008000;
	border-radius:8px;
	background-color:rgba(0,255,0,0.1);
	padding:10px 20px;
}

input.order{
	background-color:#800000;
	background-color:#a7c64c;
	color:black;
	border-radius:0.25vw;
	border:1px solid #aaa;
	font-weight:600;
	padding:6px 22px;
	min-width:164px;
}
form.refund input.account_object{
	text-align:right;
}
form.refund input.tiny{
	width:3em;
}
form.refund input.small{
	width:4em;
}
form.refund input.account{
	width:6em;
}
form.refund input.large{
	width:30em;
}
form.refund input.field_error{
	border-color: #800000;
	color:#800000;
}
span.mandatory{
	color:#800000;
	margin-left:3px;
}
div.covid-19-page{
	font-family:calibri, helvetica, arial, sans-serif;
}
div.covid-19{
	border:1px solid #eee;
	border-radius:0px;
	background-image:url('pics/covid-19.svg');
	padding:0px 10px;
	padding-bottom:0px;

}
div.covid-19 p{
	font-weight:600;
	font-family:calibri, helvetica, arial, sans-serif;
	font-size:1.2em;
	background-color:white;

	border:1px solid #ffd017;
	border:1px solid black;
	padding:5px 10px;
	border-radius:5px;
}

div.covid-19 ul{
	background-color:white;
	border-radius:5px;
	padding:10px;
	font-size:1.1rem;
	border:1px solid #999;
}
div.covid-19 ul li{
	padding:5px;
	list-item-position:inside;
	list-style-type:none;
}
	
div.covid-19 .button{
	background-color:#a7c64c;
	color:white;
}

h2.covid-19{
	border:0px solid #eee;
	margin:-10px;
	padding:10px;
	margin-bottom:0px;
}
p.warning{
	background-color:gold;
	padding:9px;
	border:1px solid #666;
	border-radius:9px;
}
input.button{border:1px solid #800000;box-shadow:1px 1px 4px #c0c0c0;padding:3px 10px;}
input.button:hover{background-color:#800000;border-color:black;color:white;}
input.booking{
	background-color:#800000;
	background-color:#a7c64c;
	color:black;
	border-radius:0.25vw;
	border:1px solid #aaa;
	font-weight:600;
	padding:6px 22px;
	min-width:164px;
}

p.info{
	background-color:pink;
	padding:9px;
	border:1px solid #666;
	border-radius:9px;
}