/***** RESETS *****/
a[href^=tel] {
	text-decoration:inherit;
	color: inherit;
}

html, body, p, div, div {
	margin: 0;
	border: 0;
	padding: 0;
	background: transparent;
	vertical-align: baseline;
}

html {
	height: 100%;
}

.custom {
	height: inherit;
}

a > img {
	border: 0;
}

a {
	text-decoration: none;
}

button {
	background: var(--purple);
	border: unset;
	width: calc(100% - 2rem);
	border-radius: 2rem;
	margin: 1rem;
	padding: 1rem;
	font-size: 16pt;
	color: var(--white);
}

*:focus {
	outline-color: var(--pink);
}


/****************************************
************ GLOBAL TEMPLATE ***********
***************************************/

/***** FONTS ******/



@font-face {
    font-family: OxygenLight;
    src: url(/templates/w4cv21/fonts/Oxygen/Oxygen-Light.ttf);
}

@font-face {
	font-family: Roboto;
	src: url(/templates/w4cv21/fonts/Roboto/Roboto-Regular.ttf);
}
@font-face {
	font-family: Ubuntu;
	src: url(/templates/w4cv21/fonts/Ubuntu/Ubuntu-Light.ttf);
	font-weight: 300;
}
@font-face {
	font-family: Ubuntu;
	src: url(/templates/w4cv21/fonts/Ubuntu/Ubuntu-Regular.ttf);
	font-weight: 400;
}
@font-face {
	font-family: Ubuntu;
	src: url(/templates/w4cv21/fonts/Ubuntu/Ubuntu-Medium.ttf);
	font-weight: 500;
}
@font-face {
	font-family: Ubuntu;
	src: url(/templates/w4cv21/fonts/Ubuntu/Ubuntu-Bold.ttf);
	font-weight: 700;
}
@font-face{
  	font-family: Montserrat;
  	src: url(/templates/w4cv21/fonts/Montserrat/Montserrat-Regular.ttf)
}

/****** COLOURS ******/
:root {
	/* Palate */
	--black: #000000;
	--blue:		#2300CF;
	--purple:	#21145F;
	--pink:		#D6006D;
	--teal:		#00D0FF;
	--white:	#FFFFFF;
    --grey:     #444444;


	--blue-alpha:	#2300CF80;
	--teal-alpha:	#00D0FFF0;

	/* Colour Places */
	--main-menu-title-color:		var(--blue);
	--main-menu-title-back-color:	var(--blue);
	--main-menu-text-color:			var(--white);
	--main-menu-background-color:	var(--teal-alpha);

	--foot-heading-color:			var(--white);
	--foot-text-color:				var(--white);
	--foot-background-color:		var(--blue);

	--body-heading-color:			var(--blue);
	--body-text-color:				var(--black);
	--body-background-color:		var(--white);

	--box-overlay-text-color: 		var(--white);
	--box-overlay-background-color:	var(--blue);
	--box-overlay-background-alpha:	var(--blue-alpha);
	--box-overlay-border-color:		var(--teal);
	--box-overlay-border-color-2:	var(--pink);
	--box-hover-background-color:	var(--pink);
	--box-hover-background-color-2:	var(--teal);

}

/****** OTHER SETTINGS ******/
:root {
	/* Heading Sizes */
	--h1-heading-size: 5rem;
	--h2-heading-size: 3rem;
	--h3-heading-size: 2rem;

	/* Widths */
	--header-end-widths: 20%;
	--side-margin-size: 0rem;
}

/***** DEFAULTS *****/

html {
	font-family: Ubuntu, Roboto, Verdana, OxygenLight;
	font-size: 14pt;
	color: var(--body-text-color);
	font-weight: 400;
	line-height: 1;
}

h1 {
	font-family: Ubuntu, Roboto, Verdana, OxygenLight;
	font-size: var(--h1-heading-size);
	line-height: 1.1;
	font-weight: 500;
	color: var(--body-heading-color);
	margin: 10px 0;
}

h2 /* For Page Titles */
{
	font-family: Ubuntu, Roboto, Verdana, OxygenLight;
	font-size: var(--h2-heading-size);
	line-height: 1.1;
	font-weight: 500;
	color: var(--body-heading-color);
	margin: 0px 0;
	padding: 1rem;
}

h3 {
	font-family: Ubuntu, Roboto, Verdana, OxygenLight;
	font-size: var(--h3-heading-size);
	line-height: 1.1;
	font-weight: 500;
	color: var(--body-text-color);
	margin: 0 0 0 25px;
}

h4 {
	color: var(--main-menu-text-color);
}

p {
	font-family: Ubuntu, Roboto, Verdana, OxygenLight;
	font-size: 14pt;
	line-height: 1.4;
	font-weight: 300;
	/*margin: 20px auto;*/
	/*max-width: 65ch; !* should be between 45 & 75 characters *!*/
}

img {
	max-width: 100%;
}

a {
	color: var(--pink);
	font-weight: 500;
}

@media all and (max-width: 650px) {
  h1 {
    font-size: var(--h2-heading-size);
  }
}

/***** CONTENT *****/
.bodyStyle {
	background-color: var(--body-background-color);
	height: 100%;
	display: grid;
	grid-template-areas:
        "main"
        "footer";
	grid-template-rows: 1fr 1fr;
}

.displayAlways {
	display: inline;
}

.container {
	width: 100%;
	display: block;
}

.mainContainer {
	clear: both;
	color: var(--body-text-color);
	font-family: Ubuntu, Roboto, Verdana, OxygenLight;
	line-height: 1;
	margin: auto;
	float: none;
	position: relative;
	max-width: 1500px;
	width: 100%;
	text-align: left;
}

.nav1 {
	position: fixed;
	top: 0;
	height: calc(4.5rem + 3rem);
	left: 0;
	right: 0;
	width: 100%;
	overflow: hidden;
	background-color: var(--blue);
}

@media all and (max-width: 1500px) {
	.nav1 {
		height: calc(3.5rem + 3rem);
	}
}
.nav2{

}
.nav3{

}
.header1{

}
.header2{

}
.header2{

}

/****** HOMEPAGE ******/


/***** FOOTER *****/
.footer {
	/*border-top: 50px solid var(--teal);*/
	margin: 0 auto;
	background-color: var(--foot-background-color);
	align-self: end;
	grid-area: footer;
	width: 100%;
	z-index: 7;
}

.footer p{
	color: var(--foot-text-color);
	margin: 0;
}

/*** Contact Us ***/

.contactLeft {
	width: 48%;
	float: left;
	margin-right: 2%;
	margin-bottom: 2%;
	overflow: hidden;
}

.contactRight {
	float: right;
	width: 48%;
	padding-left: calc(2% - 1px);
	border-left: 1px solid #ccc;
	margin-bottom: 2%;
}

.contactMap {
	max-width: 99%;
	border-radius: 15px;
	overflow: hidden;
	float: none;
	margin: auto;
}

.contactMap iframe {
	border-radius: 15px;
}

.contactBox {
	overflow: auto;
}


/**** Contact Form ****/

.contactForm {
	margin-top: -3px;
}

.contactText {
	color: #fff;
	font-family: OxygenLight, Roboto, Verdana, OpenSans;
}

.ff_elem {
	border-radius: 5px;
	font-family: OxygenLight, Roboto, Verdana, OpenSans;
	font-size: 12pt;
	padding: 5px 5px 5px 8px;
	color: #333;
	border: 1px solid #ddd;
	margin: 5px;
}

label {
	color: #000;
	font-family: OxygenLight, Roboto, Verdana, OpenSans;
	font-size: 14pt;
	text-transform: uppercase;
	width: 80px !important;
	min-width: 80px !important;
	max-width: 80px !important;
	margin: 0px;
	text-align: right;
	float: left !important;
	display: inline !important;
}

/*#bfSubmitButton {*/
/*	background-color: #999;*/
/*	border: 0px none;*/
/*	padding-bottom: 0px;*/
/*	color: #FFF;*/
/*	font-family: Roboto;*/
/*	font-size: 15pt;*/
/*	border-radius: 5px;*/
/*	margin-top: 15px;*/

/*	margin-left: 2px;*/

/*	float: none;*/
/*}*/

section {
	background-color: #fff !important;
	margin-bottom: 0px;
}

#bfElemWrap58{
	height:0px;
}
#ff_elem58{
	height:0px;
	border: none;
	width:0px;
	padding: 0;
	margin: 0;
}

form#ff_form2 {
	justify-items: center;
	justify-content: center;
	text-align: center;
}

div#bfElemWrap101 {
	height: 42px;
	display: grid;
	justify-items: center;
	align-items: center;
}
div#bfElemWrap63 {
	height: 42px;
	display: grid;
	justify-items: center;
	align-items: center;
}
div#bfElemWrap63 label {
	width: unset !important;
	min-width: unset !important;
	max-width: unset !important;
    padding: 0 10px;
}

/*****************************************/
/********* SITE-SPECIFIC CONTENT *********/
/*****************************************/

.mainContent {
	max-width: 1500px;
	/*margin: 115px auto 0 auto;*/
	padding: 0 var(--side-margin-size);
	margin-top: -18.67px;
}

/***** INDEX *****/

.mainContainer {
	margin: auto;
	max-width: 1500px;
	align-self: start;
	grid-area: main;
	height: 100%;
}



.imgMain {
	max-width: 100%;
	display: block;
	opacity: 0.7;
}

.pageEventContainer {
	overflow: hidden;
}

@media all and (max-width: 1500px) {

}

@media all and (max-width: 1000px) {

}

@media all and (max-width: 720px) {


}

@media all and (max-width: 640px) {


}

@media all and (max-width: 560px) {

}

@media all and (max-width: 500px) {

}

@media all and (max-width: 380px) {


}

/***** HEADER *****/


/***** FOOTER *****/

/****** PAGES ******/


.gcare-containerpage {
	/*display: grid;*/
	/*grid-template-areas:*/
	/*		"main main"*/
	/*		"title text"*/
	/*		"tile tile";*/
	/*grid-template-columns: 30% 70%;*/
	/*grid-template-rows: 1fr 1fr 1fr;*/
}

/* Body Text */
.body-top-text {
	margin: 0 1.5rem;
}

/* Body Tile */
.body-tile {
	background: var(--purple);
	margin: 1rem;
	/*border-radius: 0.5rem;*/
	display: grid;
	grid-template-areas: "tileImage tileText";
	grid-template-columns: 40% 60%;
	align-items: center;
}
.body-tile img {
	/*border-radius: 0.5rem 0 0 0.5rem;*/
	float: left;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.body-tile p {
	padding: 0 0.5rem !important;
}
.body-tile-image {
	height: 100%;
}
.body-tile-text {
	color: var(--box-overlay-text-color);
	padding: 1rem;
}
@media all and (max-width: 700px) {
	.body-tile {
		background: var(--purple);
	 	margin: 1rem;
	 	/*border-radius: 0.5rem;*/
		display: block;
		float: left;
	}
	.body-tile img {
		/*border-radius: 0.5rem 0.5rem 0 0;*/
	}
	.body-tile p {
		padding: 0 0.5rem !important;
	}
	.body-tile-image {
		float: left;
	}
	.body-tile-text {
		padding: 1rem;
		float: left;
	}
}

/*unordered lists*/
ul {
	list-style-position: inside;
	list-style-image: url('/images/bullet.arrow2.png');
}


/** Decimal Lists **/

ol {
	list-style-type: none;
	counter-reset: item;
	margin: 0;
	padding: 0;
}

ol > li {
	display: table;
	counter-increment: item;
	margin-bottom: 0.6em;
}

ol > li:before {
	content: counters(item, ".") ". ";
	display: table-cell;
	padding-right: 0.6em;
}

li ol > li {
	margin: 0;
}

li ol > li:before {
	content: counters(item, ".") " ";
}


/********************* Opening Times + Maps ********************************/
.otm-pcot {
  display: block;
    margin: auto;
    width: 826px;
}
.otm-mobot {
  display:none;
    margin: auto;
    width: 400px;
}
@media all and (max-width: 900px) {
  .otm-pcot {display:none;}
  .otm-mobot {display:block;}
}



/********************* xeyex Online Booking ********************************/

div#\33 3ffb7e6-8c65-489a-9135-6b06ad96d96e {
    display: none;
}


#x82cd1b4f811e442 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#x82cd1b4f811e442 p {
  flex-basis: 100%;
  text-align: center;
}

#x82cd1b4f811e442 div {
  min-width: 300px;
}

#x82cd1b4f811e442 table {
  margin: auto;
}

#xeyexPracticeManagementSoftware_OnlineAppointmentBooking {
  max-width: 500px;
  margin: 0 20px;
}

.xeyexApptButton {
  display: block;
  float: left;
  margin: auto;
  width: 50%;
  max-width: 300px;
}

.xeyexAppTimes{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  width: 80%;
}

@media all and (max-width: 700px) {
  .xeyexAppTimes {
    width: unset;
  }
}

.xeyexHeaderTime{
  padding: 20px 0 10px 10px;
  font-size: x-large;
  width: 100%;
  text-align: center;
}

.xeyexButtonTime{
  margin: 10px;
  width: 20%;
  min-width:150px;
}

#xeyexSubmit, #xeyexButtonBook {
  background: var(--purple);
  border: unset;
  width: calc(100% - 2rem);
  border-radius: 2rem;
  margin: 1rem;
  padding: 1rem;
  font-size: 16pt;
  color: var(--white);
}

.xeyexFieldMaster {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.xeyexFieldMaster label {
  text-transform: none;
  text-align: left;
  margin-left: 2px;
  width: auto !important;
  max-width: none !important;
}
.xeyexFieldMaster label::after {
  content: " * ";
}

.xeyexFieldMaster label[for=xeyexPMS_phone]::after, label[for=xeyexPMS_county]::after, label[for=xeyexPMS_add3]::after, label[for=xeyexPMS_add2]::after {
  content:unset;
}

.xeyexInput {
  border-radius: 5px;
  font-family: OxygenLight, Roboto, Verdana, OpenSans; font-size: 12pt;
  padding: 5px 5px 5px 8px;
  color:#333;
  border: 1px solid #ddd;
  margin: 3px 0 5px 0;
}

#xeyexPMS_dob {
  border: none;
  padding: 0;
  margin: 0;
}

#xeyexPMS_dob select {
  border-radius: 5px;
  font-family: OxygenLight, Roboto, Verdana, OpenSans; font-size: 12pt;
  padding: 5px 5px 5px 8px;
  color:#333;
  border: 1px solid #ddd;
  margin: 5px 10px 5px 0;  
}

.xeyexSubHeader {
    font-family: Ubuntu, Roboto, Verdana, OxygenLight;
	font-size: var(--h3-heading-size);
	line-height: 1.1;
	font-weight: 500;
	color: var(--grey);
	margin: 15px 0 10px 0;
}

.s7css {
  margin: 20px 0;
  text-align: center;
}

.s7css p {
  font-weight: 400;
}