html,body { height: 100%; }

body { margin: 0;padding: 0;min-height: 100%;font-family: arial,tahoma,verdana;font-size: 12px;background: #fff;color: #222;overflow-x: hidden; } 

#outer_container { min-height: 100%;position: relative; }

#page_wrapper { width: 100%; }

.footer_clear { padding-bottom: 680px; }

strong { font-weight: 700; }

a { outline: none;color: #165d90;text-decoration: none; }

.aul {
	text-decoration: underline;
	text-decoration-style: dashed;
	font-weight: bold;
}

.clear:after { content: ".";display: block;height: 0;clear: both;visibility: hidden; }

* { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box; }

.page_width { max-width: 1200px;margin-left: auto;margin-right: auto; }

input, textarea { border-radius: 0; }

h1,h2,h3,h4,h5,h6 { font-family: 'Open Sans';letter-spacing: -1px; }

button { cursor: pointer; }
button:hover { opacity: 0.9; }
    
.cfont { font-family: 'Open Sans'; }
.ccol { color: #165d90; }
.ccoll { color: #65beeb; }

.nfont { font-family: arial; }
.light { font-weight: 300; }

p { font-size: 12px;line-height: 18px;margin-bottom: 18px; }

.mb_vsmall { margin-bottom: 10px; }
.mb_small { margin-bottom: 15px; }
.mb_med { margin-bottom: 20px; }
.mb_large { margin-bottom: 30px; }
.mb_vlarge { margin-bottom: 40px; }

.tac { text-align: center; }
.un { text-decoration: underline; }

.large { font-size: 14px;line-height: 20px; }

img { max-width: 100%; }
.block { display: block; }
.iblock { display: inline-block; }

.relative { position: relative; }

.dtable { display: table;width: 100%; }
.dflex { display: flex;flex-wrap: wrap; }

::-webkit-input-placeholder {
   color: #888;opacity: 1;
}

:-moz-placeholder { /* Firefox 18- */
   color: #888;opacity: 1;
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #888;opacity: 1;
}

:-ms-input-placeholder {  
   color: #888;opacity: 1;
}

.icon_left { margin-right: 8px; }
.icon_right { margin-left: 8px; }


/* layouts */

.page_top { padding-top: 20px; }


.page_left { width: 70%;float: left; }

.page_right { width: 27%;float: right; }


/* right */

.grey_block {
	background: #e0f5fc;
	padding: 40px 18px 20px 18px;
	border-radius: 10px;
	box-shadow: 1px 3px 6px #ccc;
}

.grey_block_power {
	background: #e0f5fc;
	padding: 60px 0px;
	border-radius: 0px;
	box-shadow: 1px 3px 6px #ccc;
	background-image: url('../img/swimming_oakleigh_park_2018.jpg');
	height: 260px;
	background-size: cover;
	background-position: center top;
}

.grey_block_power h1 {
	text-align: center;
	font-size: 32px;
	font-weight: bold;
	color: #fff;
	text-shadow: 2px 2px 2px #082641;
}

.grey_block_power h2, .grey_block_power_content, .grey_block_power_content p {
	text-align: center;
	font-size: 20px;
	color: #fff;
	line-height: 30px;
	max-width: 700px;
	margin: auto;
	margin-top: 20px;
	text-shadow: 2px 2px 2px #0e2d44;
}

.book_now_button { font-size: 20px;text-transform: uppercase;font-weight: bold; }

/* headers */

h1.page_header_bg { display: inline-block;font-size: 32px;font-weight: 700;background: #1180af;color: #fff;padding: 18px 40px 18px 22px; }
h1.page_header { font-size: 38px;font-weight: 300;color: #1180af;letter-spacing: -2px;padding-bottom: 10px;border-bottom: 2px dotted #31a5d6; }


h1.page_header_bg_home {
	display: inline-block;
	font-size: 26px;
	font-weight: 700;
	background: #1180af;
	color: #fff;
	padding: 8px 12px 8px 12px;
	margin-top: 25px;
}

h2 { font-size: 24px;color: #416681; }
h2 strong { color: #65beeb;font-weight: 700; }


h4 { color: #65beeb;font-size: 20px;font-weight: 600;line-height: 20px;letter-spacing: -0.5px; }
.h4u { border-bottom: 1px dotted #037d9a;padding-bottom: 10px; }
h5 { font-size: 16px;letter-spacing: normal; }


/* top */

#top_wrapper { background: #0c74ce url('../img/top/top_background_lvl1.png') center bottom repeat-x;padding: 0 14px; }

#top_inner {
	padding: 26px 0;
	background: url('../img/top/top_background_lvl2.png') center top no-repeat;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	align-content: center;
	flex-basis: auto;
}

#top_logo { flex: 0 36%; padding-top: 20px; }

#top_right { float: right;text-align: right;color: #fff; flex: 0 47%;}
#top_right ul { margin-bottom: 40px; }
#top_right ul li { float: left;margin-left: 10px; }
#top_right ul li h1 { font-size: 24px;text-shadow: 1px 1px 2px #165d90;margin-bottom: 2px;padding-right: 6px; }
#top_right ul li h1 a { color: #bee9fb;font-weight: 700; }
#top_right ul li h2 { font-size: 18px;letter-spacing: normal;padding-right: 6px; }
#top_right ul li h2 a {
	color: #fff;
	font-size: 14px;
}

#top_right ul li a.social { display: block;width: 44px;line-height: 44px;font-size: 24px;color: #fff;text-align: center;border-radius: 7px;box-shadow: 0 1px 2px #165d90; }
#top_right ul li a.facebook { background: #3b5998; }
#top_right ul li a.twitter { background: #4099ff; }
#top_right ul li a.instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%); }


#top_middle img {
	width: 120px;
	border-radius:10px;
}

#top_middle {
	flex: 0 17%;
	justify-items: center;
}
/* navigation */

#nav_wrapper { background: #165d90; }

ul#navigation { text-align: center;font-size: 14px;font-weight: 300; }
ul#navigation li { display: inline-block;position: relative;background: url('../img/top/nav_divider.png') no-repeat right center; }

ul#navigation li a {
	color: #fff;
	display: inline-block;
	padding: 18px 28px;
	font-weight: 400;
}
ul#navigation li a:hover { background-color: #1180AF; }

ul#navigation li:hover > a { background-color: #1180AF; }
ul#navigation li a.on { background-color: #86d7fa;text-shadow: 1px 1px 0 #197fd0;font-weight: 700; }

ul#navigation li ul { position: absolute;left: 0;display: none;z-index: 999;text-align: left; }

ul#navigation li ul li { display: block;width: 300px;background: none; }

ul#navigation li ul li a { background: #165d90;display: block; }
ul#navigation li ul li a:hover { background: #1180AF; }

a#mobile_menu { display: none; }

.close_mobile_menu { display: none;position: absolute;right: 15px;top: 15px;color: #fff;font-size: 40px;text-decoration: none; }

.fw_open { margin-left: 0 !important; }


/* links and buttons */

.right_bullet { color: #42a4dc;display: inline-block;margin-left: 8px; }

.light_blue {
	display: inline-block;
	background: #004665;
	font-size: 18px;
	padding: 12px 20px;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 1px 2px #54b3e4;
	color: #fff;
	text-shadow: 0 1px 2px #5787a9;
}

.standard_full { display: block;width: 100%;font-size: 16px;padding: 8px 10px;border: 0;border-radius: 3px;color: #fff;text-shadow: 0 1px 2px #5787a9;line-height: 24px; }

.standard_link { display: inline-block;background: #31a5d6;color: #fff;padding: 10px 20px;font-size: 14px;font-weight: 600; }
.standard_link i { margin-left: 7px; }

.small_link { display: inline-block;background: #31a5d6;color: #fff;padding: 10px 16px;font-size: 14px;font-weight: 600; }
.small_link i { margin-left: 7px; }


/* slider */

.slider_wrapper { padding: 15px 0 0 0;position: relative; }

.slide_block { width: 100%;position: relative;color: #fff; }
.slide_block a { color: #fff; }
.slide_block .slide { padding-top: 43%;background-size: cover;background-position: center;background-repeat: no-repeat; }
.slide_block .caption_block { position: absolute;bottom: 30px;left: 0;padding: 20px 40px;background: url('../img/misc/overlay_30.png'); }
.slide_block .caption_block h1 { font-size: 48px;font-weight: 700;letter-spacing: -2px;margin-bottom: 5px;text-shadow: 1px 1px 1px #165d90;color: #fff; }
.slide_block .caption_block h2 { font-size: 24px;font-weight: 600;color: #fff; }

.owl-dots { position: absolute;right: 20px;bottom: 20px;z-index: 999; }
.owl-dots .owl-dot { border: 1px solid #a8a8a8;background: #f6f6f6;width: 20px;height: 20px;margin-left: 5px;cursor: pointer;display: inline-block; }
.owl-dots .active { border: 1px solid #5d99c5;background: #85d7fa;width: 20px;height: 20px;margin-left: 5px;cursor: pointer; }

.pool_slider_wrapper { padding: 0;position: relative; }
.pool_slide_block .slide { padding-top: 53%;background-size: cover;background-position: center;background-repeat: no-repeat; }


/* page right */



/* form */

.tb { width: 100%;border: 0;resize: none;box-shadow: 0 1px 2px #cfd5da;padding: 14px;font-size: 12px;font-family: arial; }
.tbs { width: auto; }


/* cms post */

.cms h4 { margin-bottom: 18px;line-height: 26px; }
.cms h5 { margin-bottom: 15px;line-height: 22px; }
.cms ul { padding: 0 0 20px 10px;margin-left: 20px;list-style: disc;line-height: 18px; }
.content_right { float: right;display: block;max-width: 35%;height: auto;margin: 0 0 10px 25px; }


/* news */

.small_news_row h5 { color: #6c8997;font-size: 14px;font-weight: 300;line-height: 22px;margin-bottom: 3px; }
.small_news_row h5 a { color: #6c8997;text-decoration: underline; }
.small_news_row span { font-size: 11px; }

.news_row h2 {
	color: #444;
	font-size: 23px;
	font-weight: 300;
	line-height: 32px;
}
.news_row h2 a { color: #444;text-decoration: underline; }
.news_row span { font-size: 11px; }

.page_nav li { float: left;margin-right: 7px;line-height: 30px;font-size: 14px; }
.page_nav li a { display: block;padding: 0 10px;border: 2px solid #eee;background: #fff;color: #333;border-radius: 3px; }
.page_nav li a.on { border: 2px solid #6c8997;background: #6c8997;color: #fff; }

.news_date { float: right;width: 80px;text-align: center;box-shadow: 0 1px 2px #ccc;font-size: 14px;margin: 0 0 10px 20px;border-top: 2px dotted #4ac2c1; }
.news_date span.top { display: block;padding: 5px;color: #fff;background: #4ac2c1; }
.news_date .date { padding: 8px 10px;background: #fff; }
.news_date .date .day{ font-size: 20px;margin-bottom: 4px; }

ul.photos li { float: left;width: 20%;padding: 0 5px 10px; }
ul.photos li a { display: block;width: 100%;padding-top: 70%;background-size: cover;background-position: center;background-repeat: no-repeat;border: 6px solid #fff;box-shadow: 0 1px 2px #ccc; }


/* home */

.left_block { width: 49%;float: left; }

.right_block { width: 49%;float: right; }

ul.age_groups_small li { float: left;width: 50%;padding: 0 5px 10px; }
ul.age_groups_small li a { display: block;color: #54aed3;line-height: 20px; }
ul.age_groups_small li a span.thumb { display: block;width: 100%;padding-top: 70%;background-size: cover;background-repeat: no-repeat;background-position: center; }
ul.age_groups_small li a span.group_name { display: block;text-align: center;padding: 5px 0 0px;font-size: 14px; }

ul.age_groups_small li:nth-child(3),ul.age_groups_small li:nth-child(4) { padding: 0 5px 0; }

.hpb_3 { width: 33.33%;font-size: 14px; }
.hpb_4 { width: 25%;font-size: 14px; }

.home_pool_block { display: block;color: #fff;float: left;padding: 0 8px; }
.home_pool_block span.pic {
	display: block;
	width: 100%;
	padding-top: 70%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 10px 10px 0 0;
}
.home_pool_block span.name {
	display: block;
	padding: 24px 12px;
	text-align: center;
	background: #1180AF;
	border-radius: 0 0 10px 10px;
}
.home_pool_block span.name i { margin-left: 7px; }

.home_pool_block:hover { opacity: 0.9; }

/* footer */

#footer_wrapper { position: absolute;width: 100%;bottom: 0;left: 0;color: #fff; }

.tw_fg { width: 100%;height: 41px;background: url('../img/footer/tw_fg.png') center bottom repeat-x;position: relative;z-index: 2; }
.tw_bg { width: 100%;height: 41px;background: url('../img/footer/tw_bg.png') center bottom repeat-x;position: absolute;z-index: 1;top: 0;left: 0; }

#footer_waves { height: 49px;background: url('../img/footer/top_waves.png') repeat-x; }

#footer_inner { background: #037d9a;padding: 15px 12px 40px; }

#footer_inner a { color: #fff; }

#footer_left { float: left; }
#footer_left ul { float: left;padding-right: 80px; }
#footer_left ul li { white-space: nowrap;font-size: 14px;margin-bottom: 8px;font-weight: 600; }
#footer_left ul li a { color: #fff; }

#footer_right { float: right; }
#footer_right h5 { font-size: 14px;font-weight: 600; }

#footer_right .pool_block { float: left;margin-left: 60px;max-width: 168px; }

#footer_copyright { font-size: 11px;line-height: 18px;color: #a8dbf1;padding: 50px 0 40px;text-align: center; }

ul#footer_logos { width: 100%;margin: 0 auto;text-align: center; display: flex; justify-content: center }
ul#footer_logos li { width: 25%;padding: 0 14px;font-size: 11px;line-height: 16px; }
ul#footer_logos li img { display: block;margin-bottom: 8px; }

ul.footer-text {
	font-size: 11px;
	line-height: 18px;
	color: #a8dbf1;
	text-align: center;
}
ul.footer-text li {
	display:inline-block;
	margin-right: 10px;
}
ul.footer-text li:last-child{
	margin-right: 0px;
}

/* bookings */

ul#booking_steps { margin-bottom: 25px; }

ul#booking_steps li { width: 20%;padding: 0 0px;float: left; }

.book_step { display: block;text-align: center;padding: 12px 6px;font-size: 16px; }

.step_on { position: relative;background: #165d90;color: #fff; }
.step_on:after {
	 top: 0px;
	 right: -40px;
	 border: solid transparent;
	 content: " ";
	 height: 0;
	 width: 0;
	 position: absolute;
	 pointer-events: none;
	 border-color: rgba(131, 212, 246, 0);
	 border-top-color: #165d90;
	 border-width: 20px;
	 margin-left: -20px;
	 z-index: 1;
	 -ms-transform: rotate(20deg);
	 -webkit-transform: rotate(20deg);
	 transform: rotate(270deg);
}

.step_off { position: relative;background: #f3f6f7;color: #cbe0e7; }
.step_off:after {
	top: 0px;
	right: -40px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(131, 212, 246, 0);
	border-top-color: #f3f6f7;
	border-width: 20px;
	margin-left: -20px;
	z-index: 1;
	-ms-transform: rotate(20deg);
	-webkit-transform: rotate(20deg);
	transform: rotate(270deg);
}
.step_off:last-child:after, ul#booking_steps li:nth-child(5) .step_on:after {
	display:none;
}
.full_class { background: #ffe6e6 !important; }

ul.age_groups li { float: left;width: 25%;padding: 0 5px; margin-bottom: 20px }
ul.age_groups.booking li { float: left;margin-right:20px;width:auto; }
ul.age_groups li a { display: block;color: #54aed3;line-height: 20px; }
ul.age_groups li a span.thumb {
	display: block;
	width: 100%;
	padding-top: 70%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.9;
	border-radius: 10px;
	box-shadow: 0px 0px 24px #265466 inset;
}
ul.age-groups li:last-child{
	margin-bottom: 20px;
}
ul.age_groups li label {
	font-size: 14px;
	line-height: 20px;
}
input.fancy-radio:after {
	font: normal normal normal 18px/1 FontAwesome;
	color: #165d90;
	content: "\f10c";
	position: absolute;
	top: 2px;
	left: -2px;
}
input.fancy-radio:checked:after {
	font: normal normal normal 18px/1 FontAwesome;
	color: #165d90;
	content: "\f058";
	position: absolute;
	top: 2px;
	left: -2px;
}
input.fancy-radio {
	background: transparent;
	border: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 15px;
	height: 15px;
	position: relative;
	margin-top: 0px;
	display: inline-block;
	padding: 0px;
}
#age_groups-descriptions .message_box {
	margin-top: 0;
}
.pupil-header a.edit_pupil {
	float: right;
	font-weight: normal;
}
.pupil_alternative_selection, .pupil_first_choice {
	 margin-top: 20px;
}
.booking_pupil .class_details {
	margin-bottom: 20px;
}
.booking_pupil .pupil_details {
	margin: 20px 0px;
}
.booking_pupil hr {
	border-width: 0px;
	height: 1px;
	background: #165d90;
}
.booking_pupil table {
	text-align: left;
	line-height: 30px;
	margin: 10px 0px;
}
.booking_pupil table tr {
	margin-bottom: 10px;
}
.basket_items li {
	margin-bottom:5px;
	font-size:13px;
	line-height: 18px;
}
.basket_summary {
	border-bottom: 2px dotted #165d90;
	border-top: 2px dotted #165d90;
	margin: 0px 0px 20px;
	padding-top: 20px;
}
.parent_details {
	border-bottom: 2px dotted #165d90;
}
.amount_to_pay {
	font-size: 18px;
	color: #416681;
}
.amount_total_wrapper {
	margin-bottom: 20px;
}
#make_payment_submit {
	display: inline-block;
	background: #165D90;
	color: #fff;
	border: 0;
	padding: 10px 15px;
	border-radius: 0px;
	box-shadow: none;
}
select.three_col {
	float:left;
	width: 30%;
	margin-right:5%;
}
select.three_col:nth-child(3n + 1){
	margin-right: 0%;
}
ul.age_groups li a span.group_name { display: block;text-align: center;padding: 8px 8px 8px;font-size: 14px;position: relative; }

ul.age_groups li a span.group_name_home { display: block;text-align: center;padding: 8px 8px 8px;font-size: 14px;position: relative;width: 85%;margin: -20px auto 0 auto;background: #165D90;color: #fff;border-radius: 8px; }

ul.age_groups li a.on { color: #fff; }
ul.age_groups li a.on span.thumb { opacity: 1; }
ul.age_groups li a.on span.group_name { background: #165d90; }

ul.age_groups li a.on span.group_name:after { top: 100%;left: 50%;border: solid transparent;content: " ";height: 0;width: 0;position: absolute;pointer-events: none;border-color: rgba(131, 212, 246, 0);border-top-color: #165d90;border-width: 20px;margin-left: -20px; }

.dozoom { transition: all 0.2s linear;margin-top: 0; }
.dozoom:hover { transform: scale(1.1);z-index: 2;position: relative; }

ul.age_groups li.dozoom a span.thumb { transition: 0.2s all linear; }
ul.age_groups li.dozoom:hover a span.thumb { opacity: 1;box-shadow: 0px 0px 14px #265466 inset; }

#loading_container { text-align: center;color: #75d3f3; }
#loading_container p { margin: 0;font-size: 18px;padding-top: 10px; }
#loading_container i { font-size: 48px; }
#term_list { padding-top: 30px; }

.class_more { padding: 20px;background: #fff;box-shadow: 0 1px 2px #cfd5da;  }
.class_more p { margin: 0 0 2px; }

span.f30 { float: left;width: 30%;display: block;padding: 7px 12px;background: #037D9A;color: #fff; }
span.f70 { float: left;width: 70%;display: block;padding: 7px 12px; }

.largep { font-size: 14px;line-height: 20px; }

.class_info { padding: 10px;border-top: 1px solid #eee;border-bottom: 1px solid #eee; }
.class_info p { margin: 0;line-height: 22px; }

.class_time { width: 48%;float: left;margin-right: 4%;}
.class_time:nth-child(2n) {
	margin-right: 0%;
}
.class_time p { margin-bottom: 6px; }

.alternative_date_options {
	margin-top:40px;
}
.alternative_date_options p.largep.header {
	text-transform: uppercase;
	margin-bottom: 30px;
}
.pupil-header {
	border-bottom: 2px dotted #165d90;
	border-top: 2px dotted #165d90;
	padding: 5px 0px;
	font-size: 14px;
	line-height: 20px;
	font-weight: bold;
	color: #165d90;
}
.booking_accessories {
	border-top: 2px dotted #165d90;
	padding-top: 20px;
}
#button_row { padding: 20px 0; }
#button_row .go { float: right; }
#button_row .back { float: right; }
#button_row button, .product_box .add_to_basket {
	box-shadow: none;
	background: #165d90;
	border-radius: 0px;
	margin-right: 20px;
}
#button_row button:first-child {
	margin-right: 0;
}
.product_box .add_to_basket {
	margin-left: 0;
	text-align: center;
}
#button_row button.add_child:before {
	font-family: FontAwesome;
	content: '\f055';
	margin-right:5px;
}

.formleft { width: 30%;float: left;font-size: 14px;line-height: 18px; }
.formright { width: 70%;float: left;font-size: 14px;line-height: 18px; }

.fpt { padding-top: 11px; }
.fpts { padding-top: 6px; }

.ilabel { vertical-align: middle;margin-right: 10px; }

.tb_grey { background: #F3F6F7; }

#pupils { padding-top: 20px; }
.pupilbox { background: #e5eaec;padding: 20px; }

.divider { border-bottom: 1px solid #ddd; }

.error_box { background: #9e1616;color: #fff;padding: 12px 15px;font-size: 14px;line-height: 20px; }
.success_box { background: green;color: #fff;padding: 12px 15px;font-size: 14px;line-height: 20px; }

.form_missing { box-shadow: 0 0 4px #ff4141; }

.summary_row { margin-bottom: 1px;border-bottom: 1px dotted #eee; }
.summary_left { width: 35%;float: left;border-right: 1px dotted #ccc;padding: 5px 15px 5px 5px;line-height: 18px; }
.summary_right { width: 65%;float: left;padding: 5px 5px 5px 15px;line-height: 18px; }

.booking_update { display: inline-block;background: #165D90;color: #fff;border: 0;padding: 10px 15px;font-size: 14px; }
.booking_update i { margin-right: 7px; }

#payment_options { padding: 15px 0; }

.payment_left { float: left;width: 50%; }
.payment_right { float: right;width: 50%;padding: 0 15px; }

.another { float: right;margin: 0 0 0 30px;width: 30%; }


/* products */


.product_box { float: left;width: 33.33%;padding: 0 6px 12px; }

.product_wrapper { background: #fff;padding: 12px; }
.product_wrapper .thumb { display: block;background-color: #fff;background-position: center;background-repeat: no-repeat;background-size: contain;width: 100%;padding-top: 50%; }
.product_wrapper h4 {
	font-size: 16px;
	line-height: 18px;
	color: #296e8c;
	font-weight: 400;
	margin-bottom: 10px;
}
.product_wrapper p { margin: 0;padding: 5px 0 10px; }
.product_wrapper h5 { font-size: 16px;line-height: 18px; }
.product_wrapper h5 span { color: #999;font-size: 13px; }
.product_wrapper select { border: solid 1px #ccc; }
.product_wrapper select.opt { width: 55%;margin-right:5%; }
.product_wrapper select.qty { width: 40%; }

.basket_row { border-bottom: 1px dashed #ddd;padding-bottom: 8px; }
.basket_left { width: 70%;float: left; }
.basket_right { width: 30%;float: right;text-align: right; }

.basket_right select { padding: 5px;font-size: 11px;border: 0;background: #eee; }
.basket_right a { margin-left: 10px;color: #ff4141; }

.basket_total { float: left;font-size: 18px; }
.basket_update { float: right;background: #165D90;color: #fff;border: 0;border-radius: 5px;padding: 8px 12px; }

/* pools */

.pools_left { width: 60%;float: left; }

.pools_right { width: 37%;float: right; }
.pools_right iframe { width: 100%;height: 350px; }

.pool_hire { background: #165d90;color: #fff;border-radius: 3px;padding: 20px; }
.pool_hire h2 { color: #fff; }


/* faq */

.faq_q { display: block;padding: 14px 70px 14px 20px;background: #f6f8f9;color: #444;font-size: 18px;border-bottom: 1px solid #eee;position: relative; }
.faq_q i { position: absolute;font-size: 30px;right: 15px;top: 50%;margin-top: -15px;color: #4ac2c1;transition: all 0.3s ease; }
.faq_a { background: #f6f8f9;padding: 14px 30px;margin-bottom: 10px;display: none; }
.faq_a p { margin: 0;background: #fff;padding: 15px;border-radius: 10px;box-shadow: 0 1px 2px #ccc; }

.faq-category-group {
	margin-bottom: 40px;
}
.faq-category-group .faq-category-name {
	margin-bottom: 20px;
	display: flex;
	justify-content: space-between;
	cursor:pointer;
}
.faq-category-group .faq-category-wrap {
	display: none;
}
.faq-category-group .faq-category-name i {
	transition: all 0.3s ease;
}
.faq-page .faq-category-group:first-child .faq-category-wrap {
	display: block;
}

.opened { transform: rotate(90deg); }

h4.class_name {
	font-size: 24px;
	margin-bottom: 20px;
}

.spaces_no {
	background-color: #f02200;
	display: inline-block;
	font-size: 16px;
	color: #000;
	padding: 2px 10px;
	font-family: arial;
	letter-spacing: normal;
	border-radius: 5px;
	float: right;
}

.spaces_yes {
	background-color: #1af34a;
	display: inline-block;
	font-size: 16px;
	color: #000;
	padding: 2px 10px;
	font-family: arial;
	letter-spacing: normal;
	border-radius: 5px;
	float: right;
}




/* teachers */

.teachers_left { width: 20%;float: left; }
.teachers_left span { display: block;box-shadow: 0 1px 2px #ccc;border: 6px solid #fff;background-repeat: no-repeat;background-position: center;background-size: cover;width: 100%;padding-top: 95%;margin-top: -30px;transform: rotate(-3deg); }

.teachers_right { width: 77%;float: right; }

/* contact */

.contact_pool_img { display: block;float: right;width: 35%;margin: 0 0 10px 25px; }
.contact_pool_img span { display: block;box-shadow: 0 1px 2px #ccc;border: 6px solid #fff;background-repeat: no-repeat;background-position: center;background-size: cover;width: 100%;padding-top: 55%; }

/* gradients */

.blue_grad { box-shadow: 0 1px 2px #296e8c;background: #296e8c;background: -moz-linear-gradient(top, #296e8c 0%, #2e7999 100%);background: -webkit-linear-gradient(top, #296e8c 0%,#2e7999 100%);background: linear-gradient(to bottom, #296e8c 0%,#2e7999 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#296e8c', endColorstr='##2e7999',GradientType=0 ); }

.black_grad { box-shadow: 0 1px 2px #ccc;background: #7d7e7d;background: -moz-linear-gradient(top, #7d7e7d 0%, #0e0e0e 100%);background: -webkit-linear-gradient(top, #7d7e7d 0%,#0e0e0e 100%);background: linear-gradient(to bottom, #7d7e7d 0%,#0e0e0e 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7e7d', endColorstr='#0e0e0e',GradientType=0 ); }

.no_curves { border-radius: 10px 10px 0px 0px !important; }

/* animations  */

.floating{
	animation-name: floating;
	-webkit-animation-name: floating;

	animation-duration: 2.5s;	
	-webkit-animation-duration: 2.5s;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}

@keyframes floating {
	0% {
		transform: translateY(0%);	
	}
	50% {
		transform: translateY(8px);	
	}	
	100% {
		transform: translateY(0%);
	}			
}

@-webkit-keyframes floating {
	0% {
		-webkit-transform: translateY(0%);	
	}
	50% {
		-webkit-transform: translateY(8px);	
	}	
	100% {
		-webkit-transform: translateY(0%);
	}			
}

.floating2{
	animation-name: floating2;
	-webkit-animation-name: floating2;

	animation-duration: 2.5s;	
	-webkit-animation-duration: 2.5s;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}

@keyframes floating2 {
	0% {
		transform: translateY(0%);	
	}
	50% {
		transform: translateY(-7px);	
	}	
	100% {
		transform: translateY(0%);
	}			
}

@-webkit-keyframes floating2 {
	0% {
		-webkit-transform: translateY(0%);	
	}
	50% {
		-webkit-transform: translateY(-7px);	
	}	
	100% {
		-webkit-transform: translateY(0%);
	}			
}

/**#region Aub General Styles */
.left, .right {
	width: 48%;
	float: left;
	margin-right: 4%;
}
.right {
	margin-right: 0%;
}
table.aub td, table.aub th {
	padding: 0px 20px 10px 0px;
	text-align: left;
}
table.aub {
	width: 100%;
}
.message_box {
	background: orange;
	color: #fff;
	padding: 12px 15px;
	font-size: 14px;
	line-height: 20px;
	margin-bottom: 10px;
	margin-top:-15px;
}
.ipad-account-chooser {
	position: fixed;
	bottom: 0px;
	width: 100%;
	left: 0px;
	z-index: 1;
	padding: 20px;
	text-align: center;
	border-top: solid 5px #165d90;
	/* border-bottom: solid 5px #165d90; */
	-webkit-box-shadow: 0px 0px 5px rgba(0,0,0,.8);
	-moz-box-shadow: 0px 0px 5px rgba(0,0,0,.8);
	box-shadow: 0px 0px 5px rgba(0,0,0,.8);
	border-radius: 0px;
}
.ipad-account-chooser #button_row {
	padding: 0px;
}
.ipad-account-chooser #button_row button {
	width: 100%;
}
form#ipadLogout {
	display: inline-block;
}
.mb_vsmall.existing_pupil {
    border-bottom: 2px dotted #165d90;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
#booking_timer, #booking_timer_mobile {
	display: none;
	font-size: 25px;
	float: right !important;
	color: red;
	border: solid 1px #000;
	padding: 5px 15px;
	background: #fff;
}
#booking_timer_mobile-sticky-wrapper {
	float:none !important;
	display: none;
}
#booking_timer_mobile {
	border:0px;
	border-bottom: solid 1px #000;
	text-align: center;
	width:100%;
	left:0px;
	z-index: 2 !important;
}
#booking_timer-sticky-wrapper.is-sticky #booking_timer {
	left:0px;
	width:100% !important;
	z-index: 2 !important;
	border: 0;
	border-bottom: solid 1px #000;
	text-align: center;
}
.errormsgbox {
	padding: 15px 18px;
	box-shadow: 1px 3px 6px #ccc;
	font-size: 14px;
	border-left: solid 5px red;
	margin-bottom: 20px;
	background: #fefefe;
}
ul.age_groups.columns-5 li {
	width: 20%;
}
ul.age_groups.columns-3 li,
ul.age_groups.columns-6 li {
	width: 33.3%;
	max-height: 240px;
	margin-bottom: 25px;
}
ul.age_groups.cta_boxes {
	margin-top: 25px;
}
ul.age_groups.columns-3 li a span.thumb, ul.age_groups.columns-6 li a span.thumb {
	padding-top: 52.2%;
}
@media only screen and (max-width:768px){
	#booking_timer_mobile, #booking_timer_mobile-sticky-wrapper  {
		display:block;
	}
	#booking_timer, #booking_timer-sticky-wrapper {
		display:none;
	}
	ul.age_groups.columns-3 li, ul.age_groups.columns-6 li {
		width: 50%;
		max-height: unset;
	}
	ul.age_groups.columns-3 li a span.thumb, ul.age_groups.columns-6 li a span.thumb {
		padding-top:70%;
	}
	ul.age_groups.cta_boxes {
		margin-top: 0;
	}
}
@media only screen and (max-width:600px){
	.left, .right {
		width: 100%;
		margin:0;
	}
	.right {
		margin-top:25px;
	}
}
@media only screen and (max-width:400px){
	ul.age_groups li {
		width: 100% !important;
	}
}
/**#endregion **/

/**#region Login Page */

#loginUserForm input {
	margin-bottom:10px;
}

/**#endregion **/

/**#region My Account */
button.logout {
	float:right;
}
#pupils-details .booking_pupil {
	margin: 20px 0px;
}
.group_booking, .transactions, .your-details  {
	margin: 20px 0px;
}
.group_booking {
	border-bottom: solid 1px #165D90;
}
.group_booking .single-booking {
	margin-bottom: 20px;
}
.edit_wrapper {
	margin:20px 0px;
}
.edit_wrapper form {
	margin-top: 20px;
}
.my_account_credit {
	display: inline-block;
	padding: 10px 15px;
	font-size: 20px;
	float: right;
	font-weight: 400;
}
/* Style the tab */
#accountTabs {
	overflow: hidden;
}

/* Style the buttons that are used to open the tab content */
#accountTabs button {
	border-radius:0px;
	text-shadow: none;
	box-shadow: none;
	background:#eee;
	color:#ccc;
}

/* Change background color of buttons on hover */
#accountTabs button:hover {
	background-color: #165D90;
	color:#fff;
}

/* Create an active/current tablink class */
#accountTabs button.active {
	background-color: #165D90;
	color:#fff;
}

/* Style the tab content */
.tab-content {
	display: none;
	border-top: none;
	background: #e0f5fc;
	padding: 20px 18px;
	border-radius: 10px;
	box-shadow: 1px 3px 6px #ccc;
	margin-top: 20px;
}

@media only screen and (max-width: 600px){
	.single-booking .left, .single-booking .right, .booking_pupil .left, .booking_pupil .right, .your-details .left, .your-details .right {
		width: 100%;
	}
}
/**#endregion**/

/*#region Tooltip */
#tooltip
{
	text-align: center;
	color: #fff;
	background: #111;
	position: absolute;
	z-index: 100;
	padding: 15px;
}

#tooltip:after /* triangle decoration */
{
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #111;
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px;
	margin-left: -10px;
}

#tooltip.top:after
{
	border-top-color: transparent;
	border-bottom: 10px solid #111;
	top: -20px;
	bottom: auto;
}

#tooltip.left:after
{
	left: 10px;
	margin: 0;
}

#tooltip.right:after
{
	right: 10px;
	left: auto;
	margin: 0;
}
/*#endregion */


.covid-adverts {
	float:left;
	width: 23%;
	margin-right: 2%;
}
.covid-adverts .advert_box {
	max-width: 250px;
}
.covid-adverts .advert_box .product_wrapper {
	padding: 0px;
	margin-bottom: 20px;
	height: auto !important;
}
.covid-adverts .advert_box .product_wrapper img {
	object-fit: cover;

}

.covid_strip_columns.with-adverts {
	float:right;
	width: 75%;
}
/*--------------*/
.covid-adverts_demo {
	display: flex;
	justify-content: space-between;
	padding: 40px 0;
}
.covid-adverts_demo .advert_box {
	max-width: 250px;
}
.covid-adverts_demo .advert_box .product_wrapper {
	padding: 0px;
	margin-bottom: 20px;
}

.covid-adverts_demo .advert_box .product_wrapper img{
	object-fit: cover;
}

.covid_strip_columns_demo {
	padding: 40px 0 20px 0;
	display: flex;
	justify-content: space-between;
}
@media only screen and (max-width: 768px){
	.covid-adverts, .covid_strip_columns.with-adverts {
		width: 100%;
		margin-right: 0%;
	}
	.covid-adverts {
		margin-bottom: 25px;
	}
	.covid-adverts .advert_box {
		max-width: unset;
		float: left;
		width: 48%;
		margin-right: 2%;
	}
	.covid-adverts .advert_box:last-child {
		margin-right: 0%;
	}
}
/*--------------*/
@media only screen and (max-width: 768px){
	.covid-adverts_demo {
		display: flex;
		justify-content: space-between;
		padding: 40px 0;
		flex-direction: column;
	}
	.covid-adverts_demo .advert_box {
		width: 100% !important;
		max-width: 100% !important;
	}
	.covid_strip_columns_demo {
		flex-direction: column;
	}

	.covid_strip_columns_demo .left, .covid_strip_columns_demo .right {
		width: 100% !important;
		margin-right: 0 !important;
	}
}
/*--------------*/
@media only screen and (max-width: 600px){
	.covid-adverts .advert_box {
		width: 100%;
		margin-right: 0%;
	}
}