/*--------------------------------------------------*/
/* Variables                                        */

:root {
  --cps_brandgrey: 150,150,150;
  --cps_grey: 87,87,87;
  --cps_lightgrey: 198, 198, 198;
  --cps_blue: 22,177,231;
  --cps_altblue: 43,104,156;
  --cps_gradleft: 0, 72, 157;
  --cps_gradblue: 0,183,194;
  --bg_grey: 236,243,243;
  --cps_hotpink: 237,21,102;
  --cps_purple: 100, 34, 131;
  --cps_lightpurple: 4, 93, 117;
  --cps_orange: 230, 57, 41;
  --cps_lightorange: 250, 204, 0;
  --cps_green: 0, 93, 75;
  --cps_yellowgreen: 241,200,2;	
  --cps_red: 128,19,57;
  --cps_lightRed: 227,34,19;
  --cps_eventblue: 27,55,139;
  --cps_eventpink: 252,45,113;
  --cps_talkblue: 1,62,113;
  --cps_talklight: 0,138,102;
  --cps_hoverbg: 100,34,131,0.2;
  --cps_blueshadow: 43,104,156,0.15;
}

/*--------------------------------------------------*/
/* Typography                                       */

/* montserrat-regular - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('/a/font/montserrat/montserrat-v14-latin-regular.eot'); /* IE9 Compat Modes */
	src: local('Montserrat Regular'), local('Montserrat-Regular'),
	url('/a/font/montserrat/montserrat-v14-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('/a/font/montserrat/montserrat-v14-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
	url('/a/font/montserrat/montserrat-v14-latin-regular.woff') format('woff'), /* Modern Browsers */
	url('/a/font/montserrat/montserrat-v14-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
	url('/a/font/montserrat/montserrat-v14-latin-regular.svg#Montserrat') format('svg'); /* Legacy iOS */

}
/* montserrat-italic - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('/a/font/montserrat/montserrat-v14-latin-italic.eot'); /* IE9 Compat Modes */
	src: local('Montserrat Italic'), local('Montserrat-Italic'),
	url('/a/font/montserrat/montserrat-v14-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('/a/font/montserrat/montserrat-v14-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
	url('/a/font/montserrat/montserrat-v14-latin-italic.woff') format('woff'), /* Modern Browsers */
	url('/a/font/montserrat/montserrat-v14-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
	url('/a/font/montserrat/montserrat-v14-latin-italic.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-700 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('/a/font/montserrat/montserrat-v14-latin-700.eot'); /* IE9 Compat Modes */
	src: local('Montserrat Bold'), local('Montserrat-Bold'),
	url('/a/font/montserrat/montserrat-v14-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('/a/font/montserrat/montserrat-v14-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
	url('/a/font/montserrat/montserrat-v14-latin-700.woff') format('woff'), /* Modern Browsers */
	url('/a/font/montserrat/montserrat-v14-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
	url('/a/font/montserrat/montserrat-v14-latin-700.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-700italic - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url('/a/font/montserrat/montserrat-v14-latin-700italic.eot'); /* IE9 Compat Modes */
	src: local('Montserrat Bold Italic'), local('Montserrat-BoldItalic'),
	url('/a/font/montserrat/montserrat-v14-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('/a/font/montserrat/montserrat-v14-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
	url('/a/font/montserrat/montserrat-v14-latin-700italic.woff') format('woff'), /* Modern Browsers */
	url('/a/font/montserrat/montserrat-v14-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
	url('/a/font/montserrat/montserrat-v14-latin-700italic.svg#Montserrat') format('svg'); /* Legacy iOS */
}

input[type=text],
input[type=date],
input[type=email],
input[type=submit],
input[type=text]::placeholder,
input[type=email]::placeholder {
	font-family: "Montserrat", Arial, Sans-Serif;
}

/*--------------------------------------------------*/
/* General Setup                                    */
	
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
	
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

article, aside, figcaption, figure, footer,
header, hgroup, main, nav, section {
	display: block;
}

html {
	-webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
	font: -apple-system-body; /* Allow iOS system "larger text" to effect website */
	font-size: 16px;
}

body {
	font-family: Montserrat, sans-serif;
	font-size: 0.8em;
	line-height: 1.2em;
	color: #000;
	background-color: #FFF;
}

a {
	color: #00E;
}

a img {
	border: 0;
}

abbr {
	border: 0;
	text-decoration: none;
}

h1,
h2,
h3 {
	margin: 0 0 1em 0;
}

p {
	margin: 1em 0;
}

/*	ul,
ol {
margin: 1em 0 1em 2em;
}
*/

hr {
	margin: 1em 0;
	border: 0;
	border-bottom: 1px solid #000;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table th,
table td {
	vertical-align: top;
}

h1,
h2,
h3 {
	font-weight: normal;
}

button,
[type="button"],
[type="reset"],
[type="submit"],
.submit input {
	-webkit-appearance: none;
	border-radius: 0;
}

/*--------------------------------------------------*/
/* custom select fields								*/

#page_wrapper select {
    padding-left: 15px;
    border-radius: 30px;
    border: none;
    -webkit-appearance: none;
    text-overflow: '';
    background-image: url(../../img/common/drop-down-arrow.png);
    background-repeat: no-repeat;
    background-position: 99% center;
    color: rgb(var(--cps_grey));
    min-height: 40px;
    margin-bottom: -5px;
	width: 100%;
	border: 1px solid rgb(var(--cps_brandgrey));
	outline: none;
	font-family: "Montserrat", Helvetica, Sans-Serif;
	font-size: 15px;

}

/*--------------------------------------------------*/
/* Generic Classes                                  */

.visually_hidden,
.product-lister ul li.visually-hidden-li {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	margin: -1px;
	padding: 0;
}

.warning {
	color: #D00;
}

.success {
    color: #4F8A10;
    background-color: #DFF2BF;
	padding: 5px;
	text-align: center;
}

.success.in_form {
	font-size: 0.9em;
	padding: 5px;
	margin-bottom: 10px;
}

.success.in_form a {
	color: #fff !important;
	font-weight: bold;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 35px;
    height: 0;
    overflow: hidden;
	margin-bottom: 20px;
}


.video-container iframe {
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*--------------------------------------------------*/
/* Autocomplete plugin styles                       */

.autoComplete_wrapper {
  position: relative;
  display: inline-block;
  width: 370px;
}

#autoComplete {
  height: 3rem;
  width: 370px;
  margin: 0;
  padding: 0 2rem 0 3.2rem;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  font-size: 1rem;
  text-overflow: ellipsis;
  color: rgba(255, 122, 122, 0.3);
  outline: none;
  border-radius: 10rem;
  border: 0;
  border: 0.05rem solid rgba(255, 122, 122, 0.5);
  background-image: url(./images/search.svg);
  background-size: 1.4rem;
  background-position: left 1.05rem top 0.8rem;
  background-repeat: no-repeat;
  background-origin: border-box;
  background-color: #fff;
  transition: all 0.4s ease;
  -webkit-transition: all -webkit-transform 0.4s ease;
}

#autoComplete::placeholder {
  color: rgba(255, 122, 122, 0.5);
  transition: all 0.3s ease;
  -webkit-transition: all -webkit-transform 0.3s ease;
}

#autoComplete:hover::placeholder {
  color: rgba(255, 122, 122, 0.6);
  transition: all 0.3s ease;
  -webkit-transition: all -webkit-transform 0.3s ease;
}

#autoComplete:focus::placeholder {
  padding: 0.1rem 0.6rem;
  font-size: 0.95rem;
  color: rgba(255, 122, 122, 0.4);
}

#autoComplete:focus::selection {
  background-color: rgba(255, 122, 122, 0.15);
}

#autoComplete::selection {
  background-color: rgba(255, 122, 122, 0.15);
}

#autoComplete:hover {
  color: rgba(255, 122, 122, 0.8);
  transition: all 0.3s ease;
  -webkit-transition: all -webkit-transform 0.3s ease;
}

#autoComplete:focus {
  color: rgba(255, 122, 122, 1);
  border: 0.06rem solid rgba(255, 122, 122, 0.8);
}

#autoComplete_list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 0;
  margin-top: 0.5rem;
  border-radius: 0.6rem;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(149, 157, 165, 0.15);
  border: 1px solid rgba(33, 33, 33, 0.07);
  z-index: 1000;
  outline: none;
}

.autoComplete_result {
  margin: 0.3rem;
  padding: 0.3rem 0.5rem;
  list-style: none;
  text-align: left;
  font-size: 1rem;
  color: #212121;
  transition: all 0.1s ease-in-out;
  border-radius: 0.35rem;
  background-color: rgba(255, 255, 255, 1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.2s ease;
}

.autoComplete_result::selection {
  color: rgba(#ffffff, 0);
  background-color: rgba(#ffffff, 0);
}

.autoComplete_result:hover {
  cursor: pointer;
  background-color: rgba(255, 122, 122, 0.15);
}

.autoComplete_highlighted {
  color: rgba(255, 122, 122, 1);
  font-weight: bold;
}

.autoComplete_highlighted::selection {
  color: rgba(#ffffff, 0);
  background-color: rgba(#ffffff, 0);
}

.autoComplete_selected {
  cursor: pointer;
  background-color: rgba(255, 122, 122, 0.15);
}

@media only screen and (max-width: 600px) {
  .autoComplete_wrapper {
    width: 320px;
  }

  #autoComplete {
    width: 18rem;
    background-size: 1.6rem;
    background-position: left 1.1rem top 0.75rem;
  }

  #autoComplete_list {
    margin: 10px;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  #autoComplete {
    border-width: 1px;
  }
}

@-moz-document url-prefix() {
  #autoComplete {
    background-size: 1.2rem;
    background-origin: border-box;
    border-width: 1px;
    background-position: left 1.1rem top 0.8rem;
  }
}


/*--------------------------------------------------*/
/* Dialog Styles                                    */

dialog {
  position: absolute;
  left: 0; right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  margin: auto;
  border: solid;
  padding: 1em;
  background: white;
  color: black;
  display: block;
}

dialog:not([open]) {
  display: none;
}

dialog + .backdrop {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0,0,0,0.1);
}

._dialog_overlay {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
}

dialog.fixed {
  position: fixed;
  top: 50%;
  transform: translate(0, -50%);
}

/*--------------------------------------------------*/
/* Dialog                                           */

	dialog {
		position: absolute;
		left: 0;
		right: 0;
		width: -moz-fit-content;
		width: -webkit-fit-content;
		width: fit-content;
		height: -moz-fit-content;
		height: -webkit-fit-content;
		height: fit-content;
		margin: auto;
		border: solid;
		padding: 1em;
		background: #FFF;
		color: black;
		overflow: auto;
		display: none;
		text-align: left;
	}

	dialog[open] {
		display: block;
	}

	dialog::backdrop {
		background: rgba(0,0,0,0.6);
	}

	dialog + .backdrop {
		background: rgba(0,0,0,0.6);
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}

	@media screen and (max-width: 540px) {
		dialog[_polyfill_modal] {
			top: 0;
			width: auto;
			margin: 1em;
		}
	}

	._dialog_overlay {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}




/*--------------------------------------------------*/
/* Template set-up                                  */

.inner {
	max-width: 1500px;
	margin: 0 auto;
}

/*--------------------------------------------------*/
/* CMS Text                                         */

html.cms_text_js span.cms_text_editable a.cms_text_link,
html.cms_text_js div.cms_text_editable  p.cms_text_link_wrapper {
	position: absolute;
	left: -5000px;
}

.cms_text_editable:hover,
.cms_text_editable a:hover {
	 background: #FFDFDF;
	/* color: #373737; */
	position: relative;
}

.cms_text_editable:hover::after,
.cms_text_editable a:hover::after {
	content: "Click to Edit";
	position: absolute;
	background: rgb(var(--cps_hotpink));
	padding: 5px;
    top: 50%;
    transform: translateY(-50%);
	font-size: 14px;
	color: #fff;
}


.cms_text_editable a {
	text-decoration: underline;
}

span.cms_text_editable input,
span.cms_text_editable a {
	margin-right: 10px; /* For when an inline element only contains a single link */
}


/*--------------------------------------------------*/
/* Header                                           */

[hidden] {
	display: none;
}

body.nav-open header {
	min-height: 100vh;
}

.close_svg {
	display: none;
}

#page_header {
	padding-top: 40px;
}

#page_header .logo {
	display: block;
}

#page_header .logo img {
	height: auto;
	max-width: 480px;
	padding-left: 10px;
	padding-top: 15px;
	padding-bottom: 15px;
	display: block;
}

header a {
	border: 0;
	text-decoration: none;
}

@media ( max-width: 1023px ) {


	body.nav-open header .inner {
		display: flex;
/*		min-height: 100vh;
*/		height: auto;
		flex-direction: column;
	}
		
	
/*	#hamburger-icon {
		width: 40px;
		height: 32px;
		display: block;
		outline: none;
	}

	#hamburger-icon {
		outline: none;
		cursor: pointer;
	}

	#hamburger-icon .line {
		display: block;
		background: rgb(var(--cps_brandgrey));
		width: 40px;
		height: 8px;
		position: absolute;
		left: 0;
		border-radius: 6px;
		transition: all 0.2s;
	}
	#hamburger-icon .line.line-1 {
		top: 0;
	}
	#hamburger-icon .line.line-2 {
		top: 50%;
	}
	#hamburger-icon .line.line-3 {
		top: 100%;
	}
	.nav-open #hamburger-icon .line-1 {
		transform: translateY(16px) translateX(0) rotate(45deg);
	}
	.nav-open #hamburger-icon .line-2 {
		opacity: 0;
	}
	.nav-open #hamburger-icon .line-3 {
		transform: translateY(-16px) translateX(0) rotate(-45deg);
	}*/
	
	#page_navigation {
		display: none;
	}

	body.nav-open #page_navigation {
		flex-grow: 1;
		display: flex;
		background: #107db5;
		position: absolute;
		top: 141px;
		left: 0;
		z-index: 1000;
	}

	#page_navigation ul {
		flex-grow: 1;
		list-style: none;
		width: 100vw;
		display: flex;
		flex-direction: column;
		justify-content: space-around;
		padding: 0;
		flex-wrap: wrap;
		text-align: left;
		font-size: 1.2em;
	}
	
	#page_navigation ul li a {
		padding: 20px 20px;
	}
	

	#page_navigation ul li {
		display: flex;
		flex-direction: column;
		border-top: 1px solid #338fbe;
		border-bottom: 1px solid #338fbe;
	}

	#page_navigation ul li ul li:last-of-type {
		border-bottom: 0;
	}
	
	#page_navigation ul li:first-of-type {
		border-top: 0;
	}
	
	#page_navigation ul li a {
		width: 100%;
		height: 100%;
		text-decoration: none;
		font-weight: bold;
		color: #fff;
		text-transform: uppercase;
		font-size: 1.4em;
	}	
	
	#page_navigation ul li ul {
		display: block;
		flex-direction: column;
		text-align: left;
		font-size: 0.8em;
	}
	
	#page_navigation ul li ul li a {
		padding: 10px;
		display: block;
		text-indent: 1em;
		padding-left: 20px;

	}
	
	.close_svg {
		display: none;
	}

	body.search-open .search_icon .close_svg {
		display: block;
		margin: 0 auto;
		margin-top: 10px;
		margin-bottom: 8px; /* slightly different size of SVG */
	}
	
	body.nav-open .btn_nav .close_svg {
		display: block;
		margin-bottom: 8px; /* slightly different size of SVG */
	}
	
	body.nav-open .hamburger_svg {
		display: none;
	}
	
	body.search-open .search_icon .search_svg {
		display: none;
	}
	
}


@media ( min-width: 1024px ) {


	.small_screen_only, a.btn_nav {
		display: none;
	}
	
	#page_header {
		padding-top: 0;
		position: sticky;
		top: 0;
		background: #fff;
		z-index: 20;
	}
	
	
	#page_header .logo img {
		padding: 0;
		margin-right: 50px;
		width: calc(100% - 80px);
	}
	
	#page_header .inner {
		display: flex;
		padding: 0 40px 0 0;
		padding-top: 20px;
		padding-bottom: 20px;
		padding-left: 20px;
	}
		
	#page_header .inner .header_right {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}
	
	header button.btn_nav {
		display: none
	}
	
	#page_header .inner .header_right .meta_nav {
		display: flex;
		justify-content: flex-end;
		padding-bottom: 15px;
	}

	#page_navigation ul {
		display: flex;
		flex-direction: row;
		align-items: center;
		list-style: none;
		margin: 0;
		margin-top: 16px;
		text-transform: uppercase;
	}
	
	#page_navigation ul li {
		display: flex;
		flex-grow: 1;
		position: relative;
		font-size: 0.9rem;
		line-height: 20px;
		border-right: 1px solid rgb(var(--cps_blue));
		color: rgb(var(--cps_grey));
		justify-content: space-around;
	}
	
	#page_navigation ul li:first-of-type {
		border-left: 1px solid rgb(var(--cps_blue));
	}
	
	#page_navigation ul li:last-of-type {
		/*margin-right: 10px;*/

	}

	#page_navigation ul li a {
		pointer-events: all;
		text-decoration: none;
		color: rgb(var(--cps_grey));
	}
	
	#page_navigation ul li a:hover {
		color: rgb(255, 40, 111);
	}
	
	#page_navigation ul li.selected a,
	#page_navigation ul li.selected_child a {
		color: rgb(var(--cps_blue));
	} 
	
	#page_navigation ul li.selected ul li a,
	#page_navigation ul li.selected_child ul li a {
		color: rgb(var(--cps_grey));
	}

	#page_navigation ul li.selected ul li a:hover,
	#page_navigation ul li.selected_child ul li a:hover {
		color: rgb(255, 40, 111);
	}

	
	#page_navigation ul li.selected ul li.selected a,
	#page_navigation ul li.selected_child ul li.selected a {
		font-weight: normal;
		color: rgb(var(--cps_blue));
	}
	
	#page_navigation ul li ul {
		display: none;
		background: #fff;
		width: 130%;
	}
	
	#page_navigation ul li.about_us ul {
		width: 160%;
		left: -40px;
	}
	
	#page_navigation ul li ul li {
		border-right: 0;
		padding: 5px 0;
		border-bottom: 1px solid rgb(var(--cps_blue));
		width: 100%;
		font-size: 0.9rem;

	}

	#page_navigation ul li ul li:first-of-type {
		border-left: 0;
	}
	
	#page_navigation ul li ul li:last-of-type {
		border-bottom: 0;
	}
	
	#page_navigation ul li:hover ul,
	#page_navigation ul li:hover ul:hover {
		display: flex;
		flex-direction: column;
		position: absolute;
		top: 4px;
		z-index: 30;
	}
	
	#page_navigation ul li.about_us ul {
		left: -25px;
	}
	
}

@media (min-width: 1152px) {
	#page_header .inner .header_left {
		min-width: 400px; /* todo: adjust to stop logo shrinking too far... */ 
		height: 95.313px;
		width: 480px;
	}
}

@media ( max-width: 1250px ) {
	#page_navigation ul li {
		font-size: 0.8rem;
	}
	
	#page_navigation ul li ul li {
		font-size: 0.7rem;
	}
	
}

@media ( min-width: 1250px ) {
	
	#page_navigation ul li.about_us ul {
		left: -40px;
	}
	
}


/*--------------------------------------------------*/
/* Global Search                                    */

.search-form {
	padding-bottom: 15px;
	position: relative;
}

.search-form fieldset {
	border: 1px solid rgb(var(--cps_blue));
	border-radius: 25px;
	padding: 10px 15px;
	margin: 0 10px;
}

.search-form input[type=search],
.search-form input[type=text] {
	border: 0;
	display: inline;
	width: calc(100% - 40px);
	font-size: 1.3em;
	color: rgb(var(--cps_blue));
	outline: 0;
    -webkit-appearance: none;
	font-family: Montserrat, sans-serif;
	caret-color: rgb(var(--cps_hotpink));
}

.search-form input[type=search]::-webkit-search-cancel-button {
	display: none;
}

.search-form input[type=search]::placeholder,
.search-form input[type=text]::placeholder {
	color: rgb(var(--cps_blue));
	text-transform: uppercase;
}

.search-form .search-submit {
	display: inline;
	height: 20px;
	width: 20px;
	background: none;
	border: 0;
	cursor: pointer;
	outline: none;
}

.search-form .search-submit svg {
	fill: rgb(var(--cps_blue));
	position: relative;
	top: 3px;
	padding: 0 10px;
}

.search-form .search-submit:hover svg {
	fill: rgb(var(--cps_altblue));
}


@media ( min-width: 1024px ) {

	.search-form {
		width: 100%;
		max-width: 400px;
		margin: 0;
		padding-bottom: 0;
	}
	
	.search-form fieldset {
		padding: 0;
		border-radius: 20px;
	}
	
	.search-form fieldset input[type=search],
	.search-form fieldset input[type=text] {
		padding: 6px 10px 5px 2px;
		font-size: 0.95rem;
		position: relative;
		left: 16px;
	}
	
	.search-form .search-submit {
		width: 19px;
		height: 19px;
	}
	
	.search-form .search-submit svg {
		padding: 0;
		top: 5px;
	}
	
	
}

/*--------------------------------------------------*/
/* Basket & login                                   */

@media ( max-width: 1023px ) {

	#page_header {
		padding-top: 0;
		padding-bottom: 10px;
		padding-left: 10px;
	}

	#page_header .inner {
		display: grid;
		grid-template-columns: 30vw calc(70vw - 10px);
		padding-right: 0;
		align-items: center;
	}
	
	.header_right {
		width: 100%;
		height: 100%;
	}
	
	.header_left {
/*		min-width: 100px;
*/		width: 20vw;
	}
	
	.header_left picture,
	#page_header .logo img {
		padding: 0;
		margin: 0;
		max-width: 80px;
		min-width: 60px;
		width: 100%;
		display: block;
		margin-bottom: 3px;
		margin-top: 10px;
	}

	
	.header_right .meta_nav {
		display: flex;
		justify-content: right;
		height: 100%;
		overflow: hidden;
	}
	
	.header_right .basket_login {
		display: flex;

	}
	
	.header_right .basket_login a {
		display: flex;
		flex-direction: column;
		padding-right: 15px;
		padding-left: 15px;
		align-items: center;
		justify-content: center;
		text-align: center;

	}
	
	.header_right .basket_login a svg {
		max-height: 34px;
		height: 100%;
		margin-bottom: 5px;
		margin-top: 10px;
	}
	
	.header_right .basket_login a svg,
	.header_right .basket_login a svg g,
	.header_right .basket_login a svg rect {
		fill: rgb(var(--cps_altblue));
	}
	
	.header_right .basket_login a {
	}

	body.nav-open .btn_nav {
		background: #107db5;
		color: #fff;
	}
	
	body.search-open .search_icon {
		background: rgb(var(--cps_lightgrey));
		color: #fff;
	}
	
	body.search-open .search_icon svg {
		fill: #ffffff;
	}
	
	.search-form {
		display: none;
		position: absolute;
		top: 91px;
		left: 0;
		width: 100vw;
		z-index: 1002;
		background: rgb(var(--cps_lightgrey));
		padding-top: 10px;
	}

	body.search-open .search-form {
		display: block;
	}
	
	.search-form fieldset {
		background: #fff;
	}
	
	.search-form .search-submit svg {
		padding: 0;
		right: -10px;
	}
	
	
	.basket_login {
		display: flex;
		outline: none;
		text-decoration: none;
	}

	.button-text-mobile, .button-text {
		text-transform: uppercase;
		color: rgb(var(--cps_altblue));
		font-size: 10px;
		font-weight: bold;
		text-align: center;
	}
	
	.lnk_basket .inner_icon {
		position: relative;
	}

	.lnk_basket span.basket_items {
		right: 0 !important;
	}
	
	body.nav-open 	.header_right .basket_login a.btn_nav svg,
	body.nav-open .header_right .basket_login a.btn_nav svg g,
	body.nav-open .header_right .basket_login a.btn_nav svg rect {
		fill: #fff;
	}
	
	body.nav-open .btn_nav .button-text-mobile, body.nav-open .btn_nav  .button-text {
		color: #fff;
		content: "Close";
	}
	
	.btn_nav .button-text {
		position: relative;
		top: -1px;
	}
	
	.lnk_login .button-text span {
		display: none;
	}
	
}

@media (min-width: 1024px) {
	.header_right .basket_login a .button-text-mobile {
		display: none;
	}
	
	.lnk_login svg {
		display: none;
	}

}


/*.basket_login a,
.basket_login button,
.basket_login svg {
	outline: none;
	cursor: pointer;
	text-decoration: none;
}*/

.lnk_basket svg g {
	fill: #fff;
}

.lnk_basket {
	position: relative;
}

.lnk_basket span.basket_items {
	position: absolute;
	top: -1px;
	right: -4px;
	background: rgb(var(--cps_hotpink));
	color: #fff;
	border-radius: 50%;
	min-width: 18px;
	min-height: 18px;
	text-align: center;
	line-height: 18px;
	font-size: 11px;
	font-family: arial;
	text-indent: 1px;
}

.subscribe_to_our_newsletter {
/*	margin-top: 20px;*/
}

.subscribe_to_our_newsletter label {
	padding-top: 5px;
	padding-left: 2.3em !important;
}

.subscribe_to_our_newsletter input {
	margin-left: -15px;
}

.reg-form h2 {
	margin-bottom: 0;
	margin-top: 1.3em;
	text-decoration: underline;
}

.reg-form h2:first-of-type {
	margin-top: 0;
}

@media (min-width: 1024px) {
	
	.lnk_basket span.basket_items {
		top: -6px;
		right: -6px;	
	}
	
	.basket_login {
		display: flex;
		align-items: center;
		margin-left: 20px;
	}
		
	.lnk_basket svg {
		height: 24px;
		fill: rgb(var(--cps_blue));
	}
	
	.lnk_basket svg g {
		fill: rgb(var(--cps_blue));
	}
	
	.lnk_basket:hover svg g {
		fill: rgb(var(--cps_altblue));
	}
	
	.lnk_basket {
		padding-left: 20px;
	}
	
	a.lnk_login {
		text-transform: uppercase;
		color: rgb(var(--cps_blue));
		font-weight: bold;
	}
	
	a.lnk_login:hover {
		color: rgb(var(--cps_altblue));
	}
	
	.lnk_login {
		padding: 5px 0;
		font-size: 15px;
		padding-right: 20px;
		border-right: 1px solid rgb(var(--cps_blue));
	}
	
}

#p_account_login .info {
	margin-top: 1em;
}

.user-auth a.pink_link {
	color: rgb(var(--cps_hotpink));
	font-weight: bold;
}


/*--------------------------------------------------*/
/* Minimal CSS adjustments for extra small < 380px
/* screen width */

@media ( max-width: 379px ) {
	
	@media ( min-width: 370px ) {
		#page_header .inner {
			grid-template-columns: 20vw calc(80vw - 10px);
		}
	}
	
	.header_right .basket_login {
		flex-wrap: wrap;
	}
	
	body.nav-open #page_navigation {
		top: 88px;
	}

	.search-form {
		top: 88px;
	}
	
	@media (max-width: 368px) {
		.header_right .basket_login a {
			padding-left: 10px;
			padding-right: 10px;
			min-width: 0;
		}
	}
	
}

/*--------------------------------------------------*/
/* Text Pages                                       */

.text-page .inner {
	padding-top: 20px;
	margin: 0 20px;
	color: rgb(var(--cps_grey));
}

.text-page .inner .col-left p:first-of-type {
	margin-top: 0;
}

@media (min-width: 1300px) {
	
	.text-page .inner {
		margin: auto;
	}
	
	.text-page .cols {
		display: grid;
		grid-template-columns: 65% 35%;
		grid-template-areas: "content sidebar";
		align-content: end;
		padding-right: 20px;

	}

	.text-page .cols .col-left {
		grid-area: content;
		padding-left: 60px;
		padding-bottom: 60px;
	}

	.text-page .cols .col-right {
		grid-area: sidebar;
/*		overflow: hidden;
*/		padding-left: 30px;
		padding-right: 40px;
	}
	
	.text-page .cols .col-right .promo-button {
		float: right;
		position: relative;
	}
	
	.promo-button .admin_image_edit {
		position: absolute;
		bottom: 0;
		left: 0;
	}
	
	.promo-button .cms_text_link_wrapper {
		position: static;
	}
	
	.cms_text_editable {
		z-index: 100;
	}
}

@media (min-width: 1300px) {
	.text-page .cols .col-left {
		padding-right: 50px;
	}
}

#card-element {
	margin: 20px 0;
}

.text-page .inner {
	font-size: 17px;
	line-height: 1.55em;
}

.inner h1, 
.inner h2, 
.inner h3,
.inner h4,
.inner h5,
.inner h6 {
	color: rgb(var(--cps_blue));
	font-weight: normal;
}


.text-page .inner h2 {
	font-size: 22px;
	margin-bottom: 5px;
	color: rgb(var(--cps_altblue));
}

.text-page .inner h1,
.user-auth .inner h1,
.text-page .inner h2.larger {
	font-size: 40px;
	line-height: 56px;
	margin-bottom: 0.4em;
	color: rgb(var(--cps_blue));
}


.text-page .inner h3 {
	font-size: 17px;
	margin-bottom: 0;
}

.text-page .inner h4 {
	font-size: 22px;
}

.text-page .inner p + ul,
.text-page .inner p + ol {
	margin-top: -0.8em;
}

.text-page .inner h3 + p,
.text-page .inner h2 + p {
	margin-top: 0;
}


.text-page .inner ul,
.text-page .inner ol {
	margin-left: 20px;
	margin-bottom: 1em;
}

.text-page .inner li {
	font-weight: normal;
}

.text-page .inner li::marker {
	color: rgb(var(--cps_blue));
	font-size: 1.2em;
}

.text-page .inner a {
	color: rgb(var(--cps_blue));
}

.text-page .inner p a:hover {
	color: rgb(var(--cps_altblue));
}

.text-page .inner blockquote {
	margin: 1em 0;
	font-size: 1.3em;
	font-weight: bold;
	padding-left: 1em;
	padding: 1em 0 1em 1em;
	border-left: 2px solid rgb(var(--cps_blue));
}

/*--------------------------------------------------*/
/* Specific CMS page overrides...                   */

.text-page .p_whatwedo h2 {
	color: rgb(var(--cps_blue));
}

.text-page .p_whatwedo p > strong {
	color: rgb(var(--cps_altblue));
}

/*--------------------------------------------------*/
/* Banners                                          */

#page_content {
	background-size: cover;
    background-position: center;
	background-attachment: fixed;
}

.banner {
	position: relative;
	width: 100%;
	overflow: hidden;
	text-align: center;
	background-size: cover;
    background-position: center;
	color: #fff;
}

.banner .inner {
	padding-bottom: 30px;
}

.banner .inner,
.banner .inner .cms_text {
	text-align: center;
	background: url('/a/img/global/cps_roundal.png') no-repeat top center;
	background-size: cover;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.banner .inner p {
	max-width: 80%;
}


@media (min-width: 900px) {
	.banner {
		min-height: 480px;
	}
	
	.banner .inner p {
		max-width: 65%;
	}
	
	.banner .inner,
	.banner .inner .cms_text {
		min-height: 480px;
		padding-bottom: 0;
	}
}

.banner.noLogo .inner {
	background: none;
}

.banner .inner .cms_text {
	background: none;
}

.banner h1 {
	padding-top: 1em;
	font-size: 2.5rem;
	font-weight: normal;
	margin: 0;
	line-height: 1em;
	color: #fff;
}

.static-banner p {
	font-size: 1.2rem;
	line-height: 1.4em;
	max-width: 65%;
}

.banner.dropshadow {
	text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.6); 
}


@media (min-width: 1150px) {
	.banner h1 {
		padding-top: 0;
		font-size: 70px;
	}
	
	.banner p {
		font-size: 30px;
	}
	
}


/*--------------------------------------------------*/
/* Sub Nav Buttons                                  */

@media (max-width: 1150px) {
	.sub-navigation nav {
		display: none;
	}
}

.sub-navigation {
	background: #fff;
	padding-top: 0;
}

@media (min-width: 1150px) {
	.sub-navigation {
		padding: 20px 0;
		padding-top: 40px;
		padding-bottom: 10px;
	}
}

.sub-navigation nav ul {
	display: flex;
	list-style-type: none;
	justify-content: center;
	font-size: 0.95em;
}

.sub-navigation nav ul li {
	margin-right: 20px;
}

.sub-navigation nav ul li a {
	display: block;
	padding: 10px;
	color: #fff;
	width: 180px;
	border: 0;
	border-radius: 30px;
	text-transform: uppercase;
    background: #1cacbe;
    background: linear-gradient(to right, #0f6da8, #1cacbe 77%); 
	text-decoration: none;
	text-align: center;
	font-weight: normal;
}

.sub-navigation nav ul li:nth-of-type(2) a {
  background: #ce3076;
  background: linear-gradient(to right, #483688, #ce3076 77%); 	
}

.sub-navigation nav ul li:nth-of-type(3) a {  
  background: #3c7546;
  background: linear-gradient(to right, #3c7546, #c9b937 77%); 
}

.sub-navigation nav ul li:nth-of-type(4) a {  
  background: #e85a30;
  background: linear-gradient(to right, #e85a30, #f4a92f 77%); 
}

.sub-navigation nav ul li:nth-of-type(5) a {  
  background: #e85a30;
  background: linear-gradient(to right, #25204D, #4E358A 77%); 
}

.sub-navigation nav ul li:nth-of-type(6) a {  
  background: #e85a30;
  background: linear-gradient(to right, #801339, #E32213 77%); 
}

.sub-navigation nav ul li a:hover,
.sub-navigation nav ul li.selected a {
	background: rgb(150, 150, 150) !important;
}

/*--------------------------------------------------*/
/* Breadcrumbs                                      */

.breadcrumblist {
	text-align: center;
	font-size: 0.9em;
	padding-top: 20px;
	padding-bottom: 20px;
	background: #fff;
}

.breadcrumblist li {
	display: inline-block;
	color: rgb(var(--cps_grey));
	position: relative;
}

.breadcrumblist li a {
	text-decoration: none;
	color: rgb(var(--cps_grey));
}

.breadcrumblist li a:hover {
	text-decoration: underline;
}

.breadcrumblist li::after {
	padding-left: 10px;
	margin-right: 10px;
	content: "»";
}

.breadcrumblist li:last-of-type  {
	font-weight: bold;
}

.breadcrumblist li:last-of-type::after {
	content: "";
}

/*--------------------------------------------------*/
/* Grid Lister                                      */

.grid-lister {
	color: rgb(var(--cps_grey));
	background: #f7f7f7;
}

.grid-lister .pagination {
	text-align: center;
	padding-bottom: 60px;
	margin-bottom: 0;
}

#p_cms_page .grid-lister img {
	max-width: 100%;
}

p.taster_link {
	font-size: 1.3em;
}

p.taster_link a {
	color: rgb(var(--cps_grey));
}

@media (min-width: 1150px) {

	.grid-lister {
		background: rgba(255, 255, 255, 0.9);
	}
}

.grid-lister ul {
	padding: 50px;
	list-style-type: none;
}

.grid-lister ul li {
	max-width: 350px;
	margin: 0 auto;
	border-bottom: 1px solid #C6C6C6;
	padding-bottom: 8px;
	margin-bottom: 40px;
	display: flex;
	flex-direction: column;
}

#page_container .grid-lister ul li p.button_wrap {
	padding-top: 30px;
	margin-top: auto;
}

#page_container .grid-lister ul li p.button_wrap a.button {
	background: rgb(var(--cps_blue));
	display: inline-block;
	font-size: 12px;
	padding: 10px 20px;
	min-width: unset;
	margin-top: auto;
	border-radius: 20px;
	border-color: rgb(var(--cps_blue));
}

#page_container .grid-lister ul li p.button_wrap a.button:hover {
	background: rgb(var(--cps_altblue));
	border-color: rgb(var(--cps_altblue));

}

@media (max-width: 1150px) {
	.grid-lister ul li:last-of-type {
		margin-bottom: 0;
	}
}

.grid-lister ul li h3  {
	margin: 0;
	padding-top: 10px;
	color: rgb(var(--cps_blue));
	font-size: 1.7em;
	line-height: normal;
}

.grid-lister ul li h3 a {
	text-decoration: none;
	color: rgb(var(--cps_blue));
}

.grid-lister ul li p {
	font-size: 1.1em;
	line-height: 1.7em;
}

.grid-lister p.role {
	margin-top: 10px;
	border-bottom: 1px solid #C6C6C6;
	font-size: 1.1em;
	padding-bottom: 20px;
	line-height: 0.8em;
}

.grid-lister ul li.past-event img,
.grid-lister ul li.sold-out img,
.grid-lister ul li.cancelled img {
	opacity: 0.2;
}

@media (min-width: 650px) {
	.grid-lister ul {
		display: grid;
		grid-template-columns: repeat(auto-fill, 250px);
		grid-auto-rows: minmax(min-content, max-content);
		grid-gap: 50px 50px;
		gap: 50px 50px;
		align-items: stretch;
		justify-content: space-around;
		max-width: 1300px;
		margin: 0 auto;
	}
	
	.grid-lister ul li {
		max-width: 250px;
		margin: 0 auto;
	}
	
	.grid-lister ul li img {
		max-width: 250px;
	}
	
}

/*--------------------------------------------------*/
/* Promo Banner                                     */

.promo-banner {
	width: 100%;
	min-height: 480px;
	overflow: hidden;
	text-align: center;
	background: #fff url('/a/img/common/morocco_banner.jpg') no-repeat;
	background-size: cover;
    background-position: center;
	display: flex;
	align-items: flex-end;
}

.promo-banner .inner {
	background: none;
	align-self: flex-end;
	flex-grow: 1;
	min-height: auto;
	text-align: left;
	align-items: flex-start;
	padding-left: 40px;
	padding-bottom: 30px;
	padding-top: 20px;
}

.promo-banner .inner h3 {
	font-size: 24px;
	line-height: 1.2em;
	font-weight: normal;
	margin: 0;
	margin-bottom: 10px;
	color: #fff;
}

.promo-banner .inner p {
	margin: 0;
	font-size: 16px;
	line-height: 1.6em;
	text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.6);
	max-width: 90%;
}

.promo-banner .inner h3 {
	max-width: 90%;
}

.promo-banner .inner p:last-of-type {
	margin-bottom: 30px;
}


@media (min-width: 800px) {
	.promo-banner .section_banner-Morocco .inner p,
	.promo-banner .section_banner-Morocco .inner p:last-of-type {
		max-width: 60%;
	}
}

@media (min-width: 1100px) {
	.promo-banner .section_banner-Morocco .inner p,
	.promo-banner .section_banner-Morocco .inner p:last-of-type {
		max-width: 70%;
	}
}

#page_container .inner .button,
.basket_message .button,
#page_container .inner input.purchase-button {
	display: block;
	padding: 10px;
	color: #fff;
	min-width: 200px;
	border: 0;
	text-transform: uppercase;
    background: #1cacbe;
	border-radius: 20px;
    background: #1cacbe; 
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	border: 1px solid #fff;
	outline: none;
	font-size: 14px;
}

#page_container .inner input.purchase-button:hover {
	background: rgb(var(--cps_grey));
}

#page_container .inner input.purchase-button.disabled {
	background: rgb(var(--cps_lightgrey));
}

@media (min-width: 1150px) {
	
	.promo-banner .inner h3 {
		font-size: 30px;
	}
	
	.promo-banner .inner p {
		font-size: 18px;
		line-height: normal;
		max-width: 45%;
	}
	
}

.promo-banner .section_banner-Morocco a.button {
	margin-bottom: 20px;
}


/*--------------------------------------------------*/
/* Two col panels                                   */

.panels {
	background: #fff;
	padding-top: 40px;
}

.two-panels .inner .panel {
	min-height: 400px;
	position: relative;
	background: #0c6a86;
	background-size: cover;
	padding: 20px 40px;
	color: #fff;
	margin-bottom: 40px;
}

.two-panels .inner .panel-Membership {
	background: #8d1842;
}

.two-panels .inner .panel-inner h3 {
	font-size: 24px;
	font-weight: normal;
	line-height: 1.8;
	margin-bottom: 10px;
	color: #fff;
}

.two-panels .inner .panel-inner p.panel-strap {
	max-width: 100%;
}

.two-panels .inner .panel-inner p {
	font-size: 15px;
	line-height: 1.4em;
	margin-bottom: 2em;
}

.two-panels .inner .button {
	margin-bottom: 1em;
}

@media (min-width: 800px) {
	.two-panels .inner .panel-inner p {
		width: 80%;
	}
	
	.two-panels .inner .panel-inner h3 {
		font-size: 28px;
	}
}

@media (min-width: 1150px) {
	
	.promo-banner .inner {
		padding-left: 60px;
	}
	
	.two-panels .inner {
		padding-left: 40px;
		padding-right: 40px;
	}
	
	.two-panels .inner .panel-inner h3,
	#newsletter h2 {
		font-size: 38px;
		margin-bottom: 20px;
	}
	
	.two-panels .inner .panel-inner p.panel-strap {
		font-size: 18px;
	}
	
	.two-panels .inner {
		display: flex;
	}
	
	.two-panels .inner .panel {
		margin-right: 40px;
		width: 50%;
	}
	
	.two-panels .inner .panel:last-of-type {
		margin-right: 0;
	}
	
	.two-panels .inner .panel-inner p {
		max-width: 50%;
	}
	
}

/*--------------------------------------------------*/
/* Footer                                           */

#page_footer {
	background: rgb(var(--cps_brandgrey));
	color: #fff;
	text-align: center;
	padding: 10px 10px;
	font-weight: 500;
	font-size: 1em;
}

#page_footer a {
	color: #fff;
}

#page_footer address {
	font-style: normal;
	margin-bottom: 1em;
}

#page_footer .footer_left p {
	margin: 0;
}

#page_footer .inner > svg {
	display: none;
}

#page_footer svg {
	fill: #fff;
	margin: 1em 0;
}

#page_footer svg g {
	fill: #fff;
}

#page_footer svg polygon {
	fill: rgb(var(--cps_brandgrey));
	fill-opacity: 1;
}

#page_footer a:hover svg,
#page_footer a:hover svg g {
	fill: rgb(var(--cps_blue));
}

@media (min-width: 1000px) {
	#page_footer svg {
		display: inline;
		width: 72px;
		height: 72px;
		fill: #fff;
	}
}

#page_footer .footer_nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

#page_footer .footer_nav ul li {
	display: inline-block;
}

#page_footer .footer_nav ul li a {
	text-decoration: none;
}

#page_footer .footer_nav ul li a:hover {
	text-decoration: underline;
}

#page_footer .footer_nav ul li::after {
	content: " | ";
	padding-right: 8px;
	padding-left: 8px;
}

#page_footer .footer_nav ul li:last-of-type::after {
	content: "";
	padding: 0;
}

#page_footer .social_links ul {
	list-style-type: none;
	padding-top: 10px;
}

#page_footer .social_links ul li {
	display: inline;
	margin-right: 10px;
}

#page_footer .social_links ul li:last-of-type {
	margin-right: 0;
}

#page_footer .social_links svg {
	width: 25px;
	height: 25px;
}

#path_footer .social_links g {
	fill: #fff;
}

@media (max-width: 800px) {
	#page_footer {
		padding: 0;
		background: none;
	}

	#page_footer .footer_right {
		display: grid;
		background: #107db5;
	}
	
	#page_footer .footer_right .social_links {
		order: 1;
	}
	
	#page_footer .footer_right .footer_nav {
		order: 2;
	}
	
	#page_footer .social_links svg {
		width: 12vw;
		height: 12vw;
		max-width: 72px;
		max-height: 72px;
	}
	
	#page_footer .social_links a {
		margin-right: 15px;
	}
	
	#page_footer .social_links li:last-of-type a {
		margin-right: 0;
	}
	
	#page_footer .footer_left {
		background: rgb(var(--cps_brandgrey));
		padding: 20px;
	}
	
	#page_footer .footer_right .footer_nav {
		text-align: left;
	}
	
	#page_footer .footer_right .footer_nav li {
		display: block;
		text-transform: uppercase;
		border-top: 1px solid #338fbe;
	    border-bottom: 1px solid #338fbe;
	}
	
	#page_footer .footer_nav ul li::after {
		content: '';
		padding: 0;
	}
	
	
	#page_footer .footer_nav ul li a {
	    width: 100%;
	    height: 100%;
	    text-decoration: none;
	    font-weight: bold;
	    color: #fff;
	    text-transform: uppercase;
	    font-size: 1.4em;
		padding: 20px 20px;
		display: block;
		
	}
	
}

@media (min-width: 801px) {
	#page_footer .inner {
		display: flex;
		flex-direction: row-reverse;
		text-align: left;
		padding: 0 40px;
	}
	
	#page_footer .inner > div {
		width: calc(50% - 36px);
		max-width: 50%;
		align-items: center;
		margin-top: 1em;
	}
	
	#page_footer .inner > div p,
	#page_footer .inner > div ul {
	}
	
	#page_footer .inner .footer_right {
		text-align: right;
	}
	
}

/*--------------------------------------------------*/
/* Homepage styles                                  */

#p_home .banner {
	min-height: 300px;
}

#p_home .static-banner p
{
	width: 100%;
	max-width: 100%;
	font-size: 20px;
}

#p_home .static-banner p a {
	color: #fff;
	text-decoration: none;
	margin-right: 5px;
	margin-left: 5px;
}

#p_home .static-banner p a:hover {
	border-bottom: 2px solid #f8f8ff;
}

#p_home .static-banner p a:first-of-type {
	margin-left: 0;
}

#p_home .banner svg {
	width: 100%;
	margin-top: 50px;
}

#p_home .static-banner .inner,
.static-banner .inner .cms_text {
	background: none;
	justify-content: flex-start;
	min-height: unset;
}

#p_home .static-banner {
	background-image: url('/a/img/home/banner.jpg');
	background-attachment: unset;
}

.webp #p_home .static-banner {
	background-image: url('/a/img/home/banner.webp');
}

@media 
(-webkit-min-device-pixel-ratio: 1.5), 
(min-resolution: 144dpi){ 
    /* Retina-specific stuff here */
	#p_home .static-banner {
		background-image: url('/a/img/home/banner2x.jpg');
	}
	
	.webp #p_home .static-banner {
		background-image: url('/a/img/home/banner2x.webp');
	}
}

#p_home .static-banner p.svg_text {
	width: calc(100vw - 40px);
	margin: 0 20px;
	max-width: unset;
	margin-bottom: 50px;
}

#p_home .static-banner p {
	margin-bottom: 20px;
	padding: 0 20px;
}

.ordered_blocks {
	display: flex;
	flex-direction: column;
}

.ordered_blocks .home_intro {
	order: 2;
}

.ordered_blocks .home_featured {
	order: 1;
}

.ordered_blocks .home_online {
	order: 4;
}

.ordered_blocks .promo-banner {
	order: 3;
}

.ordered_blocks .two-panels {
	order: 5;
	padding-top: 0;
}

.ordered_blocks .newsletter {
	order: 6;
}


.home_notice {
	width: 100%;
	background: rgb(var(--cps_hotpink));
	text-align: center;
	font-size: 14px;
	text-transform: uppercase;
	padding: 15px;
}

.home_notice p,
.home_notice p a {
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	padding: 0;
	margin: 0;
	text-decoration: none;
	font-weight: bold;
	line-height: 1.4em;
}

.home_intro {
	text-align: center;
	font-size: 21px;
	line-height: 1.4em;
	color: rgb(var(--cps_grey));
}

@media (min-width: 800px) {
	.home_intro {
		font-size: 25px;
		line-height: 1.6em;
	}
}

.home_intro .inner .intro {
	max-width: 900px;
	padding: 0 20px;
	margin: 60px auto;
	margin-bottom: 68px;
}

.home_intro .inner .intro p {
	margin: 0;
}

.home_intro a {
	text-decoration: none;
	color: rgb(var(--cps_blue));
}

.home_intro a:hover {
	color: #fff;
	background: rgb(var(--cps_blue));
}

.button-links {
	padding: 0 30px;
	margin-top: 60px;
	width: 100%;
}

#p_home #page_container .promo-banner .inner .button,
#p_cms_page .promo-banner .inner .button,
#p_home #page_container .inner .panel-inner .button,
#p_cms_page .inner .panel-inner .button 
 {
	color: rgb(var(--cps_grey));
	text-shadow: none;
	border-color: #fff;
	background: #fff;
	line-height: 1em;
}

#p_home #page_container .promo-banner .inner .button:hover,
#p_home #page_container .inner .panel-inner .button:hover,
#p_cms_page #page_container .promo-banner .inner .button:hover,
#p_cms_page #page_container .inner .panel-inner .button:hover {
	background: rgb(var(--cps_blue));
	border-color: rgb(var(--cps_blue));
	color: #fff;
} 


.home_online {
	background: #fff;
	text-align: center;
	font-size: 18px;
	padding: 45px 20px 52px 20px;
}


@media (min-width: 800px) {
	.home_online {
		font-size: 25px;
	}
}

.home_online .section_text-online-intro {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

#page_container .home_online .inner a.button {
	width: unset;
	background: rgb(var(--cps_blue));
	font-size: 15px;
	max-width: 400px;
	margin: 0 auto;
}

#page_container .home_online .inner a.button:hover {
	background: rgb(var(--cps_brandgrey));
}

.home_online p {
	max-width: 900px;
	line-height: normal;
	color: rgb(var(--cps_grey));
}

.home_online h2 {
	font-size: 21px;
	line-height: normal;
	text-transform: uppercase;
	font-weight: bold;
}

@media (min-width: 800px) {
	.home_online h2 {
		font-size: 28px;
	}
}

.home_featured {
	position: relative;
	padding-bottom: 50px;
}

.home_featured::after {
	content: "";
	background: url('/a/img/home/featured_bg.jpg') no-repeat;
	background-size: cover;
	opacity: 0.10;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
}

.home_featured .overlay {
	background-color: rgba(22, 177, 231, 0.11);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.edit_mode .home_featured .overlay {
	display: none;
}

.home_featured .content {
	padding: 45px 30px 40px 30px;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.home_featured .content .section_text-featured-intro p,
.section_text-online-intro p {
	line-height: 30px;
}

.home_featured .content p {
	font-size: 21px;
	line-height: normal;
	color: rgb(var(--cps_grey));
}

.home_featured .content h2 {
	font-size: 21px;
	line-height: normal;
	text-transform: uppercase;
	font-weight: bold;
	color: rgb(var(--cps_altblue));
}

@media (min-width: 800px) {
	.home_featured .content h2 {
		font-size: 28px;
	}
	
	.home_featured .content p {
		font-size: 25px;
	}
	
	.home_featured .content .section_text-featured-intro p,
	.section_text-online-intro p {
		line-height: 40px;
	}
	
}

#page_container .home_featured .inner a.button {
	width: unset;
	max-width: 400px;
	background: #fff;
	color: rgb(var(--cps_grey));
	margin: 0 auto;
	position: relative;
}

#page_container .home_featured .inner a.feature-button {
	margin-top: 10px;
	z-index: 1;
	border: none;
	max-width: 90%;
}

#page_container .home_featured .inner a.button:hover {
	color: #fff;
	background: rgb(var(--cps_blue));
}

.product-lister.featured_list {
	background: none;
}

.product-lister.featured_list ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 100%;
	max-width: 1100px;
	padding: 0;
}

.product-lister.featured_list ul li {
	background: #fff;
	max-width: 400px;
	margin: 0 auto;
	margin-bottom: 40px;
}

.product-lister.featured_list ul li img {
	margin: 3px;
	width: calc(100% - 6px);
}

.product-lister.featured_list ul li .cal-icon {
	left: 15px;
}

.product-lister.featured_list ul li .inner-feature {
	padding: 10px 20px;
}

.product-lister.featured_list ul li h3 {
	margin-bottom: 0;
}

.product-lister.featured_list ul li p.short_desc {
	font-size: 16px;
	line-height: 1.5em;
	margin-top: 10px;
	color: rgb(var(--cps_grey));
	margin-bottom: 5px;
}

.product-lister.featured_list ul li p.leader {
	margin-top: 0;
	margin-bottom: 12px;
	color: rgb(var(--cps_grey));
}

.product-lister.featured_list ul li p.type {
	font-weight: normal;
	line-height: normal;
	font-size: 14px;
	margin-top: 3px;
}

.product-lister.featured_list ul li .lister-lower .btn {
	width: 90%;
	margin: 0 auto;
}

#page_container .product-lister.featured_list ul li .lister-lower .btn a.button {
	color: #fff;
}
@media (max-width: 801px) {
	
	#p_home .banner svg {
		margin-top: 20px;
	}
	
	#p_home .banner {
		min-height: 200px;
	}

	#p_home .banner .inner{
		padding-top: 0;
		padding-bottom: 0;
	}

	#p_home .banner .inner p {
		margin: 0 !important;
		margin-left: 0 auto;
		margin-right: 0 auto;
		margin-top: 20px !important;
	}
}
@media (min-width: 801px) {
	#p_home .promo-banner {
		min-height: 400px;
	}
	
	#p_home .banner p.svg_text {
		width: calc(100vw - 80px);
		margin: 0 40px 50px 40px;
	}
	
	.home_notice {
		font-size: 15px;
	}
	
	#page_container .home_featured .inner a.feature-button {
		margin-top: 50px;
		max-width: 400px;
	}
}

@media (min-width: 768px) {
/*	.col-right {
		padding-top: 30px;
	}
*/
	.col-right .button-links {
		width: 100%;
		margin: 0 auto;
		padding: 0 10px;
		text-align: center;
	}
	
	.col-right .button-links .promo-button {
		width: calc(33% - 13px);
	}
	
	.col-right .button-links a,
	.col-right .button-links a:first-of-type {
		margin-right: 15px;
	}
	
	.col-right .button-links a:last-of-type {
		margin-right: 0;
	}
}

@media (min-width: 1060px) {
	
	#p_home .promo-banner {
		min-height: 480px;
	}
	
	.home_notice {
		font-size: 16px;
	}
	
	.button-links,
	.col-right .button-links {
		padding: 0;
		display: flex;
		margin: 0 auto;
		max-width: 1100px;
	}
	
	.button-links .promo-button,
	.col-right .button-links .promo-button,
	.col-right .button-links .promo-button:first-of-type {
		margin-right: 30px;
		min-width: 300px;
		flex-grow: 1;
	}

	.button-links .promo-button:hover {
		opacity: 0.5;
	}
	
	.button-links .promo-button-nooverlay:hover {
		opacity: 1;
	}
	
	.button-links .promo-button:last-of-type,
	.col-right .button-links .promo-button:last-of-type {
		margin-right: 0;
	}
	
	.col-right .button-links .promo-button:last-of-type {
		margin-left: 0 !important;
	}
	
	
	.button-links .promo-button .overlay .hdr_promo {
		font-size: 28px;
	}
	
	.button-links .promo-button .overlay .txt_promo {
		font-size: 1rem;
		line-height: 1.6rem;
	}
	
	#p_home .static-banner p {
		font-size: 24px;
		text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.6);
	}

	
	#p_home .static-banner {
		min-height: 400px;
	}
	
	#p_home .static-banner p.svg_text {
		width: calc(100vw - 100px);
		margin: 0 50px 50px 50px;
	}
	
	#p_home .button-links {
		margin-bottom: 15px;
	}
	
	.product-lister.featured_list ul {
		margin: 0 auto;
		width: 100%;
		max-width: 1100px;
		padding: 0;
	}

	.product-lister.featured_list ul li {
		margin: 0;
		margin-right: 30px;
		background: #fff;
		width: calc(33% - 17px);
	}
	
	.product-lister.featured_list ul li:last-of-type {
		margin-right: 0;
	}
	
}

@media (min-width: 1200px) {
	
	.col-right .button-links {
		display: block;
	}
	
	.col-right .button-links .promo-button,
	.col-right .button-links a.promo-button:first-of-type {
		margin-right: 0;
	}
}

@media (min-width: 1150px) {
	#p_home .static-banner {
		min-height: 480px;
	}
	
	#p_home .static-banner p {
		font-size: 34px;
	}

	
	#p_home .banner .inner{
		padding-top: 80px;
	}
	
	#p_home .banner p.svg_text {
		max-width: 80%;
/*		margin: 0 50px 2rem 50px;
*/
		margin: 0 auto;
		margin-bottom: 40px;
	}
}

/*--------------------------------------------------*/
/* Blog templates                                   */

.blog-article .inner {
	max-width: 70%;
}

.blog-article .blog_img {
	max-width: 100%;
}

.blog-page .inner p a,
.blog-page .inner p a:hover {
	color: rgb(var(--cps_hotpink));
}

.blog-page .inner p a:hover {
	background: rgb(var(--cps_hotpink));
	color: #fff;
	text-decoration: none;
}

.enlighten-banner {
	position: relative;
	width: 100%;
	min-height: 480px;
	overflow: hidden;
	text-align: center;
	background: url('/a/img/enlighten/banner.jpg') no-repeat;
	background-size: cover;
    background-position: top;
	color: #fff;
}

.inner-cols {
	overflow: hidden;
}

.inner-cols .col-left {
	padding: 30px 0;
	padding-left: 30px;
	float: left;
	width: 70%;
}

.inner-cols .col-right {
	padding: 30px 0;
	float: left;
	width: 30%;
}

.article-feed img {
	max-width: 100%;
	object-fit: cover;
}

.landing-cols {
	background: rgb(var(--bg_grey));
	padding-top: 10px;
	padding-bottom: 30px;
}

.landing-cols .cols {
	grid-template-columns: 74% 26%;
	grid-template-areas: "content sidebar";
}

.filter-nav {
	background: #fff;
	padding: 15px;
	padding-right: 0;
	margin-bottom: 40px;
	text-align: center;
}

.filter-nav .filter_label {
	text-transform: uppercase;
	padding: 5px;
	font-size: 20px;
	line-height: normal;
	margin-right: 20px;
	text-align: center;
}


.filter-nav ul,
.landing-cols .filter-nav ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 100%;
	margin-top: 10px;
}

.filter-nav ul li {
	margin: 0;
	padding: 0;
	margin-right: 20px;
	margin-bottom: 20px;
}

.sub-navigation .filter-nav {
	background: rgb(var(--cps_lightgrey));
}

.sub-navigation .filter-nav a {
	padding: 10px;
	border-color: rgb(var(--cps_brandgrey));
}

.sub-navigation .filter-nav li.selected a {
	background: rgb(var(--cps_blue));
	color: #fff;
}

li.in_person_events a,
li.online_events a {
	position: relative;
}

li.in_person_events a:after {
	content: " ";
	background: url('/a/img/products/icons/in-person.svg') no-repeat;
	background-size: 22px 22px;
	position: absolute;
	right: 22px;
	top: 6px;
	width: 22px;
	height: 22px;
}

li.online_events a:after {
	content: " ";
	background: url('/a/img/products/icons/online.svg') no-repeat;
	background-size: 22px 22px;
	position: absolute;
	right: 25px;
	top: 7px;
	width: 22px;
	height: 22px;
}


.sub-navigation .filter-nav .filter_label {
	position: relative;
	top: 3px;
	color: rgb(var(--cps_grey));
}

.filter-nav ul li a,
.text-page .filter-nav ul li a {
	display: block;
	padding: 3px;
	color: rgb(var(--cps_grey));
	border: 1px solid rgb(var(--cps_lightgrey));
	border-radius: 30px;
	text-transform: uppercase;
    background: #fff;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
}

.filter-nav ul li a:hover,
.text-page .filter-nav ul li.selected a {
	border: 1px solid rgb(var(--cps_blue));
    background: rgb(var(--cps_blue));
	color: #fff;
}

.text-page h2.floating_hdr {
	display: block;
	background: #fff;
	color: rgb(var(--cps_blue));
	font-weight: normal;
	font-size: 40px;
	line-height: 56px;
	margin-bottom: 0.4em;
	padding: 10px 20px;

}

.text-page .inner ul.article-feed {
	list-style-type: none;
	margin-left: 0;
}

.text-page .inner ul.article-feed li {
	background: #fff;
	padding: 40px;
	margin-bottom: 50px;
}

.text-page .inner ul.article-feed li.future {
	border: 1px solid #c50000;
	position: relative;
}

.text-page .inner ul.article-feed li.future::after {
	content: 'Not Yet Published - only admins can see this.';
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	background: #c50000;
	font-size: 11px;
	padding: 0 5px;
}


.text-page .inner ul.article-feed li .wrapper .details {
	display: flex;
	flex-direction: column;
}

.text-page .inner ul.article-feed li .wrapper .details h3 {
	font-size: 22px;
	margin-bottom: 5px;
	color: rgb(var(--cps_altblue));
	line-height: 29.4px;
}

.text-page .inner ul.article-feed li .wrapper .details h3 a {
	text-decoration: none;
}

.text-page .inner ul.article-feed li .wrapper .details .by_line {
	border-top: 1px solid rgb(var(--cps_lightgrey));
	font-size: 14px;
	padding-top: 15px;
}

.text-page .inner ul.article-feed li .wrapper .details .intro p {
	font-size: 14px;
	line-height: 22px;
	color: rgb(var(--cps_grey));
}

.text-page .inner ul.article-feed li .wrapper .details .blog_button {
	display: block;
	padding: 5px;
	color: #fff;
	width: 200px;
	border: 0;
	border-radius: 30px;
	text-transform: uppercase;
    background: #1cacbe;
    background: linear-gradient(to right, #0f6da8, #1cacbe 77%); 
	text-decoration: none;
	text-align: center;
	font-weight: normal;
	font-size: 14px;
}

.category {
	text-transform: uppercase;
	font-size: 14px;
	color: rgb(var(--cps_altblue));
	font-weight: bold;
}

.future_reminder {
	background: #c50000;
	color: #fff;
	padding: 5px;
	font-size: 12px;
}

@media ( min-width: 900px ) {
	
	.filter-nav {
		max-width: 1050px;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		text-align: left;
	}
	
	
	.sub-products .filter-nav {
		max-width: 980px;
	}
	
	.filter-nav ul,
	.landing-cols .text-page .filter-nav ul,
	.landing-cols .filter-nav ul {
		display: flex;
		flex-grow: 3;
		width: auto;
		margin-top: 0;
	}
	.filter-nav ul li {
		flex-basis: calc(33% - 20px);
		margin-right: 20px;
		width: auto;
		margin-bottom: 0;
	}
	
	
	#p_search .filter-nav ul li {
		flex-basis: calc(50% - 20px);
		margin-right: 20px;
		width: auto;
		margin-bottom: 0;
	}
	
	#p_search .filter-nav ul {
		margin-bottom: 0;
	}
	
	#p_search .filter-nav {
		margin-top: 1em;
	}
	
	.filter-nav .filter_label {
		width: auto;
	}
	

	.text-page .inner ul.article-feed li .wrapper {
		display: flex;
	}

	.text-page .inner ul.article-feed li .wrapper div {
		flex-basis: 50%;
		
	}
	
	.text-page .inner ul.article-feed li .wrapper img {
		width: 100%;
		height: 100%;
	}
	
	/*--------------------------------------------------*/
	/* Safari misbehaves with image heights when flexed */
	/* Safari only CSS below for imperfect fix			*/ 
	
/*	.text-page .inner ul.article-feed li .wrapper img:not(:root:root) {
		align-self: flex-start;
	 }*/
	
	.text-page .inner ul.article-feed li .wrapper .details {
		padding-left: 40px;
	}
	
/*	.article-feed img {
		width: 50%;
	}*/
	
}

.exhibition-banner {
	max-height: none !important;
}

.exhibition-banner .blog_img {
	object-fit: cover !important;
}

.blog-banner {
	max-height: 480px;
	min-height: auto;
	background: none;
}

@media ( min-width: 1493px ) {
	.blog-banner {
		width: 100%;
		height: 480px;
	}
	
	.exhibition-banner {
		max-width: 1493px;
		height: auto;
		margin: 0 auto;

	}
	
	.exhibition-banner img  {
		margin: 0 auto;
		max-height: 575px;
	}
}

.blog-banner .blog_img {
	object-fit: cover; 
	width: 100%;
	height: 100%;
}

.product-page figure img,
.blog-page figure img {
	width: 100%;
	margin-bottom: 1em;
}

.text-page .intro,
.text-page p.blue-styled,
.cols-flex p:first-of-type,
.description p:first-of-type {
	color: rgb(var(--cps_altblue));
	font-size: 22px;
	line-height: 35px;
}

.blog-page .author {
	font-size: 14px;
}

.blog-header {
	border-bottom: 1px solid rgb(var(--cps_lightgrey));
}

.blog-page .content {
	padding-top: 20px;
}

.blog-page .content h2 {
	color: rgb(var(--cps_blue));
}

.blog-page .content h3 {
	color: rgb(var(--cps_altblue));
	font-weight: bold;
}

.text-page .inner .social_links {
	padding: 20px 0 10px 0;
	border-top: 1px solid rgb(var(--cps_lightgrey));
	border-bottom: 1px solid rgb(var(--cps_lightgrey));

	margin-top: 30px;
}

.text-page .inner .social_links ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.text-page .inner .social_links ul li {
	margin: 0;
	padding: 0;
	display: inline-block;
}

.text-page .inner .social_links p {
	float: left;
	margin-right: 20px;
	position: relative;
	top: -10px;
}

.text-page .inner .social_links ul li:first-of-type {
	margin-right: 10px;
}

.text-page .inner .social_links ul li a svg {
	width: 40px;
}

.text-page .inner .social_links ul li a:hover svg path:first-of-type {
	fill: rgb(var(--cps_blue));
}

.text-page .inner .social_links ul li a:hover svg path.fbF {
	fill: #fff !important;
}

.text-page .inner .related {
	margin-top: 40px;
}

.text-page .inner .related h3 {
	margin-bottom: 10px;
}


/*--------------------------------------------------*/
/* Video Player                                     */

.video-embed {
	padding-top: 56.25%;
	position: relative;
	margin-bottom: 20px;
}

.video-embed iframe {
	border:0;height:360px;width:640px;max-width:100%;position:absolute;top:0px;left:0px;height:100%;width:100%;}
	
/*--------------------------------------------------*/
/* Promo panels                                     */

.promo-button img {
	width: 100%;
	display: block;
}
	
.promo-button {
	display: block;
	position: relative;
	margin-bottom: 50px;
}

.promo-button .overlay {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	flex-direction: column;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #fff;
}

@media (min-width: 1300px) {
	.col-right .promo-button .overlay {
		width: 300px;
		height: 214.281px;
	}
}

#p_home .promo-button .admin_image_edit {
	font-size: 12px;
	color: #fff;
}

.promo-button .overlay span {
	display: block;
	text-align: center;
	font-weight: bold;
	font-size: 0.8rem;
	line-height: 1.4rem;
	margin: 0 20px;
	max-width: 100%;
}

.promo-button .overlay .hdr_promo {
	text-transform: uppercase;
	font-size: 1.4rem;
	line-height: normal;
	margin-bottom: 20px;
}

@media ( max-width: 320px ) {
	.promo-button .overlay .hdr_promo {
		font-size: 1.4rem;
	}
	
	.promo-button .overlay span {
		font-size: 0.8rem;
		line-height: normal;
	}
}

@media ( min-width: 321px ) {
	.promo-button .overlay .hdr_promo {
		font-size: 1.8rem;
	}
	
	.promo-button .overlay span {
		font-size: 1rem;
		line-height: normal;
	}
}

@media ( min-width: 540px ) {
	.promo-button .overlay .hdr_promo {
		font-size: 2rem;
	}
	
	.promo-button .overlay span {
		font-size: 1.2rem;
		line-height: normal;
	}
}

@media ( min-width: 768px ) {
	.promo-button {
		width: calc(33% - 13px);
		display: inline-block;
	}

	.promo-button {
		margin-right: 15px;
	}

	.promo-button:last-of-type {
		margin-right: 0px;
	}
	
	.promo-button .overlay span {
		font-size: 0.8rem;
		line-height: normal;
	}
	
	.promo-button .overlay .hdr_promo {
		font-size: 1.2rem;
		margin-bottom: 20px;
	}
	
}

@media ( min-width: 950px) {
	.promo-button .overlay span {
		font-size: 1rem;
		line-height: 1.6rem;
	}
	
	.promo-button .overlay .hdr_promo {
		font-size: 1.8rem;
		margin-bottom: 30px;
	}
	
}

@media ( min-width: 768px ) {

	.col-right .promo-button,
	.col-right .promo-button:first-of-type {
		margin-right: 0;
	}
}
/*--------------------------------------------------*/
/* Login / Auth pages                               */

.user-auth {
  background: 
/*    linear-gradient(
      rgba(233,240,239, 0.3),
      rgba(233,240,239, 0.3)
    ),*/
	url('/a/img/basket/background.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	min-height: 600px;
	font-size: 17px;
	line-height: normal;
}

.user-auth a {
	color: rgb(var(--cps_blue));
}

.user-auth .inner {
	padding: 60px 0;
}

.user-auth .form-wrap {
	background: #fff;
	padding: 30px 40px 40px 40px;
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
	color: rgb(var(--cps_grey));
	border-radius: 30px;
}

.user-auth .form-wrap p {
	font-size: 16px;
}

.basic_form .label {
	display: block;
	font-size: 16px;
	padding: 15px 0 10px 0;
}

.basic_form .input input:focus {
	outline: 0;
}

.basic_form .input input {
	border: 0;
	padding: 10px;
	border-radius: 20px;
	border: 1px solid rgb(var(--cps_brandgrey));
	width: 100%;
	font-size: 16px;
	color: rgb(var(--cps_grey));
}

.basic_form .submit {
	padding-top: 1em;
}

.basic_form .submit input {
	display: block;
	padding: 10px;
	color: #fff;
	width: 200px;
	border: 0;
	border-radius: 30px;
	text-transform: uppercase;
    background: rgb(var(--cps_blue));
	text-decoration: none;
	text-align: center;
	font-weight: normal;
	cursor: pointer;
}

.basic_form .submit input:hover {
	background: rgb(var(--cps_altblue));
}

.basic_form .check input {
	opacity: 0;
}

.forgotten-link:first-of-type {
	margin-top: 2em;
}

.forgotten-link a {
	font-size: 15px;
	color: rgb(var(--cps_blue));
}

/*--------------------------------------------------*/
/* Standard Error Styles                            */

.error_list li {
	background-color: #AF0606;
	list-style-type: none;
	color: #fff;
	font-size: 16px;
	padding: 5px;
}

/*--------------------------------------------------*/
/* Custom Checkboxes - may need making more specific*/

.check-margin {
	padding: 15px 0;
}

.check-margin .info {
	padding-top: 10px;
	display: inline-block;
	font-size: 14px;
}

.check-margin .info p {
	font-size: 14px;
}

.check_text {
	font-size: 16px;
	position: relative;
	top: 5px;
	left: 5px;
}

[type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label {
  position: relative;
  padding-left: 1.95em;
  cursor: pointer;
}

/* checkbox aspect */
[type="checkbox"]:not(:checked) + label:before,
[type="checkbox"]:checked + label:before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 1.6em; height: 1.6em;
  border: 1px solid rgb(var(--cps_brandgrey));
  background: #fff;
  border-radius: 4px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.1);
}
/* checked mark aspect */
[type="checkbox"]:not(:checked) + label:after,
[type="checkbox"]:checked + label:after {
  content: '\2713\0020';
  position: absolute;
  top: .15em; left: .22em;
  font-size: 1.6em;
  line-height: 0.8;
  color: rgb(var(--cps_blue));
  transition: all .2s;
  font-family: 'Lucida Sans Unicode', 'Arial Unicode MS', Arial;
}
/* checked mark aspect changes */
[type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}
[type="checkbox"]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}
/* disabled checkbox */
[type="checkbox"]:disabled:not(:checked) + label:before,
[type="checkbox"]:disabled:checked + label:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
}
[type="checkbox"]:disabled:checked + label:after {
  color: #999;
}
[type="checkbox"]:disabled + label {
  color: #aaa;
}
/* accessibility */
[type="checkbox"]:checked:focus + label:before,
[type="checkbox"]:not(:checked):focus + label:before {
	background: #e9f0ef;
}

/*--------------------------------------------------*/
/* Archive page                                     */

.archive-page .inner {
	max-width: 1194px;
/*	text-align: justify;
	text-justify: auto;
*/}

.archive-cols .col p:first-of-type {
	margin-top: 0;
	text-align: left;
}

.cols-flex figure {
	position: relative;
}

.cols-flex figure {
	float: right;
	width: 50%;
}

.archive-intro figure {
	float: right;
	max-width: calc(40vw - 20px);
}

.archive-lower .archive-intro {
	max-width: 740px;
}

.cols-flex figure img {
	display: block;
	max-width: 100%;
	padding: 0 0 0 20px;

}

.cols-flex figure figcaption {
	font-size: 12px;
	line-height: 12px;
	position: absolute;
	bottom: 0;
	left: 0.5em;
}

.archive-intro .imagestrip {
	overflow: hidden;
	margin-left: -20px;
}

.archive-intro .imagestrip figure {
	max-width: unset;
	float: left;
	margin-bottom: 1em;
}

.heritage .archive-intro .imagestrip figure {
	float: none;
	width: 100%;
	text-align: center;
	margin-bottom: 2em;
}

.heritage .archive-intro .imagestrip figure img {
	display: inline;
}

.heritage .archive-intro .imagestrip figure figcaption {
	position: relative;
}

/*.archive-intro .imagestrip,
.archive-intro .imagestrip .cms_text {
	margin-top: auto;
	display: flex;
	flex-direction: row;
	max-width: 100%;
	text-align: left;
	position: relative;
}

.archive-intro figure:last-of-type {
	margin-right: 0;
}

.cols-flex .imagestrip figure {
	flex-shrink: 1;
	align-self: flex-end;
}

.cols-flex .imagestrip {
	position: relative;
	left: -20px;	
}*/

.archive-cols {
	margin-bottom: 40px;
}

.archive-lower figure {
	max-width: none;
	float: none;
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
}

.archive-lower figure img {
	margin: 0 auto;
	padding: 0;
}

.archive-lower figure figcaption {
	position: relative;
}

.archive-page .inner h2 {
	text-transform: uppercase;
	color: rgb(var(--cps_blue));
	font-weight: bold;
	font-size: 20px;
}

.archive-lower .smaller p:first-of-type,
.archive-lower .archive-intro .archive-feature p:first-of-type {
	font-size: 14px;
	color: rgb(var(--cps_grey));
	line-height: 20px;
	font-weight: normal;
}

.sidebar_contact label {
	text-transform: uppercase;
}

.sidebar_contact textarea,
.basic_form textarea {
	border: 1px solid rgb(var(--cps_brandgrey));
	border-radius: 20px;
	border-bottom-right-radius: 0;
	width: 100%;
	outline: none;
	min-height: 150px;
	padding: 10px;
	font-family: Montserrat, arial, sans-serif;
	caret-color: rgb(var(--cps_hotpink));
}

.text-page .inner ul.cross-link li {
	padding: 20px;
	border: 1px solid rgb(var(--cps_brandgrey));
}

.credits {
	margin-top: 20px;
}

.archive-lower .smaller .credits p, .archive-lower .smaller .credits p:first-of-type {
	font-size: 12px;
	color: rgb(var(--cps_altblue));
}

@media ( min-width: 1194px ) {
	
	.archive-page .inner {
		text-align: left;
	}
	
	.text-page .cols-flex {
		display: flex;
		flex-direction: row;
	}
	
	.cols-flex .smaller {
		display: flex;
	}
	
	.cols-flex .smaller figure,
	.cols-flex .smaller figure img {
		height: 100%;
	}
	
	.cols-flex .lower-images figure,
	.cols-flex .lower-images figure img {
		height: auto;
		max-width: 100%;
		min-width: 250px;
	}
	
	.archive-intro .imagestrip,
	.heritage .archive-intro .imagestrip,
	.heritage .archive-intro .imagestrip .cms_text,
	.archive-intro .imagestrip .cms_text {
		margin-top: auto;
		display: flex;
		max-width: 100%;
		position: static;
	}
	
	.archive-intro figure,
	.heritage .archive-intro figure {
		margin-right: 20px;
		flex-grow: 1;
	}
	
	.heritage .archive-intro .imagestrip,
	.archive-intro .imagestrip {
		overflow: visible;
		margin-left: 0;
	}
	
	.archive-intro .imagestrip figure {
		margin-bottom: 0;
	}
	
	.heritage .archive-intro .imagestrip figure {
		margin-bottom: 0;
	}
	
	.heritage .archive-intro .imagestrip figure figcaption {
		position: absolute;
	}
	
	.archive-intro {
		display: flex;
		flex-direction: column;
		padding-left: 44px;
	}
	
	.archive-intro figure{
		float: none;
		width: auto;
		max-width: none;
	}
	
	.cols-flex figure {
		float: none;
		width: auto;
	}
	
	.cols-flex figure img {
		display: block;
		height: 100%;
		padding: 0;
		max-width: none;
	}

	.cols-flex figure figcaption {
		position: absolute;
		bottom: 0;
		left: -1em;
	}
	
	.archive-lower .archive-intro {
		padding-left: 0;
	}
	
	.archive-lower {
		flex-direction: row;
	}
	
	.archive-lower .archive-intro p:first-of-type {
		font-size: 17px;
		color: rgb(var(--cps_altblue));
		line-height: 25.5px;
		font-weight: bold;
	}
	
	.archive-lower .smaller {
		max-width: 375px;
		padding-left: 10px;
		margin-left: 60px;
		flex-wrap: wrap;
	}
	
	.archive-lower .smaller figure {
		height: auto;
	}
	
}

/*--------------------------------------------------*/
/* Product Pages                                    */

.add-to-basket {
	border-radius: 30px;
	border: 1px solid rgb(var(--cps_lightgrey));
	margin-top: 30px;
	margin-bottom: 30px;
	padding: 30px;
}

.add-to-basket h3:first-of-type {
/*	font-size: 30px !important;
	margin-bottom: 20px !important;
	color: rgb(var(--cps_altblue));
*/
	text-transform: uppercase;
	font-weight: bold;
	font-size: 20px !important;
	display: inline-block;
	float: none;
}

.add-to-basket input[type=radio] {
	clear: both;
	position: relative;
	top: 5px;
	float: left;
}

.add-to-basket p:first-of-type {
	font-size: 19px !important;
	margin-top: 20px !important;
}

.product-page ul.breadcrumblist {
	text-align: left;
	margin: 0;
	color: rgb(var(--cps_grey));
}

.product-page ul.breadcrumblist a {
	color: rgb(var(--cps_grey));
}

.add-to-basket .option {
	clear: both;
	display: none;
}

.add-to-basket .option p {
	clear: both;
	font-size: 16px !important;
	margin-top: 10px !important;
}

.add-to-basket .price-wrap {
	padding: 5px 0;
	padding-top: 10px;
}

.add-to-basket .price-wrap:first-of-type {
	padding-bottom: 10px;
	padding-top: 0;
	border-bottom: 1px solid rgb(var(--cps_lightgrey));
}

.add-to-basket .price-wrap label {
	padding-right: 30px;
}

.add-to-basket .price-wrap label span.price {
	color: rgb(var(--cps_brandgrey));
	font-size: 0.8em;
	float: right;
}

span.orText {
	font-weight: bold;
}

/*.add-to-basket .price-wrap input[type=radio] ~ label {
	text-transform: lowercase;
}*/

.add-to-basket .price-wrap input[type=radio] ~ label span.orText {
	text-transform: capitalize;
}

.add-to-basket .price-wrap input[type=radio]:checked ~ label {
	text-transform: none;
}

.add-to-basket .price-wrap input[type=radio]:checked ~ label span.orText {
	display: none;
}

.add-to-basket .price-wrap input[type=radio]:checked ~ label span.price {
	display: none;
}

.add-to-basket .price-wrap input[type=radio]:checked ~ div {
	visibility: visible;
	opacity: 1;
	position: relative;
}

.add-to-basket .price-wrap input[type=radio] ~ div {
	position: absolute;
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s, opacity 0.5s linear;
}

.add-to-basket .price-wrap label {
	color: rgb(var(--cps_blue));
	cursor: pointer;
	position: relative;
	padding-left: 25px;
}

.add-to-basket .price-wrap label:before {
	display: flex;
    content: ' ';
    height: 15px;
    width: 15px;
    border: solid 1px rgb(var(--cps_blue));
	border-radius: 50%;
    background: #fff;
    margin-right: 10px;
	position: absolute;
	top: 0;
}
.add-to-basket .price-wrap label:after { 
 	content: ' ';
    border-radius: 50%;
	transform: scale(0);
}

.add-to-basket .price-wrap input[type=radio]:checked ~ label:after {
	transform: scale(1);
    position: absolute;
    top: 4px;
    left: 4px;
    display: flex;
    content: ' ';
    height: 9px;
    width: 9px;
    background: rgb(var(--cps_blue));
    transition: transform .3s ease;
}


.add-to-basket .price-wrap input {
	display: none;
}

.add-to-basket {
	overflow: hidden;
}

.add-to-basket h3.label {
	float: left;
	text-align: left;
	text-transform: uppercase;
	color: rgb(var(--cps_grey));
	padding-left: 20px;
}

.add-to-basket .price-wrap .price_display_description p {
	font-size: 14px !important;
	margin-top: 0 !important;
}

.hr hr {
	display: none;
}

.hr {
	clear: both;
	padding-top: 10px;
	border-bottom: 1px solid rgb(var(--cps_blue));
	margin-top: 10px;
	margin-bottom: 20px;
}

p.price {
	color: rgb(var(--cps_blue));
	font-size: 22px;
}

select#platform {
	margin-bottom: 10px;
}

.icon-list {
	margin-top: 100px;
	margin-left: 20px;
	margin-right: 20px;
	width: 100%;
    display: flex;
    justify-content: center;
}

.icon-list .duration svg,
.icon-list .online svg {
	min-height: 50px;
} 

.icon-list svg {
	fill: #fff !important;
	max-height: 50px;
}

.icon-list svg path {
	color: #fff;
}

.icon-list dl {
	display: flex;
	flex: 1 1 0;
	flex-direction: row;
}

.icon-list dl div {
	max-width: 200px;
	margin-right: 40px;
}

.icon-list dl div dt,
.icon-list dl div dd {
	text-align: center;
}

.icon-list dl div dd {
	margin-top: 10px;
}

.icon-list dl div:last-of-type {
	margin-right: 0;
}

@media (min-width: 1150px) { 
	
	.icon-list {
		margin-top: 20px;
		position: absolute;
		bottom: 40px;
		left: 40px;
		justify-content: flex-start;
	}
}


@media (min-width: 1200px) { 
	
	.add-to-basket {
		margin-left: 40px;
		margin-top: 0;
	}
	
}


/*--------------------------------------------------*/
/* Advanced filters                                 */

.advanced_inner {
	margin: 10px 0;
	padding: 0 20px;
	padding-top: 20px;
}

.advanced_inner h2 {
	text-transform: uppercase;
	color: rgb(var(--cps_grey));
	font-weight: bold;
	font-size: 20px;
	display: block;
	text-align: left;
	padding-bottom: 10px;
	border-bottom: 1px solid rgb(var(--cps_blue));
}

.advanced_inner .drop-downs {
	width: 100%;
	padding-bottom: 25px;
	border-bottom: 1px solid rgb(var(--cps_blue));
	margin-bottom: 20px;
}


.advanced_inner .drop-downs .row {
	margin-top: 30px;
}

.advanced_inner .drop-downs .row:first-of-type {
	margin-top: 0;
}

.advanced_inner .drop-downs .row label {
	width: 250px;
	text-align: left;
	display: block;
	font-size: 16px;
	padding-right: 10px;
	margin-bottom: 5px;
}

.advanced_inner .drop-downs label {
	text-transform: uppercase;
}

.advanced_inner .drop-downs .row:nth-child(odd) label {
	margin-left: 0;
}

.advanced_inner .buttons {	
	text-align: right;
}

.advanced_inner .buttons a,
.advanced_inner .buttons input[type=submit] {
	width: auto;
	display: inline-block !important;
}

#page_container .inner .advanced_inner .buttons a {
	border-color: rgb(var(--cps_blue));
	background: #fff;
	color: rgb(var(--cps_blue));
	margin-right: 30px;
}

#page_container .inner .advanced_inner .buttons a:hover {
	border-color: rgb(var(--cps_brandgrey));
	color: rgb(var(--cps_brandgrey));
}

#page_container .inner .advanced_inner .buttons input[type=submit] {
	background: rgb(var(--cps_blue)) !important;
	cursor: pointer;
}

#page_container .inner .advanced_inner .buttons input[type=submit]:hover {
	background: rgb(var(--cps_brandgrey)) !important;
}

#page_container .inner .advanced_inner nav {
	margin-bottom: 20px;
}

@media (min-width: 1000px) {
	
	.advanced_inner .drop-downs .row {
		margin-top: 0;
		margin-bottom: 30px;
	}
	
	.advanced_inner .drop-downs {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		padding-bottom: 0;
	}
	
	.advanced_inner .drop-downs .row {
		display: flex;
		width: 50%;
		max-width: 50%;
		flex-grow: 0;
		align-items: center;
		justify-content: center;

	}
	
	.advanced_inner .drop-downs label {
		margin-bottom: 0;
		margin-top: 5px;
	}
	
	.advanced_inner .drop-downs .row label {
		width: auto;
		display: block;
		width: 170px;
		max-width: 50%;
		padding-right: 30px;
	}

	.advanced_inner .drop-downs .row:nth-of-type(even) label {
		padding-left: 30px;
		padding-right: 0;
	}
	
	#p_consultations .advanced_inner .drop-downs .row:nth-of-type(even) label {
		padding-left: 15px;
		padding-right: 3px;
	}

	
	#page_wrapper .advanced_inner .drop-downs .row select {
		width: 70%;
	}
	
}

/*--------------------------------------------------*/
/* Basket Page                                      */

.user-auth .basket-inner {
	max-width: 1310px;
	margin: 0 auto;
	padding: 60px 30px;

}

.basket-cols {
	margin: 0 auto;
}

.empty-basket {
	padding: 20px;
	border-radius: 30px;
	background: white;
}

.table-wrapper {
	border: 1px solid rgb(var(--cps_lightgrey));
	border-radius: 30px;
	background: white;
}

.table-wrapper table th {
	display: none;
}

.table-wrapper table th,
.table-wrapper table td {
	padding: 30px;
}

.table-wrapper table tr td {
	border-bottom: 1px solid rgb(var(--cps_lightgrey));
}

.table-wrapper table tr:last-of-type td {
	border-bottom: 0;
}

.basket-cols .main-basket table td
.basket-cols .main-basket table th
{
	border-bottom: 1px solid rgb(var(--cps_grey));
	padding: 10px;
}

.basket-cols .main-basket table {
	border-radius: 30px;
	width: 100%;
}

.basket-cols .main-basket table th {
	text-align: left;
}

.basket-cols .main-basket table td a {
	text-decoration: none;
} 

.basket-cols .main-basket table td a h2 {
	font-size: 20px;
	margin-bottom: 0;
	text-decoration: none;
}

.basket-cols .main-basket table td a {
	color: rgb(var(--cps_blue));
}

.basket-cols .main-basket table td h2:hover {
	color: rgb(var(--cps_altblue));
}

.basket-cols .main-basket table td input[type=submit] {
	border: 0;
	background: 0;
	text-decoration: underline;
	color: rgb(var(--cps_blue));
}

.basket-cols .main-basket table td.membership {
	background: rgb(var(--cps_blue));
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
	color: #fff;
}

.basket-cols .main-basket table td.membership a {
	color: #fff
}

.basket-cols .basket-right {
	margin-top: 30px;
}

.basket-cols .basket-right .basket-side {
	border: 1px solid rgb(var(--cps_lightgrey));
	border-radius: 30px;
	padding: 30px;
	margin-bottom: 30px;
	background: white;
}

.basket-cols .basket-right .basket-side .check-margin {
	margin-bottom: 10px;
}


.basket-cols .basket-right h3 {
	font-size: 19px;
}

#page_container .inner a.purchase-button,
#page_container .inner input.purchase-button {
	width: 100%;
	background: rgb(var(--cps_hotpink));
	cursor: pointer;
}

#page_container .inner td.membership input.purchase-button {
	margin-top: 20px;
	color: rgb(var(--cps_blue));
	background: #fff;
}

#page_container .inner td.membership input.purchase-button:hover {
	background: rgb(var(--cps_brandgrey));
	color: #fff;
	border-color: rgb(var(--cps_brandgrey));
}

.totals p {
	font-size: 20px;
	color: rgb(var(--cps_blue));
}

.single_form .text input {
	width: 200px;
}

.single_form .submit input {
	margin-top: 10px;
}

.single_form .submit input:hover {
	background: rgb(var(--cps_brandgrey));
	color: #fff;
	border-color: rgb(var(--cps_brandgrey));
}

.basket-timeout {
	margin-top: 3em;
}

@media ( min-width: 850px ) {
	.wrap-two {
		display: flex;
	}
		
	.wrap-two .basket-side {
		width: calc(50% - 15px);
	}
	
	.wrap-two .basket-side:first-of-type {
		margin-right: 30px;
	}
	
	.basket-cols .totals {
		clear: both;
		width: 100%;
	}	
}


@media ( min-width: 1150px ) {
	
	.wrap-two {
		display: block;
	}
	
	.wrap-two .basket-side {
		width: 100%;
	}
	
	.wrap-two .basket-side:first-of-type {
		margin-right: 0;
	}
	
	.basket-cols {
		display: flex;
	}
	
	.basket-cols .main-basket {
		width: 56%;
	}
	
	.basket-cols .basket-right {
		width: 44%;
		padding-left: 40px;
		margin-top: 0;
	}
	
}

@media ( min-width: 1250px ) {
	
	.basket-cols .basket-right {
		width: 44%;
		padding-left: 100px;
	}
}

p.basket-presenter {
	margin-bottom: 0;
}

p.basket-date {
	margin-top: 0.5em;
	margin-bottom: 0;
	font-size: 14px;
}

.basket-cols .main-basket table .remover input[type=submit] {
	cursor: pointer;
	margin-top: 0.8em;
	color: #fff;
	border-radius: 5px;
	padding: 5px 10px;
	background: rgb(var(--cps_blue));
	text-decoration: none;
	font-size: 11px;
}

.basket-cols .main-basket table .remover input[type=submit]:hover {
	background: rgb(var(--cps_altblue));
}

.instalment_info {
	font-size: 12px;
}

.instalment_info span {
	display: inline-block;
	background: rgb(var(--cps_hotpink));
	padding: 5px;
	color: #fff;
	border-radius: 10px;
	font-size: 10px;
	margin-right: 10px;
}

span.voucher-basket {
	font-size: 0.7em !important;
}

/*--------------------------------------------------*/
/* Instalment Info Page                             */

#p_basket_instalment table.schedule_table {
	text-align: left;
	width: 100%;
}

#p_basket_instalment table.schedule_table thead th {
	padding: 5px 10px;
	color: #fff;
	border: 1px solid rgb(var(--cps_altblue));
	background: rgb(var(--cps_altblue));
}

#p_basket_instalment p.larger {
	font-size: 1.1em;
	font-weight: bold;
}

/*--------------------------------------------------*/
/* Payment Page                                     */

#card-element {
	border: 1px solid rgb(var(--cps_brandgrey));
	border-radius: 30px;
	padding: 20px;
}

#card-errors {
	padding: 5px;
	color: #c50000;
}

/*--------------------------------------------------*/
/* Contact Us page                                  */

.contact-form {
	background: #fff;
	padding: 40px;
	margin-bottom: 40px;
}

.contact-form p {
	max-width: 50%;
	font-size: 0.9em;
	background: rgb(var(--cps_blue));
	padding: 10px;
	color: #fff;
	margin-top: 20px !important;
}

.contact-form form {
	max-width: 880px;
}

.text-page .contact-form h2 {
	color: rgb(var(--cps_blue));
	font-size: 35px;
	line-height: 42px;
}

#gMap {
	width: 100%;
	height: 400px;
	margin-bottom: 40px;
}

.contact-info,
.social-info {
	background: #fff;
	padding: 20px;
	font-size: 14px;
	line-height: 1.5em;
	margin-bottom: 40px;
}

.text-page .contact-info h3,
.text-page .contact-sidebar h2 {
	color: rgb(var(--cps_blue));
	border-bottom: 1px solid rgb(var(--cps_blue));
	font-size: 20px;
	padding-bottom: 5px;
	margin-bottom: 1em;
}

#p_contact_us .landing-cols {
	padding-bottom: 40px;
}

.text-page .inner ul.error_list {
	margin-left: 0;
}

#p_cms_page .text-page .inner .social-info {
	border: 1px solid rgb(var(--cps_lightgrey));
	margin-bottom: 50px;
}

.social-info svg {
	width: 30px;
	fill: rgb(var(--cps_blue));
}

.social-info svg polygon,
.social-info svg g {
	fill: rgb(var(--cps_blue));
}

.social-info svg polygon {
	fill: #ffffff;
	fill-opacity: 1;
}

.text-page .inner .social-info {
	margin-bottom: 0;
	margin: 0 30px;
}

#p_contact_us .text-page .inner .social-info {
	margin: 0;
}

@media (min-width: 768px) {
	.text-page .inner .social-info {
		margin: 0 15px;
	}
	
	#p_contact_us .text-page .inner .social-info {
		margin: 0;
	}
}


.text-page .inner .social-info ul {
	list-style-type: none;
	margin-left: 0;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
}

.text-page .inner .social-info ul li {
	padding-right: 30px;
}

.text-page .inner .social-info ul li:last-of-type {
	padding-right: 0;
}

@media (min-width: 1300px) {
	
	.text-page .inner .social-info {
		float: right;
		width: 300px;
		margin: 0;
	}
	
	.text-page .inner .social-info  ul {
		display: inline;
	}
	
	.text-page .inner .social-info  ul li {
		padding-right: 0;
	}
	
	#p_contact_us .text-page .inner .social-info {
		margin-left: 20px;
		width: auto;
	}
	
	#p_contact_us .text-page .inner .col-left {
		padding-bottom: 0;
	}
	
}
.social-info ul li {
	margin-left: 0;
	padding-left: 0;
	margin-bottom: 1em;
	line-height: 30px;
}

.social-info ul li a {
	text-decoration: none;
}

.social-info ul li a span {
	position: relative;
	top: -10px;
	padding-left: 10px;
}

.social-info ul li a:hover,
.social-info ul li a:hover svg,
.social-info ul li a:hover svg g {
	color: rgb(var(--cps_altblue));
	fill: rgb(var(--cps_altblue));
}

@media ( min-width: 850px ) {
	.contact-form {
		background: #fff url('/a/img/contact-us/college.jpg') no-repeat top right;
		background-size: 45% 100%;
	}
	
	.contact-form form {
		width: 55%;
		padding-right: 30px;
	}
	
	.contact-form p.success {
		width: calc(55% - 30px);
	}
}

@media (min-width: 1200px) {
	.contact-info {
		margin-left: 20px;
	}
}

/*--------------------------------------------------*/
/* Whats On Lister Pages                            */

.sub-navigation .intro {
	max-width: 980px;
	margin: 0 auto;
	padding: 0 20px;
}

.sub-navigation .intro p {
	font-size: 21px;
	line-height: 1.4em; 
	text-align: center;
	color: rgb(var(--cps_grey));
	margin-top: 0;
	margin-bottom: 24px;
}

@media (min-width: 900px) {
	.sub-navigation .intro p {
		font-size: 25px;
		line-height: 1.4em; 
		margin: 1em 0;
	}
}

.filter-advanced {
	max-width: 980px;
	text-align: center;
	margin: 0 auto;
}

#page_container .inner .filter-advanced a#adv_reveal {
	margin: 0 auto;
	padding: 10px;
	background: #fff;
	border-color: rgb(var(--cps_grey));
	color: rgb(var(--cps_grey));
	font-size: 14px;
	display: inline-block;
}

#page_container .inner .filter-advanced a#adv_reveal:hover {
	background: rgb(var(--cps_blue));
	border-color: rgb(var(--cps_blue));
	color: #fff;
}

.page_heading {
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
	padding-top: 40px;
}

.page_heading h2 {
	font-size: 28px;
	line-height: normal;
	text-transform: uppercase;
	font-weight: bold;
}


@media ( min-width: 900px ) {
	#page_container .inner .filter-advanced a#adv_reveal {
		width: calc(33% - 20px);
	}
}

/*--------------------------------------------------*/
/* Product Listers                                  */

.product-lister {
	background: #fff;
}

.product-lister ul {
	padding: 30px;
	justify-content: center;
}

.product-lister ul li {
	margin-left: 0;
	padding-bottom: 20px;
	display: flex;
	flex-direction: column;
	max-width: 100%;
	position: relative;
}

.product-lister ul li img {
	max-width: 100%;
	width: 100%;
}

.product-lister ul li .cal-icon {
	position: absolute;
	z-index: 2;
	top: -10px;
	left: 20px;
	width: 60px;
}

.product-lister ul li .cal-icon .cal-month {
	color: #fff;
	text-transform: uppercase;
	width: 60px;
	font-size: 18px;
	background: #bd151c;
	display: block;
	padding: 10px;
	padding-bottom: 8px;
	text-align: center;
}

.product-lister ul li .cal-icon .cal-day {
	color: #fff;
	width: 60px;
	font-size: 28px;
	display: block;
	text-align: center;
	padding: 15px 10px;
	padding-bottom: 110px;
	margin-top: 4px;
	background: #1db3e6;
	background: linear-gradient(30deg, rgba(29,179,230,0) 64%, rgba(29,179,230,255) 65%), linear-gradient(330deg, rgba(29,179,230,0) 64%, rgba(29,179,230,255) 65%);
}

.product-lister ul li .archive {
	position: absolute;
	z-index: 2;
	top: -10px;
	left: 20px;
	color: #fff;
	text-transform: uppercase;
	width: 140px;
	font-size: 15px;
	background: rgb(var(--cps_brandgrey));
	display: block;
	padding: 10px;
	padding-bottom: 8px;
	text-align: center;
}

.product-lister ul li .sold_out,
.product-lister ul li .cancelled {
	background: #c50000;
	left: auto;
	right: 20px;
	font-weight: bold;
}

.product-lister ul li .unpub {
	background: #c50000;
	left: auto;
	right: 20px;
	font-weight: bold;
}

.product-lister ul li h3 {
	text-transform: uppercase;
	font-size: 16px;
	line-height: 1.4em;
	font-weight: bold;
	padding-bottom: 10px;
}

.product-lister ul li h3 a {
	text-decoration: none;
}

.product-lister ul li .image-wrap {
	position: relative;
}

.product-lister ul li .image-wrap .icon {
	width: 30px;
	position: absolute;
	bottom: 20px;
	left: 25px;
}

.product-lister ul li .image-wrap.both_icons .icon {
	width: 70px;
	position: absolute;
}

.product-lister ul li .image-wrap.both_icons .icon svg {
	width: 30px;
}

.product-lister ul li .image-wrap.both_icons .icon svg:first-of-type {
	margin-right: 10px;
}

.product-lister ul li .image-wrap .icon abbr {
	cursor: pointer;
}

.product-lister ul li .image-wrap .icon svg {
	fill: white;
	filter: drop-shadow( 2px 2px 2px rgba(0, 0, 0, .5));

}

.product-lister ul li.unpub {
	border: 1px solid #c50000;
}

.product-lister ul li.unpub p.unpubtext {
	position: absolute;
	bottom: -30px;
	display: inline-block;
	color: #c50000;
	font-size: 12px;
}

p.no-results,
.no-results p {
	font-size: 20px;
	color: rgb(var(--cps_blue));
	text-align: center;
	margin-bottom: 80px;
	line-height: normal;
}

.no-results p {
	margin-bottom: 1em;
}

div.no-results {
	margin-bottom: 80px;
}

p.leader {
	font-weight: bold;
	margin-bottom: 0;
	font-size: 16px;
}

p.type {
	margin-top: 0;
	margin-bottom: 3px;
	font-weight: bold;
}

.in-person-float {
	position: absolute;
	bottom: -5px;
	left: 10px;
	color: #fff;
    text-transform: uppercase;
    width: 200px;
    font-size: 12px;
    background: #bd151c;
    display: block;
    padding: 5px;
    padding-bottom: 3px;
    text-align: center;
	font-weight: bold;
}

p.short_desc {
	margin-top: 0;
}

.lister-lower {
	margin-top: auto;
}

@media (min-width: 650px) {
	.lister-lower {
		display: flex; /* needed for prod pages - not home */
	}
	
	.lister-lower .btn {
		width: calc(40% - 10px);
		margin-left: 20px;
		
		align-self: flex-end;
	}
	
	.lister-lower .pricing {
		width: calc(35% - 10px);
		align-self: flex-end;
	}
	
	.lister-lower .pricing p {
		margin-bottom: 0;
	}
	
}




#page_container .inner .lister-lower .btn a.button {
	font-weight: normal;
}

.short_desc p:first-of-type {
	margin-top: 0;
}

#page_container .inner #load-more {
	width: 200px;
	margin: 0 auto;
	margin-top: 10px;
	margin-bottom: 60px;
	background: rgb(var(--cps_blue));
}


.sub-navigation .notice-covid {
	background: rgb(var(--cps_blue));
	color: #fff;
	font-size: 15px;
	line-height: normal;
	text-align: center;
	padding-right: 15px;
}

.sub-navigation .notice-covid p {
	margin: 0;
	display: inline;
}

.sub-navigation .notice-covid a {
	color: #fff;
	font-weight: normal;
	padding: 3px;
}

.sub-navigation .notice-covid a:hover {
	color: rgb(var(--cps_blue));
	background: #fff;
	text-decoration: none;
}

#page_container .inner .advanced_inner .buttons a {
	min-width: 0;
}

.prodlist_heading h2 {
	margin-bottom: 0;
}

.prodlist_heading {
	margin-bottom: 28px;
}

.prodlist_heading.consultation h2 {
	color: rgb(var(--cps_talklight));
}

@media (min-width: 650px) {
	
	#page_container .inner .advanced_inner .buttons a {
		min-width: 200px;
	}
	
	.product-lister ul {
		margin-top: -50px;
		grid-template-columns: repeat(auto-fill, 399px);
		max-width: 1500px;
	}
	
	.product-lister ul li {
		max-width: 399px;
	}
	
	.product-lister ul li img {
		max-width: 399px;
		width: 100%;
	}

}

@media (min-width: 1200px) {
	.product-lister ul {
		padding: 50px;
	}
	
	.lister-lower .pricing {
		width: calc(45% - 10px);
	}
	
	.lister-lower .btn {
		width: calc(40% - 10px);
	}
}


/*--------------------------------------------------*/
/* Colour Waves                                     */

.product-lister li.on-demand h2,
.product-lister li.on-demand h3,
.product-lister li.on-demand h3 a,
.product-lister li.on-demand p.type {
	color: rgb(var(--cps_purple));
	border-color: rgb(var(--cps_purple));
}

#page_container .product-lister li.on-demand .button {
  background: rgb(var(--cps_purple));
  background: linear-gradient(to right, rgb(var(--cps_purple)), rgb(var(--cps_lightpurple)) 77%); 
}

.product-lister li.on-demand {
	border-color: rgb(var(--cps_purple));
}

/* Events */

.product-lister li.events h2,
.product-lister li.events h3,
.product-lister li.events h3 a,
.product-lister li.events p.type {
	color: rgb(var(--cps_orange));
	border-color: rgb(var(--cps_orange));
}

#page_container .product-lister li.events .button,
.sub-navigation nav ul li.special_events a {
  background: rgb(var(--cps_orange));
  background: linear-gradient(to right, rgb(var(--cps_orange)), rgb(var(--cps_lightorange)) 77%); 
}

.product-lister li.events {
	border-color: rgb(var(--cps_orange));
}

/* Consultations */

.product-lister li.consultation h2,
.product-lister li.consultation h3,
.product-lister li.consultation h3 a,
.product-lister li.consultation p.type {
	color: rgb(var(--cps_talklight));
	border-color: rgb(var(--cps_talklight));
}

#page_container .product-lister li.consultation .button {
  background: rgb(var(--cps_talkblue));
  background: linear-gradient(to right, rgb(var(--cps_talkblue)), rgb(var(--cps_talklight)) 77%); 

}

.product-lister li.consultation {
	border-color: rgb(var(--cps_talkblue));
}

/* Workshops */

.product-lister li.workshops h2,
.product-lister li.workshops h3,
.product-lister li.workshops h3 a,
.product-lister li.workshops p.type {
	color: rgb(var(--cps_blue));
	border-color: rgb(var(--cps_blue));
}

#page_container .product-lister li.workshops .button,
.sub-navigation nav ul li.workshops a {
  background: rgb(var(--cps_gradleft));
  background: linear-gradient(to right, rgb(var(--cps_gradleft)), rgb(var(--cps_gradblue)) 77%); 

}

.product-lister li.workshops {
	border-color: rgb(var(--cps_blue));
}

/* Talks */

.product-lister li.talks h2,
.product-lister li.talks h3,
.product-lister li.talks h3 a,
.product-lister li.talks p.type {
	color: rgb(var(--cps_eventblue));
	border-color: rgb(var(--cps_eventblue));
}

#page_container .product-lister li.talks .button,
.sub-navigation nav ul li.talks a {
  background: rgb(var(--cps_eventblue));
  background: linear-gradient(to right, rgb(var(--cps_eventblue)), rgb(var(--cps_eventpink)) 77%); 

}

.product-lister li.events {
	border-color: rgb(var(--cps_eventblue));
}



/* Coursesff */

.product-lister li.courses h2,
.product-lister li.courses h3,
.product-lister li.courses h3 a,
.product-lister li.courses p.type {
	color: rgb(var(--cps_green));
	border-color: rgb(var(--cps_green));
}

#page_container .product-lister li.courses .button,
.sub-navigation nav ul li.courses a {
  background: rgb(var(--cps_green));
  background: linear-gradient(to right, rgb(var(--cps_green)), rgb(var(--cps_yellowgreen)) 77%); 

}

.product-lister li.courses {
	border-color: rgb(var(--cps_green));
}


#page_container .product-lister li .button:hover {
	background: rgb(var(--cps_brandgrey));
}


/*--------------------------------------------------*/
/* Product Page                                     */

.product-banner {
	background: rgb(var(--cps_orange));
	background: linear-gradient(90deg, rgba(230,57,41,1) 0%, rgba(246,182,8,1) 100%);
	max-width: 1500px;
	margin: 0 auto;
}

.product-banner.on_demand {
	background: rgb(var(--cps_purple));
	background: linear-gradient(90deg, rgba(100,34,131,1) 0%, rgba(15,87,119,1) 100%);
}

.product-banner.courses {
	background: rgb(var(--cps_green));
	background: linear-gradient(90deg, rgba(0,93,75,1) 0%, rgba(212,187,10,1) 100%);
}

.product-banner.workshops {
	background: rgb(var(--cps_blue));
	background: linear-gradient(90deg, rgba(0,72,157,1) 0%, rgba(0,180,193,1) 100%);
}

.product-banner.consultation {
	background: rgb(var(--cps_red));
	background: linear-gradient(113deg, rgba(1,62,113,1) 0%, rgba(41,141,129,1) 100%);
}

.product-banner .inner {
	background: none;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: flex-center;
	padding-bottom: 20px;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
}


.product-banner .inner a,
.product-banner .inner,
.product-banner .breadcrumblist li,
.product-banner .inner h2.author {
	color: #fff;
}

.product-banner .inner h2.author {
	font-size: 32px;
	margin-top: 19px;
	line-height: normal;
}

.product-banner .inner .breadcrumblist  {
	font-size: 14px;
	width: 100%;
	background: none;
}

.product-banner .inner h1,
.product-banner .inner h2,
.product-banner .inner p.dates
{
	width: 100%;
}

.product-banner .inner p.dates {
	margin: 0;
	font-size: 18px;
}

.product-page .inner .product-section:first-of-type p:first-of-type,
.product-page .inner h3 {
	color: rgb(var(--cps_blue));
}

.product-page .inner h2 {
	margin-bottom: 20px;
	font-weight: bold;
	color: rgb(var(--cps_blue));
}

.product-page .preview {
	padding: 20px 0;
}

.product-page .leader-info,
.product-page .venue-info {
	padding: 30px;
    border: 1px solid rgb(var(--cps_lightgrey));
	border-radius: 30px;
}

.product-page .venue-info {
	margin-bottom: 30px;
}

.product-page .leader-info .leader-inner {
	padding-bottom: 30px;
	border-bottom: 1px solid rgb(var(--cps_brandgrey));
	margin-bottom: 10px;
	overflow: hidden;
}

.product-page .leader-info .leader-inner:last-of-type {
	padding-bottom: 0;
}

.product-page .leader-info .leader-inner:nth-of-type(2) {
	margin-top: 25px;
}

#page_container .product-page .leader-info .leader-inner a.button {
	display: inline-block !important;
	padding: 10px 40px;
	margin-top: 10px;
}

#page_container .product-page .leader-info .leader-inner a.button:hover {
	background: #fff;
	border-color: rgb(var(--cps_blue));
	color: rgb(var(--cps_blue));
}

.product-page .leader-info .leader-inner img {
	margin-bottom: 20px;
	max-height: 200px;
	display: block;
	margin: 0 auto;
}

@media (min-width: 400px) {
	.product-page .leader-info .leader-inner img {
		margin-right: 20px;
		float: left;
	}
}

.product-page .leader-info .leader-inner:last-of-type {
	border-bottom: 0;
	margin-bottom: 0;
}

.description_lower {
	padding-top: 30px;
}

.time_con_notice {
	margin-top: 0;
	color: rgb(var(--cps_blue));
}

.time_help,
.time_help_con {
	position: relative;
	left: 5px;
}

.time_help a,
.time_help_con a {
	text-decoration: none;
}

.time_help svg,
.time_help_con svg {
	fill: #ffffff;
	height: 0.9em;
	position: relative;
	top: 2px;
	left: 1px;
}

.time_help_con svg {
	fill: rgb(var(--cps_blue));
}

h3.schedule_head {
	font-weight: bold;
}

.schedule_table {
	margin-bottom: 20px;
	margin-top: 20px;
	font-size: 14px;
	text-align: left;
}

.schedule_table tr th {
	padding: 5px 10px;
	color: #fff;
	font-weight: normal;
	background: rgb(var(--cps_lightgrey));
}

.schedule_table tr td {
	padding: 5px 10px;
	border: 1px solid rgb(var(--cps_lightgrey));
}

.schedule_table tr td:first-of-type {
}


.smaller_note {
	font-weight: bold;
	font-size: 0.8em;
}

@media (max-width: 1200px) {
	.product-page .cols {
		display: flex;
		flex-direction: column-reverse;
	}
	
	.add-to-basket {
		margin-top: 0;
		position: sticky;
		bottom: 0;
	}
	
	.leader-info {
		margin-bottom: 30px;
	}
	
	
}

@media (min-width: 1150px) { 
	
	.add-to-basket.js-is-stuck {
		position: sticky;
		top: 160px;
	}
	
		
	.product-banner .inner {
		align-items: flex-start;
		justify-content: normal;
		padding-top: 30px;
		padding-left: 60px;
		padding-right: 0;
		padding-bottom: 150px;
	}
	.product-banner .inner,
	.product-banner .inner .breadcrumblist {
		text-align: left;
	}
	
	.product-banner .inner h1,
	.product-banner .inner h2 {
		max-width: 57%;
	}
	
	.product-banner .inner h1 {
		font-size: 65px;
	}
	
	/*--------------------------------------------------*/
	/* Webp versions grainy on font detail... dont use  */
	
	.product-banner.consultation .inner {
		background: url('/a/img/products/headers/tint-con.png') no-repeat bottom right;
		background-size: cover;
	}
	
	.product-banner.on_demand .inner {
		background: url('/a/img/products/headers/tint-ondemand.png') no-repeat bottom right;
		background-size: cover;

	}

	.product-banner.courses .inner {
		background: url('/a/img/products/headers/tint-courses.png') no-repeat bottom right;
		background-size: cover;
	}

	.product-banner.talks .inner {
		background: url('/a/img/products/headers/tint-talks.png') no-repeat bottom right;
		background-size: cover;
	}
	
	.product-banner.events .inner {
		background: url('/a/img/products/headers/tint-events.png') no-repeat bottom right;
		background-size: cover;
	}
	
	.product-banner.workshops .inner {
		background: url('/a/img/products/headers/tint-workshops.png') no-repeat bottom right;
		background-size: cover;
	}

	.product-banner .inner .cutout {
		position: absolute;
		right: 0;
		bottom: 0;
		height: 100%;
		width: 40%;
		min-height: 480px;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: bottom right;
	}
	
}

@media (min-width: 1200px) {
	
/*	.product-page .cols .col-left {
		padding-left: 80px;
	}*/
	
}

/*--------------------------------------------------*/
/* Browser Upgrade Bar                              */

#browser-notice {
	width: 100%;
	padding: 20px;
	color: #fff;
	background: rgb(var(--cps_orange));
	overflow: hidden;
	font-size: 18px;
	line-height: normal;
}


/*--------------------------------------------------*/
/* Admin Logged In Bar                              */

#admin_bar {
	width: 100%;
	padding: 10px;
	color: #000;
	background: #dee2ff;
	overflow: hidden;
	font-size: 15px;
	border-bottom: 2px solid rgb(var(--cps_blue));
	position: relative;
}

#admin_bar.stage::after {
	content: 'Staging Server';
	position: absolute;
	left: 50%;
	right: 50%;
	top: 15px;
	font-size: 12px;
}

#admin_bar.demo::after {
	content: 'Demo Server';
	position: absolute;
	left: 50%;
	right: 50%;
	top: 15px;
	font-size: 12px;
}

#admin_bar.live::after {
	content: 'Live Server';
	position: absolute;
	left: 50%;
	right: 50%;
	top: 15px;
	font-size: 12px;
}

#admin_bar .bar-left {
	float: left;
	display: flex;
}

#admin_bar .bar-right {
	float: right;
}

#admin_bar .bar-right a {
	color: #000;
	background: #8e9aaf;
	padding: 5px 15px;
	border-radius: 20px;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	margin-right: 10px;
}

#admin_bar .bar-right a:last-of-type {
	margin-right: 0;
}

.admin_image_edit {
	 background: rgb(var(--cps_hotpink));
	 color: #fff;
	 padding: 10px;
	 text-decoration: none;
}

#admin_bar form {
	padding: 10px;
	margin-left: 10px;
}

#admin_bar form input[type=submit] {
	-webkit-appearance: none;
	border-radius: 0;
	background: none;
	border: 0;
	background: rgb(var(--cps_hotpink));
	color: #fff;
	font-weight: bold;
	padding: 5px 15px;
	border-radius: 20px;
}

/*--------------------------------------------------*/
/* Front End Pagination                             */

.pagination,
.inner .pagination a {
	color: rgb(var(--cps_altblue));
	font-size: 18px;
}

.inner .pagination a {
	display: inline-block;
	margin-bottom: 10px;
}

.pagination_extra {
	margin-top: 10px;
	display: block;
}

.pagination span.pagination_page {
	margin-right: 15px;
}

.pagination span.pagination_page_1 {
	margin-left: 15px;
}


/*--------------------------------------------------*/
/* Newsletter Opt-in form                           */

section.newsletter {
	padding-bottom: 40px;
	color: #fff;
	background: #fff;
	font-size: 16px;
	line-height: normal;
}

#p_contact_us section.newsletter {
	background: rgb(var(--bg_grey));
}

section.newsletter .inner {
	max-width: 1420px;
}

section.newsletter .inner .colour {
	padding: 40px;
	background: rgb(var(--cps_blue));
}

section.newsletter h2 {
	color: #fff;
	font-size: 24px;
}

section.newsletter p.smaller {
	font-size: 0.8em;
	display: inline-block;
	margin-top: 2em;
}

section.newsletter p.smaller a {
	color: #fff;
}

@media (min-width: 800px) {
	section.newsletter {
		padding-left: 40px;
		padding-right: 40px;
		text-align: center;

	}
	
	section.newsletter h2 {
		color: #fff;
		font-size: 30px;
	}
}

section.newsletter .input input {
	border: none;
}

section.newsletter .basic_form .submit input {
	display: block;
	background: #fff;
	color: rgb(var(--cps_grey));
	font-weight: bold;
	font-size: 15px;
}

section.newsletter .basic_form .submit input:hover {
	background: rgb(var(--cps_brandgrey));
	color: #fff;
}

section.newsletter .basic_form .label {
	text-align: left;
}

section.newsletter .basic_form .check {
	text-align: left;
}

section.newsletter .basic_form .check {
	margin-top: 1em;
}

section.newsletter .basic_form .check label {
	display: inline-block;
	padding-left: 40px;
}

@media (min-width: 980px) { 
	
	section.newsletter .basic_form .submit input {
		width: 380px;
	}
	
	section.newsletter .basic_form .label {
		padding-bottom: 5px;
		padding-left: 10px;
		font-size: 12px;
	}
	
	section.newsletter .cms_text {
		max-width: 700px;
		margin: 0 auto;
	}
	
	section.newsletter .basic_form fieldset {
		max-width: 800px;
		margin: 0 auto;
	}
	
	section.newsletter .basic_form .text {
		width: calc(50% - 13px);
		display: inline-block;
	}
	
	section.newsletter .basic_form .check {
		margin-top: 30px;
		text-align: center;
	}
	
	section.newsletter .basic_form .check label::before {
		top: -5px;
	}
	
	section.newsletter [type="checkbox"]:checked + label:after {
		top: auto;
	}
	
 	
	section.newsletter .basic_form .text:first-of-type {
		margin-right: 20px;
	}
	
	section.newsletter .basic_form .submit {
		margin-top: 20px;
	}
	
	section.newsletter .basic_form .submit input {
		margin: 0 auto;
	}
}

@media (min-width: 1250px) { 
	
	section.newsletter .cms_text {
		max-width: 1000px;
	}
	
	section.newsletter .basic_form fieldset {
		max-width: 1000px;
		margin: 0 auto;
	}
	
	section.newsletter .basic_form .text{
		width: calc(25% - 15px);
		display: inline-block;
	}
	
	section.newsletter .basic_form .email {
		width: calc(45% - 15px);
		display: inline-block;		
	}
	
	section.newsletter .basic_form .text {
		margin-right: 20px;
	}
}

/*--------------------------------------------------*/
/* JS show and hides                                */

.toggle-content {
	display: none;
}

.toggle-content.is-visible {
	display: block;
}

/*--------------------------------------------------*/
/* Consultant Bio Page                              */

.consultant-bio {
	background: rgba(255, 255, 255, 0.9)
}

.consultant-bio .inner {
	padding: 20px;
	width: 100%;
	height: 100%;
	padding-bottom: 20px;
}

/*.consultant-bio .inner h2 {
	padding-bottom: 20px;
	font-size: 30px;
	line-height: normal;
	border-bottom: 1px solid rgb(var(--cps_brandgrey));
}
*/
.consultant-bio .inner p {
	font-size: 18px;
	line-height: 1.5em;
}

.consultant-bio .inner p:first-of-type {
	margin-top: 0;
}

.consultant-bio .inner .bio {
	max-width: 900px;
	margin: 0 auto;
	padding-bottom: 17px;
	padding-top: 30px;
	overflow: hidden;
}

.consultant-bio .inner .bio img {
	max-width: 232px;
	max-height: 346px;
	margin-bottom: 10px;
}

.consultant-bio .inner {
	text-align: center;
}

.consultant-bio .inner p {
	text-align: left;
}

@media (min-width: 425px) {

	.consultant-bio .inner .bio img {
		float: left;
		margin-right: 26px;
	}
}
.product-page .inner .timeslots {
	padding-bottom: 40px;
	margin-top: 40px;
}

.product-page .inner .timeslots h2 {
	margin-bottom: 15px;
}

.product-page .inner .timeslots h3 {
	color: rgb(var(--cps_altblue));
	font-size: 18px;
	line-height: normal;
	font-weight: bold;
	margin-top: 20px;
}

.product-page .inner .timeslots h3:first-of-type {
	margin-top: 0;
}

.product-page .inner .timeslots h4 {
	margin-bottom: 5px;
	font-size: 14px;
	color: rgb(var(--cps_altblue));

}

.timeslots [type="radio"]:checked,
.timeslots [type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px;
}

.timeslots [type="radio"]:checked + label,
.timeslots [type="radio"]:not(:checked) + label
{
    position: relative;
    cursor: pointer;
    line-height: normal;
    display: inline-block;
    color: rgb(var(--cps_grey));
	border: 1px solid rgb(var(--cps_lightgrey));
	border-radius: 30px;
	padding: 5px 10px;
	font-size: 14px;
	text-align: center;
	margin-right: 10px;
	margin-bottom: 15px;
}

.timeslots [type="radio"]:checked + label {
	border: 1px solid rgb(var(--cps_blue));
	color: rgb(var(--cps_blue));
}
 

.timeslots [type="radio"]:checked + label:before,
.timeslots [type="radio"]:not(:checked) + label:before {

}

.timeslots [type="radio"]:checked + label:after,
.timeslots [type="radio"]:not(:checked) + label:after {
	content: 'selected';
	color: rgb(var(--cps_blue));
	position: absolute;
	bottom: -16px;
	left: 0;
	font-size: 12px;
	width: 90%;
	text-align: center;
	padding: 2px;
}

.timeslots [type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
}
.timeslots [type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.timeslots [type="radio"]:not(:checked) + label:hover {
	border-color: rgb(var(--cps_blue));
	color: rgb(var(--cps_blue));
}

.timeslots .fieldset-flex div {
	margin-bottom: 20px;
}


@media (min-width: 800px) { 
	.timeslots .fieldset-flex {
		display: flex;
		flex-wrap: wrap;
	}

	.timeslots .fieldset-flex div {
		flex-grow: 0;
		width: calc(33% - 20px);
		border-right: 1px solid rgb(var(--cps_lightgrey));
		margin-left: 20px;
		padding-right: 10px;
		padding: 20px 0;
	}
	
	.timeslots .fieldset-flex div:nth-of-type(4),
	.timeslots .fieldset-flex div:nth-of-type(5) {
		flex-grow: 0;
		max-width: calc(33% - 20px);
	}
	
	.timeslots .fieldset-flex div:nth-of-type(4) {
		margin-left: 0;
	}

	.timeslots .fieldset-flex div:first-of-type {
		margin-left: 0;
	}

	.timeslots .fieldset-flex div:nth-child(3n+3),
	.timeslots .fieldset-flex div:only-of-type {
		border-right: none;
	}
}

/*--------------------------------------------------*/
/* Cookie Consent dialog                            */

#cookie_consent,
#timedialog,
#timedialog_con {
	max-width: 500px;
	width: 80%;
	border-radius: 30px;
	padding: 30px;
}

#timedialog a,
#timedialog_con a {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

#cookie_consent h3 {
	font-size: 20px;
	line-height: normal;
	color: rgb(var(--cps_blue));
}

#cookie_consent a {
	color: rgb(var(--cps_blue));
	outline: none;
}

#cookie_consent p {
	font-size: 14px;
	line-height: normal;
}

#cookie_consent p.cookie_smaller {
	font-size: 14px;
}

#cookie_consent a:hover {
	color: rgb(var(--cps_altblue));
}

#cookie_consent input[type="submit"] {
	display: block;
	padding: 10px;
	color: #fff;
	min-width: 80%;
	border: 0;
	text-transform: uppercase;
    background: rgb(var(--cps_blue));
	border-radius: 20px;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	outline: none;
	font-size: 11px;
	cursor: pointer;
	white-space: normal;
	word-wrap: break-word;
}

@media (min-width: 450px) {
	#cookie_consent input[type="submit"] {
		font-size: 14px;
	}
}


#cookie_consent input[type="submit"]:hover {
	background: rgb(var(--cps_altblue));
}

#cookie_consent input[type="submit"].required_only {
	display: inline;
	background: none;
	padding: none;
	color: rgb(var(--cps_grey));
	text-transform: none;
	font-weight: normal;
	text-decoration: underline;
}

#close_dialog {
	position: absolute;
	top: 20px;
	right: 30px;
	color: rgb(var(--cps_grey));
	text-decoration: none;
	font-weight: bold;
}

.two-panels p {
	text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.6); 
}

.two-panels p a.button {
	text-shadow: none;
}

/*--------------------------------------------------*/
/* Individual Consultant Page                       */

.indiv-banner {
	background: rgb(var(--cps_blue));
	background: linear-gradient(90deg, rgba(0,72,157,1) 0%, rgba(0,93,164,1) 60%, rgba(0,192,198,1) 90%);
}

.newsletter.consultant {
	padding-top: 40px;
}

.consultation-link {
	color: #fff;
	background: rgb(var(--cps_orange));
	background: linear-gradient(90deg, rgba(230,57,41,1) 0%, rgba(235,97,31,1) 60%, rgba(249,200,3,1) 90%);
	padding: 20px;
}

.consultation-link h3 {
    font-size: 28px;
    line-height: normal;
    text-transform: uppercase;
    font-weight: bold;
	color: #fff;
}

.section_text-offers-consultation {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

/*--------------------------------------------------*/
/* Membership page tweaks                           */

.p_aboutusmembership h3 {
	margin-top: 20px;
}

.p_aboutusmembership .purchase-button {
	max-width: 300px;
}


/*--------------------------------------------------*/
/* Basket Notifications                             */

.basket_message,
#page_message {
	padding: 20px;
	color: #fff;
	font-size: 20px;
	line-height: normal;
	background: #4BB543;
	text-align: center;
}


.basket_message.error {
	background: #C50000;
}

.basket_message a {
	color: #fff;
}

.basket_message svg {
	width: 25px;
	fill: #fff;
	margin-right: 10px;
	position: relative;
	top: 3px;
	animation: bounce .3s 4 alternate;
}

@keyframes bounce {
  to { transform: scale(1.3); }
}

.basket_message .smaller {
	font-size: 16px;
}

/*--------------------------------------------------*/
/* Cookie-less video player                         */

.iframe_cookies {
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	color: #fff;
	padding: 40px;
}

/*--------------------------------------------------*/
/* Donation page                                    */

.donate_page {
	text-align: center;
	color: #fff;
	margin: 0 auto;
	margin-bottom: 20px;
	padding: 0 30px;
	margin-top: 60px;
}

.donate_page .inner_donate {
	background: rgb(var(--cps_blue));
	padding: 20px;
}

.donate_page h5 {
	color: #fff;
	font-size: 21px;
	line-height: normal;
	margin-bottom: 10px;
}

.donate_page p {
	font-size: 14px;
}

.donate_page .row.text {
	padding-bottom: 20px;
	position: relative;
}

.donate_page .row.text .input::before {
	content: "£";
	
}

.donate_page .row.text input {
	text-align: right;
	width: 180px;
}

.donate_page .submit input {
	background: #fff;
	color: rgb(var(--cps_blue));
	font-weight: bold;
	margin: 0 auto;
	margin-bottom: 20px;
	outline: none;
}

.p_aboutusdonate .button-links {
	margin-top: 50px;
}

@media (min-width: 768px) {
	.donate_page {
		padding: 0 15px;
	}
}

@media (min-width: 1100px) {
	.donate_page {
		float: right;
		max-width: 300px;
		margin-top: 0;
		margin-bottom: 50px;
	}
	
	.donate_page {
		padding: 0;
	}
	
}

/*--------------------------------------------------*/
/* Gift Aid stage of shopping basket                */

.gift_aid_declaration {
	border: 1px solid rgb(var(--cps_blue));
	padding: 10px;
	margin-bottom: 20px;
}

.user-auth .form-wrap .gift_aid_declaration p {
	font-size: 14px;
}

.gift_aid_declaration .check label {
	position: relative;
}

.gift_aid_declaration .check {
	margin-bottom: 1em;
}

.gift_aid_declaration [type="checkbox"]:not(:checked) + label:before
{
	top: -4px;
}

.gift_aid_declaration [type="checkbox"]:checked + label:before {
	top: -4px;
}

.gift_aid_declaration [type="checkbox"]:not(:checked) + label:after, .gift_aid_declaration [type="checkbox"]:checked + label:after {
	top: 1px;
}

#p_basket_giftaid h3 {
	margin-bottom: 0;
}

#p_basket_giftaid p.skip {
	font-size: 14px;
}

#p_basket_giftaid p.skip a {
	font-weight: bold;
}

/*--------------------------------------------------*/
/* AutoComplete customisations                      */

#autoComplete_list {
	box-shadow: 0 3px 6px rgba(var(--cps_blueshadow));
    border: 1px solid rgb(var(--cps_blue));

}

.autoComplete_result {
	line-height: 1.2em;
}

.autoComplete_result {
	display: flex; 
	justify-content: space-between;
}

.autocomplete_item {
	text-overflow: ellipsis; 
	white-space: nowrap; 
	overflow: hidden;
}

.autocomplete_key {
	display: flex; 
	align-items: center; 
	font-size: 11px; 
	font-weight: 100; 
	text-transform: uppercase; 
	color: rgb(var(--cps_altblue));
}

.autoComplete_highlighted {
	font-weight: normal;
	color: rgb(var(--cps_blue));
}

.autoComplete_result:hover {
	background-color: rgba(var(--cps_hoverbg));
}

/*--------------------------------------------------*/
/* faux Drop down                                   */

.faux-wrap {
	background: rgb(var(--cps_lightgrey));
	padding: 10px;
	margin-bottom: 20px;
	text-align: center;
}

.faux-wrap .filter_label {
	text-transform: uppercase;
	padding: 5px;
	font-size: 20px;
	line-height: normal;
	margin-right: 20px;
	text-align: center;
	position: relative;
	top: 4px;
}

.dropdown {
	overflow: auto;
	height: 100px;
	width: 80%;
	min-width: 300px;
	padding: 10px;
    padding-left: 15px;
	font-family: "Montserrat", Helvetica, Sans-Serif;
	font-size: 15px;
	text-align: left;
    color: rgb(var(--cps_grey));
}

.dropdown a {
    color: #fff;
}

.dropdown li {
	list-style: none;
	padding: 2px 0;
}

.js .dropdown {
	overflow: unset;
	height: auto;
    position: relative;
    display: inline-block;
	margin-top: 10px;
    border: 1px solid;
	cursor: pointer;
    border-radius: 30px;
    border: none;
    -webkit-appearance: none;
    text-overflow: '';
	background: #fff;
    background-image: url(../../img/common/drop-down-arrow.png);
    background-repeat: no-repeat;
    background-position: 99% center;
    min-height: 40px;
	border: 1px solid rgb(var(--cps_brandgrey));
	outline: none;
}

.dropdown:after{
	
}

@media (min-width: 900px) {
	.faux-wrap {
		max-width: 980px;
		margin-left: auto;
		margin-right: auto;
		text-align: left;
		display: flex;
	}

	.js .dropdown {
		margin-top: 0;
	}
}

.js .dropdown-content {
	display: none;
	position: absolute;
	background-color: #666769;
	width: inherit;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	top: 39px;
	left: 10px;
	width: 97%;
	z-index: 10;
}

.dropdown li a{
	text-decoration:none;
	display: block;
}

.js .dropdown li a {
	color: #ffffff;	
}

.dropdown ul{
	padding:0;
	margin:0;
}

.js .dropdown li{
	list-style: none;
	padding:10px;
}

.js .dropdown li:hover{
  background-color:gray;

}
.js .dropdown li:hover a{
    color:white;
}

.js .autocomplete_item {
	padding-right: 10px;
}

/*--------------------------------------------------*/
/* Healing Page additional styles                   */

.section_text-page img {
	max-width: 100%;
}

.section_text-page figure figcaption {
	font-size: 0.8em;
	font-style: italic;
}

/*--------------------------------------------------*/
/* Your Account                                     */

.account_wrapper {
	width: 100%;
	margin: 0 auto;
	background: rgb(var(--bg_grey));
}

.account_wrapper .form-wrapper {
	max-width: 1000px;
	margin: 0 auto;
	padding: 40px 0;
}

.account_wrapper .form-wrapper form {
	max-width: 600px;
}

.account_wrapper legend {
	color: rgb(var(--cps_altblue));
}

.account_wrapper fieldset {
	padding-bottom: 1em;
}

/*--------------------------------------------------*/
/* Basic Table                                      */
.account_wrapper .basic_table {
  padding-right: 10px;
}

.account_wrapper .basic_nav_child .basic_table {
  padding-right: 0;
}

.account_wrapper .basic_table table {
  margin: 0 0 1em 0;
  color: inherit;
  border-top: 1px solid #000;
  border-right: 0;
  border-bottom: 0;
  border-left: 1px solid #000;
  min-width: 300px;
  width: 100%;
}


.account_wrapper .basic_table thead span.sort {
  font-size: 0.75em;
}

.account_wrapper .basic_table thead span.sort.inactive {
  color: #CCC;
}

.account_wrapper .basic_table th,
.account_wrapper .basic_table th a {
  color: white;
  background: rgb(var(--cps_altblue));
  text-decoration: none;
}

.account_wrapper .basic_table th,
.account_wrapper .basic_table td {
  padding: 6px;
  border-top: 0;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: 0;
}

.account_wrapper .basic_table td.no_results {
  text-align: center;
  padding: 2em;
}

.account_wrapper .basic_table tr {
	background: #fff;
}

.account_wrapper .basic_table tr:nth-child(even) {
  background: rgb(var(--cps_lightgrey));
  transition: background-color 100ms linear;
}

.account_wrapper .basic_table .ui-dragging tr:nth-child(even) {
  background: none;
}

.account_wrapper .basic_table tr:hover {
  background-color: #FFD;
}

.account_wrapper .basic_table tr.highlight td.name {
  font-weight: bold;
}

.account_wrapper .basic_table td.action {
  text-align: center;
  width: 4em;
}

.account_wrapper .basic_table td.action_multi {
  text-align: center;
}

.account_wrapper .basic_table td.toggle {
  text-align: center;
}

.account_wrapper .basic_table td.toggle.true {
  background: #bfff95;
}

.account_wrapper .basic_table td.toggle.false {
  background: #d9d9d9;
}

.account_wrapper .basic_table td p {
  margin: 0;
}

.account_wrapper .basic_table td p + p {
  margin-top: 1em;
}

.account_wrapper .basic_table td ul {
  margin: 0 0 0 1.5em;
}

.account_wrapper .basic_table .drag_handle {
  float: right;
  cursor: move;
  margin: 2px 0 0 0;
  width: 20px;
  height: 16px;
  border-radius: 3px;
  background: #FFAE00;
  background-image: linear-gradient(to bottom, #FFFFFF 0px, #FFFFFF 1px, #FFAE00 1px, #FFAE00 3px, #FFFFFF 3px, #FFFFFF 4px);
  background-size: 10px 4px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  text-indent: -5000em;
}

#p_account_content .lister-lower .btn {
	margin-left: 0;
}

#p_account_content .form-wrapper {
	text-align: center;
}

#p_account_content .grid-lister {
	background: rgb(var(--bg_grey));
}

#p_account_content .grid-lister p.no-results {
	margin: 0;
	padding-bottom: 40px;
}

/*--------------------------------------------------*/
/* Feedback                                         */

.rating {
    clear: both;
	overflow: hidden;
	padding: 10px 0;
	float: left;
}

/* :not(:checked) is a filter, so that browsers that don’t support :checked don’t 
   follow these rules. Every browser that supports :checked also supports :not(), so
   it doesn’t make the test unnecessarily selective */
.rating:not(:checked) > input {
    position:absolute;
    left:-9999px;
    clip:rect(0,0,0,0);
}

.rating:not(:checked) > label {
	float: right;
    width:1.3em;
    padding:0 .1em;
    overflow:hidden;
    white-space:nowrap;
    cursor:pointer;
    font-size:200%;
    line-height:1.2;
    color:#ddd;
}

.rating:not(:checked) > label:before {
    content: '★ ';
}

.rating > input:checked ~ label {
    color: gold;
}

.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label {
    color: #f70;
}

.rating > input:checked + label:hover,
.rating > input:checked + label:hover ~ label,
.rating > input:checked ~ label:hover,
.rating > input:checked ~ label:hover ~ label,
.rating > label:hover ~ input:checked ~ label {
    color: gold;
}

.rating > label:active {
    position:relative;
    top:2px;
    left:2px;
}

.feedback_form span {
	clear: both;
	display: block;
}

/*--------------------------------------------------*/
/* Tutors Area                                      */

.boxed-content {
	background: #8d1842;
    padding: 20px 40px;
	color: #fff;
	margin-bottom: 30px;
}

.boxed-content:first-of-type {
    background: #0c6a86;
}

.boxed-content.videos,
.boxed-content.videos:first-of-type {
	background: #4E358A;
}

.boxed-content a {
	color: #fff;
}

.text-page .inner .boxed-content h2 {
	color: #fff;
	text-transform: uppercase;
	border-bottom: 1px solid #fff;
	margin-bottom: 20px;
}

.boxed-content ul {
	margin: 0 !important;
}

.boxed-content ul li {
	list-style: none;
	padding: 0;
	margin: 0;
	margin-bottom: 1em;
	border-bottom: 1px solid #fff;
	padding-bottom: 5px;
}

.boxed-content ul li h3,
.boxed-content ul li p {
	margin: 0;
}

td.future span::after {
	content: "Future";
	font-size: 0.7em;
	position: relative;
	left: 10px;
	text-decoration: none;
	background: green;
	border-radius: 5px;
	color: #fff;
	padding: 3px;
}

td.archive span::after {
	content: "Archived";
	font-size: 0.7em;
	position: relative;
	left: 10px;
	text-decoration: none;
	background: red;
	border-radius: 5px;
	color: #fff;
	padding: 3px;
}

@media only screen and (min-width: 600px) {
	.box-wrapper {
		display: flex;
		flex-direction: row;
	}
	
	.boxed-content {
		margin-right: 30px;
		flex-basis: 50%;
		display: flex;
		flex-direction: column;
		flex: 1;
	}
	
	.boxed-content ul {
		padding-bottom: 1em;
	}

	.boxed-content p.date {
		font-size: 0.8em;
	}
	
	.boxed-content .button {
		margin-top: auto;
	}
	
	.boxed-content a {
		text-decoration: none;
	}
	
	.boxed-content a h3,
	.boxed-content h3  {
		color: #fff;
		text-decoration: none;
	}
}

.basic_table tr div.comment {
	background: #D3D3D3;
	padding: 10px;
	font-size: 16px;
	margin-bottom: 10px;
}

.basic_table tr div.comment p {
	line-height: 1.2em;
}

.basic_table tr:nth-child(even) div.comment {
	background: #fff;
}

.comments_wrapper label {
	font-weight: bold;
	display: inline-block;
	margin: 10px 0;
}

/*--------------------------------------------------- */
/* Make Your Account lozenge nav work on small screen */

@media (max-width: 1150px) {

	.your_account h2.visually_hidden {
		position: unset;
		clip: unset;
		overflow: unset;
		height: unset;
		width: unset;
		margin: 0 auto;
		display: block;
		text-align: center;
		font-size: 1.4em;
		text-transform: uppercase;
		margin-top: 10px;
		text-decoration: underline;
	}
 
	.your_account .sub-navigation nav ul li {
		margin-bottom: 10px;
		margin-right: 5px;
	}

}

@media (max-width: 1350px) {
	.your_account .sub-navigation nav {
		display: block;
		flex-wrap: wrap;
	}

	.your_account .sub-navigation nav ul {
		flex-wrap: wrap;
		margin-top: 20px;
	}
}


/*--------------------------------------------------*/
/* Product Edit bar                                 */

.edit_bar {
	position: relative;
  	background: rgba(126,161,217,0.5);
	padding: 20px 10px;
	margin: 10px 0;
}

.edit_bar::before {
	content: 'This box is only visible to logged in administrators.';
	font-size: 12px;
	color: #c50000;
	position: absolute;
	top: 5px;
	right: 10px;
	font-weight: bold;
}

.edit_bar a {
	background: #fff;
	text-decoration: none;
	padding:10px;
	border-radius: 30px;
	color: #c50000 !important;
	border: 2px solid #c50000;
}

/*--------------------------------------------------*/
/* Consultation Timeslot management                 */

ul.existing_slots {
	margin-left: 20px;
}

ul.existing_slots li {
	display: inline-block;
	background: green;
	padding: 5px;
	color: #fff;
	margin-right: 10px;
}

.timeslot_form .date input {
	width: auto;
	max-width: unset;
}

.timeslot_form h2 {
	text-transform: uppercase;
	color: rgb(var(--cps_altblue)) !important;
	margin-top: 30px !important;
}

.timeslot_form h2:first-of-type {
	margin-top: 0 !important;
}

h2.formhdr {
	margin-top: 30px !important;
	text-transform: uppercase;
	color: rgb(var(--cps_altblue)) !important;
}

#p_admin_products_sessions form .row {
	padding-bottom: 10px;
}

form .suggested_dates .row input[type="submit"],
.admin-blue-button {
	padding:10px;
	margin-left: 20px;
	background: rgb(var(--cps_altblue));
	font-weight: bold;
	color: white;
}

form .suggested_dates .row .label {
	display: inline-block;
	width: 290px;
}

a.manage-link {
	margin-top: 10px;
	font-size: 0.8em;
	color: #fff !important;
	text-decoration: underline;
}

/*--------------------------------------------------*/
/* Admin Calendar                                   */

.calendar table {
	width: 100%;
}

.calendar td,
.calendar th {
	border: 1px solid #000;
	padding: 10px;
}

.calendar th {
	background: rgb(var(--cps_blue));
}

.calendar td {
	width: 100px;
	height: 100px;
	background: #fff;
}

.calendar .week_select {
	overflow: hidden;
	text-align: center;
	margin-bottom: 10px;
}

.calendar .prev {
	float: left;
}

.calendar .next {
	float: right;
}

.calendar .select {
	margin: 0 auto;
}

.calendar h3.day {
	color: #000;
	text-align: center;
}

.calendar td.future span::after {
	content: none;
}

.calendar input[type=submit] {
	padding: 2px 5px;
	border: 0;
	background: rgb(var(--cps_hotpink));
	color: #fff;
	margin-left: 10px;
}

.calendar p.course_session a,
.calendar p.consultation a {
	display: inline-block;
	background: rgb(var(--cps_hotpink));
	padding: 3px;
	color: white;
	text-decoration: none;
	padding: 5px;
	font-size: 12px;
	line-height: 1.3em;
	font-weight: bold;
}

.calendar p.consultation a {
	background: green;
}

.calendar p.consultation.booked a {
	background: red;
}

.calendar td.today {
	background: #F7ffb6;
}

.calendar td.past {
	background: repeating-linear-gradient(
	  45deg,
	  #D8d8d5,
	  #f9f9f9 10px,
	  #e7e7e7 10px,
	  #e7e7e7 20px
	);
}

.calendar td time {
	font-weight: bold;
}

.your_account .timeslot_manage .form-wrapper {
	width: 100%;
}

.your_account .timeslot_manage .form-wrapper .calendar form {
	max-width: unset;
	width: 100%;
}

.your_account .timeslot_manage .form-wrapper .calendar {
	width: 1050px;
}

.your_account .timeslot_manage .form-wrapper .calendar .select {
	margin-bottom: 10px;
}

.your_account .timeslot_manage .form-wrapper .calendar select {
	width: 200px !important;
	margin-bottom: 10px;
}

.your_account .timeslot_manage .form-wrapper .calendar td {
	width: 150px;
	table-layout: fixed;
}

/*--------------------------------------------------*/
/* Basket Updated page                              */

.skipLink {
	font-size: 0.8em;
	margin-top: 10px;
	margin-left: 5px;
	display: inline-block;
	text-decoration: none;
}

.updates_form .check,
.updated-form .check {
	position: relative;
	left: -12px;
	padding-bottom: 15px;
}

.updated-form .check label::before,
.updates_form .check label::before,
 {
	top: -5px;
}

.updated-form .check label::after {
	top: -3px;
}

.updates_form .check label {
	padding-top: 4px;
}

.updates_form .info p {
	font-size: 0.8em;
}

#form_1_tag_1 p {
	margin-left: 13px;
}

/*--------------------------------------------------*/
/* Lister page changes                              */

.lister_message {
	background: rgb(var(--cps_hotpink));
	padding: 20px;
	color: #fff !important;
}

.lister_message a {
	color: #fff !important;
}

.option_table {
	text-align: left;
	margin: 20px 0;
}

.option_table td, .option_table th {
	padding: 10px;
	padding-right: 30px;
	border: 1px dotted rgb(var(--cps_brandgrey))
}

.guest-booking {
	font-size: 10px;
	padding: 3px 10px;
	background: rgb(var(--cps_hotpink));
	border-radius: 10px;
	color: white;
	font-weight: bold;
	position: relative;
	top: -4px;
	left: 5px;
	
}

.option-button {
	background: none;
	position:relative;
	cursor:pointer;
	line-height:normal;
	display:inline-block;
	color:rgb(var(--cps_grey));
	border:1px solid rgb(var(--cps_lightgrey));
	background: border:1px solid rgb(var(--cps_lightgrey));;
	border-radius:30px;
	padding:5px 10px;
	font-size:14px;
	text-align:center;
	margin-right:10px;
	margin-bottom:15px;
	font-weight: bold;
}

.option-button:hover,
.option-button.selected {
	border-color: rgb(var(--cps_hotpink));
	color: rgb(var(--cps_hotpink));
}

.option-button.sold-out {
	color: red;
	border-color: #fff;
	cursor: unset;
	/* note */
}

.no-banner {
	border-top: 4px solid rgb(var(--cps_lightgrey));
}

.no-banner .breadcrumblist {
	padding-top: 0;
}

.sub-navigation.no-banner {
	padding-top: 20px;
}

.lnk_logout {
	font-size: 18px;
	text-decoration: none;
}

.lnk_logout:focus,
.lnk_logout:hover {
	text-decoration: underline;
}

/*--------------------------------------------------*/
/* File List                                        */

div	.file_list {
	background: #fff;
	padding: 10px 20px;
}

div	.file_list h2 {
}

.text-page .inner div .file_list ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.text-page .inner div .file_list ul li {
	padding: 0;
	margin: 0;
}

.text-page .inner div .file_list ul li p {
	margin-bottom: 0;
}

.reelase_date {
	font-size: 0.8em;
}

.filename {
	margin: 0;
	padding: 0;
}


.text-page .inner div .file_list ul li {
	padding-bottom: 10px;
	border-bottom: 1px solid rgb(var(--cps_lightgrey));
}

.filename svg {
	position: relative;
	top: 6px;
	left: -3px;
}

#p_account .filename svg path {
	color: #fff;
	fill: #fff;
}

.videos .filename svg {
	top: 7px;
}

.videos .filename span {
	font-size: 0.8em;
}

.text-page .inner div .file_list ul li:last-of-type {
	border-bottom: 0;
}



/*--------------------------------------------------*/
/* Gift Card Functions                              */


.basket-gift-card .form-wrap h2 {
	margin-top: 2em;
}

#page_container .inner .form-wrap .skip-gc-button {
	width: 50%;
	font-size: 0.6em;
	font-weight: normal;
}

.prod_image_wrapper {
	max-width: 90%;
	text-align: center;
	padding: 20px;
	margin-bottom: 40px;
	margin-top: 10px;
}


.prod_image_wrapper img {
	max-width: 80%;
	padding: 40px 0;
}


/*.product-banner {
	min-height: 5px;
	width: 100%;
	max-width: 100%;
}*/

.giftcard {
	padding: 40px 0;
}

.giftcard .form-wrap {
	max-width: 80%;
}

.giftcard .inner h1 {
	margin-bottom: 0;
}

.giftcard .breadcrumblist {
	text-align: left;
	padding-top: 0;
	margin-left: 0 !important;
}


.giftcard .cols {
	display: grid;
	gap: 1em;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.giftcard .prod_description {
	max-width: 90%;
}

.giftcard ul {
	margin-left: 20px;
}

.giftcard li {
	margin-bottom: 1em;
}

.giftcard .hidden {
	display: none;
}

.giftcard .preset_values .value_label {
	display: inline-block;
	padding: 10px 20px;
	margin: 5px;
	border: 1px solid #ccc;
	border-radius: 5px;
	cursor: pointer;
	background-color: #f9f9f9;
	width: 100px; /* Set a fixed width for all value labels */
	text-align: center; /* Center the text */
}

.giftcard .preset_values .value_label.active {
	background-color: rgb(var(--cps_blue));
	color: #fff;
	border-color: #007bff;
}

.giftcard #selected_amount {
	margin-top: 10px;
	font-weight: bold;
}

.giftcard .radio input {
	width: auto;
}

.giftcard .boldLabel {
	color: rgb(var(--cps_blue));
}

.giftcard .marginLeft {
	margin-left: 10px;
}

#personal_message {
	font-size: 1em;
}

.smaller_gc {
	font-size: 0.8em !important; 
}


#p_search .page_heading,
#p_search .sub-navigation .inner {
	padding-top: 0 !important;
}

@media (min-width: 1150px) {
	#p_search .sub-navigation {
		padding: 0 !important;
	}
}


.search-cols {
	grid-template-columns: 100% !important;
	align-content: center;
	max-width: 74%;
	margin: 0 auto;
}

.search-cols ul {
	margin: 0 auto;
}

.second_note {
	margin-top: 15px;
}