/*
=============
ALIGNMENT
=============
*/
@media only screen and (min-width: 600px) {
	.block_align_left {
		text-align:left;
	}
	.block_align_center {
		text-align:center;
	}
	.block_align_right {
		text-align:right;
	}
}


/* 
=============
2 COL TEXT
=============
*/

@media only screen and (min-width: 600px) {
	.text2 .inner {
		display:grid;
		grid-gap:4rem;
		grid-template-columns:1fr 1fr;
	}
}


/* 
=============
TEXT AND IMAGE
=============
*/

.text-and-image .inner :first-child {
	grid-area: tai-text;
}
.text-and-image .inner :last-child {
	grid-area: tai-image;
}
	.text-and-image .inner :last-child>a {
		opacity:1;
	}

.text-and-image .inner {
	width:100%;
	display:grid;
	grid-gap:1rem;
	grid-template-columns:1fr;
	grid-template-rows:auto auto;
	grid-template-areas:
		"tai-text"
		"tai-image"
	;
	}

@media only screen and (max-width: 599px) {
	.text-and-image.mobile_tai_reverse .inner {
		grid-template-areas:
			"tai-image"
			"tai-text"
		;	
	}
}

@media only screen and (min-width: 600px) {
	.text-and-image .inner {
		grid-template-columns:1fr 1fr;
		grid-gap:2rem;
		grid-template-rows:auto;
		grid-template-areas:
			"tai-text tai-image"
			;
		}
		
		.text-and-image .inner :last-child {
			justify-self: end;
		}
		.text-and-image.desktop_tai_image_align_center .inner :last-child {
			align-self: center;
		}
		.text-and-image.desktop_tai_image_align_end .inner :last-child {
			align-self: end;
		}
		.text-and-image.desktop_tai_reverse .inner {
			grid-template-areas:
				"tai-image tai-text"
			;	
		}
			.text-and-image.desktop_tai_reverse .inner :last-child {
				justify-self: start;
			}


		.tai_20_80 .inner {
			grid-template-columns:2fr 8fr;
		}
			.text-and-image.desktop_tai_reverse.tai_20_80 .inner {
				grid-template-columns:8fr 2fr;
			}
		.tai_30_70 .inner {
			grid-template-columns:3fr 7fr;
		}
			.text-and-image.desktop_tai_reverse.tai_30_70 .inner {
				grid-template-columns:7fr 3fr;
			}
		.tai_40_60 .inner {
			grid-template-columns:4fr 6fr;
		}
			.text-and-image.desktop_tai_reverse.tai_40_60 .inner {
				grid-template-columns:6fr 4fr;
			}
		.tai_60_40 .inner {
			grid-template-columns:6fr 4fr;
		}
			.text-and-image.desktop_tai_reverse.tai_60_40 .inner {
				grid-template-columns:4fr 6fr;
			}
		.tai_70_30 .inner {
			grid-template-columns:7fr 3fr;
		}
			.text-and-image.desktop_tai_reverse.tai_70_30 .inner {
				grid-template-columns:3fr 7fr;
			}
		.tai_80_20 .inner {
			grid-template-columns:8fr 2fr;
		}
			.text-and-image.desktop_tai_reverse.tai_80_20 .inner {
				grid-template-columns:2fr 8fr;
			}
}


/*
=============
MEDIA
=============
*/



.media_to_left_of_text>div>div.inner,
.media_above_text>div>div.inner {
	display:grid;
	grid-gap:2rem;
	grid-template-rows: auto auto;
}
	.media_to_left_of_text>div>div.inner>div:first-child,
	.media_above_text>div>div.inner>div:first-child {
		grid-row:2;
	}
	.media_to_left_of_text>div>div.inner>div:last-child,
	.media_above_text>div>div.inner>div:last-child {
		grid-row:1;
	}

@media only screen and (min-width: 600px) {
	.media_to_right_of_text>div>div.inner {
		display:grid;
		grid-gap:2rem;
		grid-template-columns:1fr 1fr;
	}

	.media_to_left_of_text>div>div.inner {
		grid-template-columns:1fr 1fr;
	}
		.media_to_left_of_text>div>div.inner>div:first-child {
			grid-column: 2;
			grid-row: 1;
		}
		.media_to_left_of_text>div>div.inner>div:last-child {
			grid-column: 1;
			grid-row: 1;
		}
}




/* 
=============
IMAGE BACKGROUND
=============
*/

section.image-background {
	padding-top:0;
	padding-bottom:0;
	min-height:2rem;
}

	section.image-background::before {
		background-size:cover;
		background-position: center center;
	}
	section.image-background.image_background_fixed::before {
		position:fixed;
		z-index:-2;
	}
	section.image-background {
		background-color:transparent !important;
	}
	section.image-background>div>div.inner {
		display:flex;
		align-items:center;
		padding:1rem;
		margin:4% 1%;
	}
	
	@media only screen and (min-width: 1000px) {
		section.image-background>div>div.inner {
			margin:1%;
		}
	}
	
	footer section.image-background::before {
		content:'';
		position:absolute;
		top:0;
		left:0;
		bottom:0;
		right:0;
	}

/* 
=============
LATEST NEWS 
=============
*/

ul.news_headlines {
	padding:0;
	margin:0;
}

	ul.news_headlines li {
		list-style-type:none;
		margin:0 0 1px 0;
		padding:.2em 0;
		clear:both;
		font-size:.8em;
	}
		ul.news_headlines li a {
			display:block;
		}

section.news_story {
	
}


/*
=============
GALLERY
=============
*/
.gallery_remove_opacity a {
	opacity:1;
}
.gallery_remove_spacing .gallery_holder {
	grid-gap:0;
}
.gallery_remove_spacing .gallery_holder a {
	margin:0;
}


.gallery_item_details {
	/* width:800px; */
	max-width:80vw;
}

.gallery_item_details img {
	/* max-height:60vh; */
}

.fancybox-inner .gallery_item_details th, .fancybox-inner .gallery_item_details td {
	padding:.5rem;
}

.fancybox-inner .gallery_item_details h3 {
	font-size:1.2em;
}


.gallery_remove_padding {
	padding:0 !important;
}

.gallery_foreground {
	padding-top:0;
}
	.gallery_foreground.caption_below figcaption {
		position:relative;
	}

/* 
=============
AVAILABILITY CALENDAR 
=============
*/

.availability_calendar_grid {
	display:grid;
	grid-gap:1rem;
}
@media only screen and (min-width: 600px) {

	.availability_calendar_grid_columns2,
	.availability_calendar_grid_columns4 {
		grid-template-columns:1fr 1fr;
		grid-gap:2rem;
	}

	.availability_calendar_grid_columns3,
	.availability_calendar_grid_columns6,
	.availability_calendar_grid_columns12 {
		grid-template-columns:1fr 1fr 1fr;
		grid-gap:2rem;
	}

}


.availability_calendar_holder {
	display:grid;	
	grid-gap:2px;
}
	.availability_calendar_holder.monthly {
		grid-template-rows: auto auto 1fr;
	}

.availability_calendar_holder .changemonth {
	cursor:pointer;
}

.availability_calendar_holder.monthly .calendar_head,
.availability_calendar_holder.monthly .calendar_days,
.availability_calendar_holder.monthly .calendar_body {
	display:grid;
	grid-template-columns: repeat(7, 1fr);
	grid-gap:2px;
}

	.availability_calendar_holder.monthly>div>span {
		background-color:var(--theme_background_1);
		color:var(--theme_foreground_1);
		text-align:center;
	}
	.availability_calendar_holder.monthly>div>div {
		background-color:var(--theme_background_2);
		color:var(--theme_foreground_2);
	}
		.availability_calendar_holder.monthly>div>div>span {
			display:block;
			text-align:center;
			background-color:var(--theme_background_3);
			color:var(--theme_foreground_3);
		}
			.availability_calendar_body.monthly>div>div>span:not(:first-child) {
				font-size:0.9em;
			}


/* colors of available or booked dates */

	.availability_calendar_holder.monthly>div.availability_calendar_body>span {
		background:var(--block_color_1);
		color:var(--block_color_1_alt);	
	}
	.availability_calendar_holder.monthly>div.availability_calendar_body>span.booked {
		background:var(--block_color_2);
		color:var(--block_color_2_alt);
	}
	
	
	
	
	.availability_calendar_holder.monthly span.monthname {
		grid-column: span 5;
		text-align:center;
	}
	.availability_calendar_holder.monthly span i {
		display:none;
	}
	
	.availability_key {
		padding-top:1rem;
	}
		.availability_key_available {
			display:inline-block;
			padding:5px;
			background:var(--block_color_1);
			color:var(--block_color_1_alt);	
			border:1px solid #bbb;
		}
		.availability_key_booked {
			display:inline-block;
			padding:5px;
			background:var(--block_color_2);
			color:var(--block_color_2_alt);	
			border:1px solid #bbb;
		}
	

.availability_calendar_holder.monthly .availability_calendar_head,
.availability_calendar_holder.monthly .availability_calendar_days,
.availability_calendar_holder.monthly .availability_calendar_body {
	display:grid;
	grid-template-columns: repeat(7, 1fr);
	grid-gap:2px;
}

/* month name */
	.availability_calendar_holder.monthly span.monthname {
		grid-column: span 5;
	}


.availability_calendar_holder .no_events {
	display:block;
}

	
	
/* move headings dependent upon start day - can be sunday or saturday */

	.startday_saturday .availability_calendar_days span:nth-child(7) {
		grid-column:1;
		grid-row:1;
	}




/* 
this is where we set the placement so that the first day sits under the correct weekday 
default is changeover date of sunday
*/

	.availability_calendar_body span:first-child,
	.startday_saturday .availability_calendar_body.monthstart7 span:first-child {
		grid-column:1;
	}
	.availability_calendar_body.monthstart2 span:first-child,
	.startday_saturday .availability_calendar_body.monthstart1 span:first-child {
		grid-column:2;
	}
	.availability_calendar_body.monthstart3 span:first-child,
	.startday_saturday .availability_calendar_body.monthstart2 span:first-child {
		grid-column:3;
	}
	.availability_calendar_body.monthstart4 span:first-child,
	.startday_saturday .availability_calendar_body.monthstart3 span:first-child {
		grid-column:4;
	}
	.availability_calendar_body.monthstart5 span:first-child,
	.startday_saturday .availability_calendar_body.monthstart4 span:first-child {
		grid-column:5;
	}
	.availability_calendar_body.monthstart6 span:first-child,
	.startday_saturday .availability_calendar_body.monthstart5 span:first-child {
		grid-column:6;
	}
	.availability_calendar_body.monthstart7 span:first-child,
	.startday_saturday .availability_calendar_body.monthstart6 span:first-child {
		grid-column:7;
	}
	

/* show diagonal backgrounds behind start/end dates */

	.a_c_diagonals .availability_calendar_holder.monthly>div.availability_calendar_body>span {
		background-image: linear-gradient(to bottom right, var(--block_color_1) 50%, var(--block_color_1) 50%);
		color:var(--block_color_1_alt);
	}
	.a_c_diagonals .availability_calendar_holder.monthly>div.availability_calendar_body>span.booked {
		background-image: linear-gradient(to bottom right, var(--block_color_2) 50%, var(--block_color_2) 50%);
		color:var(--block_color_2_alt);
	}
	.a_c_diagonals .availability_calendar_holder.monthly>div.availability_calendar_body>span.booked.startdayab {
		background-image: linear-gradient(to bottom right, var(--block_color_1) 50%, var(--block_color_2) 50%);
		color:var(--block_color_1_alt);
	}	
	.a_c_diagonals .availability_calendar_holder.monthly>div.availability_calendar_body>span.startdayba {
		background-image: linear-gradient(to bottom right, var(--block_color_2) 50%, var(--block_color_1) 50%);
		color:var(--block_color_2_alt);
	}


/* 
=============
EVENTS CALENDAR 
=============
*/

.events_calendar_holder {
	display:grid;	
	grid-gap:2px;
}

.events_calendar_holder .changemonth {
	cursor:pointer;
}

.events_calendar_holder.monthly .calendar_head {
	display:grid;
	grid-template-columns: 1fr 3fr 1fr;
	grid-gap:2px;
}

.events_calendar_holder.monthly .calendar_days {
	display:none;
}
.events_calendar_holder.monthly .calendar_body {
	display:grid;
	grid-template-columns: 1fr;
	grid-gap:2px;	
}

	.events_calendar_holder.monthly>div>span {
		background-color:var(--theme_background_1);
		color:var(--theme_foreground_1);
		text-align:center;
	}
	.events_calendar_holder.monthly>div>div {
		background-color:var(--theme_background_2);
		color:var(--theme_foreground_2);
	}
		.events_calendar_holder.monthly>div>div>span,
		.events_calendar_holder.monthly>div>div>a {
			display:block;
			text-align:center;
			background-color:var(--theme_background_3);
			color:var(--theme_foreground_3);
		}
			.events_calendar_holder.monthly>div>div>span:not(:first-child),
			.events_calendar_holder.monthly>div>div>a:not(:first-child) {
				font-size:0.9em;
			}
	.events_calendar_holder.monthly span.monthname {
		text-align:center;
	}
	.events_calendar_holder.monthly span abbr {
		display:initial;
	}
	.events_calendar_holder.monthly span i {
		display:none;
	}
	.events_calendar_holder .no_events {
		display:none;
	}
	.events_calendar_holder #calendar_today span {
		outline:1px dashed var(--theme_background_1);
		background-color:var(--theme_background_1);
		color:var(--theme_foreground_1);
	}

@media only screen and (min-width: 600px) {
	.events_calendar_holder.monthly span abbr {
		display:none;
	}
}

@media only screen and (min-width: 1024px) {

	.events_calendar_holder.monthly .calendar_head,
	.events_calendar_holder.monthly .calendar_days,
	.events_calendar_holder.monthly .calendar_body {
		display:grid;
		grid-template-columns: repeat(7, 1fr);
		grid-gap:2px;
	}

	.events_calendar_holder.monthly span.monthname {
		grid-column: span 5;
	}

	.events_calendar_holder .no_events {
		display:block;
	}
	
	/* this is where we set the placement so that the first day sits under the correct weekday */

	.events_calendar_holder .monthstart2 div:first-child {
		grid-column:2;
	}
	.events_calendar_holder .monthstart3 div:first-child {
		grid-column:3;
	}
	.events_calendar_holder .monthstart4 div:first-child {
		grid-column:4;
	}
	.events_calendar_holder .monthstart5 div:first-child {
		grid-column:5;
	}
	.events_calendar_holder .monthstart6 div:first-child {
		grid-column:6;
	}
	.events_calendar_holder .monthstart7 div:first-child {
		grid-column:7;
	}
}

/*	
=============
 MAP
=============
*/

.map>div>div {
	max-height:80vw;
}
.map_remove_padding {
	padding:0 !important;
}



/*
=============
 FORMS
=============
*/
.rounded5 fieldset,
.rounded5 legend, 
.rounded5 input,
.rounded5 textarea {
	border-radius:5px;
}
.rounded10 fieldset,
.rounded10 legend, 
.rounded10 input,
.rounded10 textarea {
	border-radius:10px;
}
.rounded15 fieldset,
.rounded15 legend, 
.rounded15 input,
.rounded15 textarea {
	border-radius:15px;
}



/*
=============
 FAQ
=============
*/
.faq_first_open dl.faq dd:first-of-type {
	display:block;
}
.faq_style1 dl.faq dd {
	margin:0 0 1em 3em;
	border-radius:0 0 1em 1em;
}

/*
=============
 BUTTONS
============
*/
section.button {
	text-align:center;
}
	section.button>div>a {
		display:inline-block;
		padding:.5rem 2rem;
		text-decoration:none;
		background:var(--theme_background_1);
		color:var(--theme_foreground_1);
	}
		section.button>div>a:hover {
			background:var(--theme_background_2);
			color:var(--theme_foreground_2);		
		}
		section.button>div>a:focus,
		section.button>div>a:active {
			background:var(--theme_background_3);
			color:var(--theme_foreground_3);		
		}
		
	section.button .rounded5 {
		-webkit-border-radius:5px;
		border-radius:5px;
	}
	section.button .rounded10 {
		-webkit-border-radius:10px;
		border-radius:10px;
	}
	section.button .rounded15 {
		-webkit-border-radius:15px;
		border-radius:15px;
	}
	
	section.button.button_shadow>div>a {
		-webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.6);
		box-shadow: 0 0 3px 0 rgba(0,0,0,.6);
	}

		section.button.button_shadow>div>a:hover {
			-webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.6) inset;
			box-shadow: 0 0 3px 0 rgba(0,0,0,.6) inset;
		}
		section.button.button_shadow>div>a:active {
			-webkit-box-shadow: 0 0 1px 0 rgba(0,0,0,.6);
			box-shadow: 0 0 1px 0 rgba(0,0,0,.6);
		}
	
/*
=============
 TABLES (inc Documents)
=============
*/

.table_space_rows table {
	border-spacing:0 4px;
}
.table_space_columns table {
	border-spacing:4px 0;
}
.table_space_both table {
	border-spacing:4px;
}
.table_hover_styles_off table.data tr:hover,
.gallery_item_details table.data tr:hover {
	box-shadow: none;
	transform: none;
}

/* long filenames - switched off for now as being in tables is problematic
.fn {
	display: flex;
	min-width: 0;
}
	.fnl {
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}

	.fnr {
		flex-shrink: 0;
	}
	
*/




@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {

	/* Force table to not be like tables anymore */
	.mobile_table_layout table, .mobile_table_layout thead, .mobile_table_layout tbody, .mobile_table_layout tfoot, .mobile_table_layout th, .mobile_table_layout td, .mobile_table_layout tr { 
		display: block; 
	}
	
	/* Hide table headers (but not display: none;, for accessibility) */
	.mobile_table_layout thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
}



/*
=============
 SOCIAL NETWORK ICONS
=============
*/



.socialnetworks {
	text-align:center;
	/* avoid outline encompassing text-align:left text 
	overflow:hidden;*/
}
.social_network_align_left {
	text-align:left;
}
.social_network_align_right {
	text-align:right;
	color:transparent;
}

	.socialnetworks>div>a {
		display:inline-block;
		width:4em;
		height:4em;
		margin:4px;
		background-size:70%;
		background-position:center center;
		background-repeat:no-repeat;
		text-indent:-500em;
		overflow:hidden;
	}

.social_network_greyscale>div>a {
	filter: grayscale(100%);
}
	.social_network_greyscale>div>a:hover {
		filter: grayscale(0);
	}
	
.social_network_round_icons>div>a {
	border-radius:50%;
	background-size:60%;
}

.social_network_shadows>div>a {
	box-shadow:0 0 3px #000 inset;
}
	.social_network_shadows>div>a:hover {
		box-shadow:0 0 3px #fff inset;
	}
	
	.social_network_custom_background>div>a {
		background-color:var(--block_color_1);
	}
	
/*
===========
 CONTACT DETAILS
===========
*/
section.contact-details span:not(.hidden) {
	display:block;
}

	section.contact-details.contact_details_address_inline span {
		display:inline;
	}
	section.contact-details.contact_details_address_inline span::after {
		content:', ';
	}
	section.contact-details.contact_details_address_inline span:last-child::after {
		content:'';
	}
	
	section.contact-details.contact_details_full_labels span.hidden {
		display:inline;
	}

/*
===========
 ANCHORS
===========
*/
section.anchors div {
	text-align:center;
}
	section.anchors>div>a {
		padding:0 5px;
		white-space: nowrap;
	}
	
.links_as_buttons>div>a {
	display:inline-block;
	padding:8px !important;
	margin:4px;
	border-radius:2px;
	webkit-border-radius:2px;
	text-decoration:none;
	-webkit-box-shadow:0 0 3px 0 rgba(128,128,128,.5);
	box-shadow:0 0 3px 0 rgba(128,128,128,.5);
	background-color:var(--theme_background_1);
	color:var(--theme_foreground_1);
}
	.links_as_buttons>div>a:hover {
		-webkit-box-shadow:inset 0 0 3px 0 rgba(128,128,128,.5);
		box-shadow:inset 0 0 3px 0 rgba(128,128,128,.5);
		background-color:var(--theme_background_3);
		color:var(--theme_foreground_3);	
	}
	.links_as_buttons>div>a:active {
		-webkit-box-shadow:inset 0 0 3px 0 rgba(128,128,128,.5);
		box-shadow:inset 0 0 3px 0 rgba(128,128,128,.5);
		background-color:var(--theme_background_2);
		color:var(--theme_foreground_2);	
	}


/*
===========
 DIRECTORY
===========
*/	
.single_directory > :nth-child(4) {
	text-align:right;
}

.directory_msg {
	padding:.5rem;
	background:yellow;
	color:black;
	display:inline-block;
	font-size:1rem;
	-webkit-border-radius:5px;
	border-radius:5px;
	margin-left:1rem;
}


/*
===========
 NEWS / PROFILE ITEMS
===========
*/	
@media only screen and (max-width: 600px) {
	.item {
		grid-template-columns: 1fr !important;
	}
		.item .no_image {
			min-height:0;
		}
}

.items_reduce_image_size .item {
	grid-template-columns: 1fr 8fr;
}

.items_no_image .item {
	display:block;
}
	.items_no_image .item>:first-child {
		min-height:0;
	}

.profile_msg {
	padding:.5rem;
	background:yellow;
	color:black;
	display:inline-block;
	font-size:1rem;
	-webkit-border-radius:5px;
	border-radius:5px;
	margin-left:1rem;
}

@media only screen and (min-width: 1000px) {	
	
	.items_grid .profiles,
	.items_grid .news_index {
		display:grid;
		grid-gap:2rem;		
	}
	
	.items_grid_1_1 .profiles,
	.items_grid_1_1 .news_index {
		grid-template-columns:1fr 1fr;
	}
	.items_grid_1_1_1 .profiles,
	.items_grid_1_1_1 .news_index {
		grid-template-columns:1fr 1fr 1fr;
	}
	.items_grid_1_1_1_1 .profiles,
	.items_grid_1_1_1_1 .news_index {
		grid-template-columns:1fr 1fr 1fr 1fr;
	}
	
	.items_grid_1_1 .news_index .item,
	.items_grid_1_1_1 .news_index .item, 
	.items_grid_1_1_1_1 .news_index .item {
		margin-bottom:0;
	}
	
	/* rearrange to put image on top for 1-1-1 */
	.items_grid_1_1_1 .item,
	.items_grid_1_1_1_1 .item {
		grid-gap:0;
		grid-template-columns: 1fr;
		grid-template-rows:200px auto auto auto;
	}
		.items_grid_1_1_1 .item>:first-child,
		.items_grid_1_1_1_1 .item>:first-child {
			grid-column:1;
			grid-row:1;
		}
		.items_grid_1_1_1 .item>:nth-child(2),
		.items_grid_1_1_1_1 .item>:nth-child(2){
			grid-column:1;
			grid-row:2;	
		}
			.items_grid_1_1_1 .item>:nth-child(2) h4,
			.items_grid_1_1_1_1 .item>:nth-child(2) h4 {
				font-size:1.3rem;
			}
		.items_grid_1_1_1 .item>:nth-child(3),
		.items_grid_1_1_1_1 .item>:nth-child(3) {
			grid-column:1;
			grid-row:3;		
		}
		.items_grid_1_1_1 .item>:nth-child(4),
		.items_grid_1_1_1_1 .item>:nth-child(4){
			grid-column:1;
			grid-row:4;		
		}
}


.news_hide_author .news_author {
	display:none;
}
.news_hide_time .news_time {
	display:none;
}


/*
===========
 SPONSORS
===========
*/
div.sponsors {
	display:grid;
	grid-gap:1rem;
}
	div.sponsors img {
		display:block;
	}


/*
===========
 SUBPAGES
===========
*/

dl.subpages {
	display:grid;
	grid-gap:8px;
	grid-template-columns:100px 1fr;
}
	dl.subpages dt {
		background:var(--theme_background_3);
		color:var(--theme_foreground_3);
		padding:5px;
		line-height:5;
	}
	dl.subpages dd {
		background-size:cover;
		background-position:center center;
		min-height:70px;
	}
@media only screen and (min-width: 600px) {	
	dl.subpages {
		grid-template-columns:100px 1fr 100px 1fr;
	}
}

/*
==========
EMBEDDED MEDIA
==========
*/

div.media_iframe {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;	
}
	div.media_iframe iframe {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;	
	}
	
	


/*
===========
OVERLAY
===========
*/

.overlay {
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:99999;
	text-align:center;
	display:grid;
	justify-content:center;
	align-content:center;
}
	.overlay::after {
		content: 'x';
		display:inline-block;
		position:absolute;
		top:2rem;
		right:2rem;
		color:#fff;
		font-size:2rem;
		font-weight:bold;
		cursor:pointer;
	}
	.overlay::after:hover {
		color:#ff0;
	}


	
	
/*
===========
CONTENT WIDTH
===========
*/
@media only screen and (min-width: 600px) {

	.content_width_90>div {
		padding:0 5%;
	}
	.content_width_80>div {
		padding:0 10%;
	}
	.content_width_75>div {
		padding:0 12.5%;
	}
	.content_width_70>div {
		padding:0 15%;
	}
	.content_width_60>div {
		padding:0 20%;
	}
	.content_width_50>div {
		padding:0 25%;
	}
	.content_width_40>div {
		padding:0 30%;
	}
	.content_width_30>div {
		padding:0 35%;
	}
	.content_width_25>div {
		padding:0 37.5%;
	}
}