/*
Theme Name: LP Theme Layout
Theme URI: https://literacyplanet.com
Author: Literacy Planet
*/

/* GENERAL
################################################################################### */

header, section, div, article, main, aside, nav, footer {
	position: relative;
}

.site-wrapper {
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.page-wrapper {
	flex-grow: 1;
}

.full-width {
	width: 100%;
}

.container {
	max-width: 95rem;
	padding-left: calc(var(--layout-unit)*2);
	padding-right: calc(var(--layout-unit)*2);
	margin-left: auto;
	margin-right: auto;
}

.capped-width-lg {
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
}

.capped-width-md {
	max-width: 50rem;
	margin-left: auto;
	margin-right: auto;
}

.capped-width-sm {
	max-width: 30rem;
	margin-left: auto;
	margin-right: auto;
}

.alignnone {

}

.alignright {
	float: right;
	margin: 0.4em 0 1em 2em;
	max-width: 60%;
	text-align: center;
}

.alignleft {
	float: left;
	margin: 0.4em 2em 1em 0;
	max-width: 60%;
	text-align: center;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	text-align: center;
}

.wp-caption {
	width: unset!important;
}


@media (max-width: 599px) {

	.alignright,
	.alignleft {
		float: none;
		margin: 1em 0;
		max-width: 100%;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	.container {
		padding-left: calc(var(--layout-unit)*1.5);
		padding-right: calc(var(--layout-unit)*1.5);
	}

}

@media (max-width: 1023px) {
	.site-wrapper { padding-top: var(--site-header-height-mobile); }
}

@media (min-width: 1024px) {
	.site-wrapper { padding-top: var(--site-header-height-desktop); }
}

/* FLEX / GRID
################################################################################### */
.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.content-center { align-content: center; }
.space-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.grid { display: flex; flex-wrap: wrap; }
.grid > * { padding: inherit; }
.grid .min-space { padding: 5px; }

.grid-padding-1 { padding: calc( var(--layout-unit) / 2 ); }
.layout-padding-1 { padding: var(--layout-unit); }
.layout-padding-1-left { padding-left: var(--layout-unit); }
.layout-padding-1-right { padding-right: var(--layout-unit); }
.layout-padding-1-top { padding-top: var(--layout-unit); }
.layout-padding-1-bottom { padding-bottom: var(--layout-unit); }
.reverse-padding-1 { margin: calc( var(--layout-unit) * -1 ); }
.reverse-padding-1-left { margin-left: calc( var(--layout-unit) * -1 ); }
.reverse-padding-1-right { margin-right: calc( var(--layout-unit) * -1 ); }
.reverse-padding-1-top { margin-top: calc( var(--layout-unit) * -1 ); }
.reverse-padding-1-bottom { margin-bottom: calc( var(--layout-unit) * -1 ); }

.grid-padding-2 { padding: var(--layout-unit); }
.layout-padding-2 { padding: calc( var(--layout-unit) * 2 ); }
.layout-padding-2-left { padding-left: calc( var(--layout-unit) * 2 ); }
.layout-padding-2-right { padding-right: calc( var(--layout-unit) * 2 ); }
.layout-padding-2-top { padding-top: calc( var(--layout-unit) * 2 ); }
.layout-padding-2-bottom { padding-bottom: calc( var(--layout-unit) * 2 ); }
.reverse-padding-2 { margin: calc( var(--layout-unit) * -2 ); }
.reverse-padding-2-left { margin-left: calc( var(--layout-unit) * -2 ); }
.reverse-padding-2-right { margin-right: calc( var(--layout-unit) * -2 ); }
.reverse-padding-2-top { margin-top: calc( var(--layout-unit) * -2 ); }
.reverse-padding-2-bottom { margin-bottom: calc( var(--layout-unit) * -2 ); }

.grid-padding-3 { padding: calc(var(--layout-unit)*1.5); }
.layout-padding-3 { padding: calc( var(--layout-unit) * 3 ); }
.layout-padding-3-left { padding-left: calc( var(--layout-unit) * 3 ); }
.layout-padding-3-right { padding-right: calc( var(--layout-unit) * 3 ); }
.layout-padding-3-top { padding-top: calc( var(--layout-unit) * 3 ); }
.layout-padding-3-bottom { padding-bottom: calc( var(--layout-unit) * 3 ); }
.reverse-padding-3 { margin: calc( var(--layout-unit) * -3 ); }
.reverse-padding-3-left { margin-left: calc( var(--layout-unit) * -3 ); }
.reverse-padding-3-right { margin-right: calc( var(--layout-unit) * -3 ); }
.reverse-padding-3-top { margin-top: calc( var(--layout-unit) * -3 ); }
.reverse-padding-3-bottom { margin-bottom: calc( var(--layout-unit) * -3 ); }


@media only screen and (max-width: 599px) {
	.grid > * { width: 100%; }
}

@media only screen and (min-width: 600px) and (max-width: 799px) {
	.grid-2-col > *,
	.grid-3-col > *,
	.grid-4-col > *,
	.grid-5-col > *,
	.grid-6-col > *,
	.grid-7-col > *,
	.grid-8-col > * {
		width: 50%;
	}
}

@media only screen and (min-width: 800px) and (max-width: 1023px) {
	.grid-2-col > * { width: 50%; }
	.grid-3-col > * { width: 33.33%; }
	.grid-4-col > * { width: 33.33%; }
	.grid-5-col > * { width: 33.33%; }
	.grid-6-col > * { width: 33.33%; }
	.grid-7-col > * { width: 33.33%; }
	.grid-8-col > * { width: 33.33%; }
}

@media only screen and (min-width: 1024px) {
	.grid-2-col > * { width: 50%; }
	.grid-3-col > * { width: 33.33%; }
	.grid-4-col > * { width: 25%; }
	.grid-5-col > * { width: 20%; }
	.grid-6-col > * { width: 16.66%; }
	.grid-7-col > * { width: 14.28%; }
	.grid-8-col > * { width: 12.5%; }
}

/* ENTRY CONTENT GALLERY
################################################################################### */
.gallery {
	display: flex;
	padding: calc(var(--layout-unit)/2);
	flex-wrap: wrap;
	margin-left: calc(var(--layout-unit)*-1);
	margin-right: calc(var(--layout-unit)*-1);
	clear: both;
}

.gallery img {
	width: 100%;
	height: auto;
}

.gallery br {
	display: none;
}

.gallery.gallery-columns-1 > dl {
	width: 100%;
}

.gallery.gallery-columns-2 > dl {
	width: 50%;
}

.gallery.gallery-columns-3 > dl {
	width: 33.33%;
}

.gallery.gallery-columns-4 > dl {
	width: 25%;
}

.gallery.gallery-columns-5 > dl {
	width: 20%;
}

.gallery.gallery-columns-6 > dl {
	width: 16.66%;
}

.gallery.gallery-columns-7 > dl {
	width: 14.28%;
}

.gallery.gallery-columns-8 > dl {
	width: 12.5%;
}

.gallery.gallery-columns-9 > dl {
	width: 11.11%;
}

.gallery > dl {
	padding: inherit;
	margin: 0;
	border: none;
}

.gallery > dl > dt {
	padding: 0;
	margin: 0;
	border: none;
	overflow: hidden;
	border-radius: 0.5rem;
}

.gallery > dl > dt a img {
	transition: opacity 200ms;

}

.gallery > dl > dt a:hover img {
	opacity: 0.8;
}

.gallery > dl > dd {
	display: none;
}

@media (max-width: 499px) {

	.gallery.gallery-columns-5 > dl,
	.gallery.gallery-columns-6 > dl,
	.gallery.gallery-columns-7 > dl,
	.gallery.gallery-columns-8 > dl,
	.gallery.gallery-columns-9 > dl {
		width: 33.33%;
	}
}

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

	.gallery.gallery-columns-5 > dl,
	.gallery.gallery-columns-6 > dl,
	.gallery.gallery-columns-7 > dl,
	.gallery.gallery-columns-8 > dl,
	.gallery.gallery-columns-9 > dl {
		width: 25%;
	}
}

/* MARGINS, PADDING, BORDERS
################################################################################### */
/* Margins */
.no-margin { margin: 0!important; }
.no-margin-top { margin-top: 0!important; }
.no-margin-bottom { margin-bottom: 0!important; }
.no-margin-right { margin-right: 0!important; }
.no-margin-left { margin-left: 0!important; }

.margin-top-xxl { margin-top: 4.5em; }
.margin-top-xl { margin-top: 3.5em; }
.margin-top-lg { margin-top: 2.5em; }
.margin-top-md { margin-top: 1.5em; }
.margin-top-sm { margin-top: 1em; }
.margin-top-xs { margin-top: 0.5em; }
.margin-top-xxs { margin-top: 0.25em; }

.margin-bottom-xxl { margin-bottom: 4.5em; }
.margin-bottom-xl { margin-bottom: 3.5em; }
.margin-bottom-lg { margin-bottom: 2.5em; }
.margin-bottom-md { margin-bottom: 1.5em; }
.margin-bottom-sm { margin-bottom: 1em; }
.margin-bottom-xs { margin-bottom: 0.5em; }
.margin-bottom-xxs { margin-bottom: 0.25em; }

/* Padding */
.no-padding { padding: 0!important; }
.no-padding-top { padding-top: 0!important; }
.no-padding-bottom { padding-bottom: 0!important; }
.no-padding-right { padding-right: 0!important; }
.no-padding-left { padding-left: 0!important; }

.padding-top-xxl { padding-top: 4.5em; }
.padding-top-xl { padding-top: 3.5em; }
.padding-top-lg { padding-top: 2.5em; }
.padding-top-md { padding-top: 1.5em; }
.padding-top-sm { padding-top: 1em; }
.padding-top-xs { padding-top: 0.5em; }
.padding-top-xxs { padding-top: 0.25em; }

.padding-bottom-xxl { padding-bottom: 4.5em; }
.padding-bottom-xl { padding-bottom: 3.5em; }
.padding-bottom-lg { padding-bottom: 2.5em; }
.padding-bottom-md { padding-bottom: 1.5em; }
.padding-bottom-sm { padding-bottom: 1em; }
.padding-bottom-xs { padding-bottom: 0.5em; }
.padding-bottom-xxs { padding-bottom: 0.25em; }

.padding-left-xxl { padding-left: 4.5em; }
.padding-left-xl { padding-left: 3.5em; }
.padding-left-lg { padding-left: 2.5em; }
.padding-left-md { padding-left: 1.5em; }
.padding-left-sm { padding-left: 1em; }
.padding-left-xs { padding-left: 0.5em; }
.padding-left-xxs { padding-left: 0.25em; }

.padding-right-xxl { padding-right: 4.5em; }
.padding-right-xl { padding-right: 3.5em; }
.padding-right-lg { padding-right: 2.5em; }
.padding-right-md { padding-right: 1.5em; }
.padding-right-sm { padding-right: 1em; }
.padding-right-xs { padding-right: 0.5em; }
.padding-right-xxs { padding-right: 0.25em; }

/* TABLES
################################################################################### */
table {
	text-align: left;
	border-spacing: 0;
	border-collapse: collapse;
}

thead th {
	font-weight: bold;
	vertical-align: top;
}

td {
	vertical-align: top;
	padding:0;
}

.table:not(.table-data) tr > *:first-child {
	padding-left: 0;
}

.table:not(.table-data) tr > *:last-child {
	padding-right: 0;
}

.table th {
	vertical-align: top;	padding: 0.5rem;
}

.table td {
	vertical-align: middle;
	padding: 0.5rem;
}

.vertical-middle {
	vertical-align: middle!important;
}

/* Bordered */
.table-bordered thead th {
	border-bottom-style: solid;
	border-bottom-width: 2px;
}

.table-bordered tbody th,
.table-bordered tbody td,
.table-bordered tfoot th,
.table-bordered tfoot td {
	border-bottom-style: solid;
	border-bottom-width: 1px;
}

/* Data */
.table-data {
	border-left: solid 1px;
	border-top: solid 1px;
}

.table-data td, .table-data thead th, .table-data tbody th {
	border-bottom: solid 1px;
	border-right: solid 1px;
	padding: 1rem;
}

/* Tablepress overides */
body .tablepress tfoot th,
body .tablepress thead th {
	background-color: var(--light-blue-lighter-x3);
	color: var(--dark-blue);
}

body .tablepress thead th {
	border-bottom: 1px solid var(--blue);
}

body .tablepress .sorting:hover {
	background-color: var(--light-blue-lighter-x2);
}

body .tablepress .sorting_asc,
body .tablepress .sorting_desc {
	background-color: var(--light-blue-lighter-x1);
}
