/*
Theme Name: pat
Theme URI: http://twistedesign.co.uk
Description: Twisted Design
Version: 0.0.1
Author: Straw Jonny
Author URI: https://strawjonny.com
*/

/*------------------------------------*\
MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font-family: 'DM Sans', sans-serif;
	color:#444;
	font-size: 1.75rem;
	font-weight: 300;
	line-height: 1.5;
}
body.open {
	min-height: 100vh;
	background-attachment: fixed;
}
/* clear */
.clear:before,
.clear:after {
	content:' ';
	display:table;
}

.clear:after {
	clear:both;
}
.clear {
	*zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

.startinghide {
	opacity: 0;
}


/*------------------------------------*\
STRUCTURE
\*------------------------------------*/




body {
	transition: background-color 1s ease;
	overflow-x: hidden;
	background-image:url("./img/menustart.png");
}

body.open {
	background-position: bottom right;
	background-size: contain;
	background-repeat: no-repeat;
	transition: background-image 3s ease 1s;
}

/* wrapper */
.wrapper {
	max-width: 100%;
	width: 95%;
	margin: 0 auto;
	position: relative;
}
/* header */


/* logo */
.logo img {
	height: 80px;
}
.logo-trust img {
	height: 70px;
}
.logo-img {

}
/* nav */
.nav {

}
/* sidebar */
.sidebar {

}
/* footer */
.footer {
	padding: 100px 0;
	color: white;
	margin-top: 100px;
}

.highlight {
	color: #f6bb00;
	font-weight: 700;
}

.footer .wrapper {
	padding-top: 50px;
	border-top: solid 1px white;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	
}

.footer .left {
	display: flex;
	flex-direction: column;
}

.footer .right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: fit-content;
}

.footer .right hr {
	border-color: white;
	background-color: white;
	border: solid 1px;
	margin: 30px 40% 30px 0;
	width: 100%;
}

.footer .right img {
	width: auto;
	align-self: flex-start;
	margin-top: 20px;
}

.footer-logo-wrapper {
    width: 100%;
}

.footer-logo {
	margin-top: 50px;
	
}

.footer h2 {
	margin-top: 0;
}

.footer a {
	color: white;
}

.full {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.topbar {
	width: 95%;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 900;
	font-size: 1.5rem;
	padding: 30px 0;
}

.topbar .left, .topbar .right {
	display: flex;
	align-items: center;
}

.topbar .primary > ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
}

.topbar .primary ul li {
	margin-right: 50px;
}

.menu-btn {
	margin-right: 50px;
	font-size: 2rem;
}

.navigation-buttons {
	margin-left: 20px;
	margin-right: 20px;
}

header {
	height: 700px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-position: center center;
	background-size: cover;
	margin-bottom: 50px;
}

header h1 {
	margin-left: 50px;
	max-width: 50%;
	color: white;
	font-size: 7rem;
	font-weight: 700;
	line-height: 8rem;
}

h2 {
	font-size: 7rem;
}

@media only screen and (min-width:1140px) {

	body.siteorigin-panels-before-js .siteorigin-panels-stretch {
		margin-left: 0 calc(-5% - 15px) !important;
		margin-right: 0 calc(-5% - 15px) !important;
		padding-left: 0 calc(5% + 15px) !important;
		padding-right: 0 calc(5% + 15px) !important;
	}
}

@media only screen and (max-width:1139px) {

	body.siteorigin-panels-before-js .siteorigin-panels-stretch {
		margin: 0 -5% !important;
		padding: 0 5% !important;
	}

	.topbar .primary {
		display: none;
	}
	
	header h1 {
		font-size: 4rem;
		margin-left: 20px;
		max-width: 90%;
		line-height: 5rem;
	}
	
	header {
		height: 400px;	
	}
	
	h2 {
		font-size: 5rem;
	}
	
	.logo-trust {
		display: none;
	}
	
	.navigation-socials {
		display: none;
	}
	
	.footer .wrapper {
		flex-direction: column;
	}
	
	.wrapper {
		width: 90%;
		margin: 0 5%;
	}
	
	article .policies {
		flex-direction: column;
	}
	
	.policy-box, .home .policy-box {
		width: 100% !important;
	}
	
	.footer-logo {
		display: none;
	}
	
}

/* Navigation */

.navicon a {
	font-size: 3rem;
	transition: color 1s;
	margin-right: 40px;
}

.open .navicon a {
	color: white !important;
}

nav>ul {
	margin: 0 30px;
}

.primary ul {
	list-style: none;
}

nav.primary {
	padding: 10px 0;
}

nav a {
	color: white;
	font-size: 2rem;
	font-weight: 700;
}

nav a:hover {
	color: white;
}

nav ul {
	padding: 0;

}

nav li {
	padding-top: 10px;
	padding-bottom: 10px;
}

nav>ul>li>a {
	margin-left: 10px;
}

.sub-menu li {
	border-top-width: 0 !important;
	border-top-style: none !important;
	padding-bottom: 0;
	padding-top: 15px;
}

.sub-menu a {
	font-weight: 400;
}

/*
.sub-menu a:before {
content: "- ";
margin-right: 10px;
}
*/

.sub-menu {
	display: none;
	padding-bottom: 10px;
}

.menu-item-has-children>a:after {
	margin-left: 10px;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900; 
	content: "\f0d7";
	color: white;
	font-size: 2rem;
}

.menu-item-has-children>a.open:after {
	content: "\f0d8";
}

.sub-menu li {
	padding: 5px 40px; 
}


}

/*------------------------------------*\
PAGES
\*------------------------------------*/



/*------------------------------------*\
IMAGES
\*------------------------------------*/



/*------------------------------------*\
TYPOGRAPHY
\*------------------------------------*/



h2 {
	font-size: 5rem;
}

h3 {
	font-size: 4rem;
}

/*------------------------------------*\
RESPONSIVE
\*------------------------------------*/


@media only screen and (max-width:1024px) {

}
@media only screen and (min-width:1025px) {

}


/*------------------------------------*\
MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}


@media only screen and (max-width:1024px) {

	.blog-featured {
		flex-direction: column;
		padding: 30px 5% !important;
		background: linear-gradient(180deg, rgba(213,56,137,0.8) 0%, rgba(213,56,137,0.8) 80%, rgba(255,255,255,0) 100%) !important;
	}

	.blog-featured-image, .blog-featured-text {
		width: 100% !important;
	}

	.blog-featured-text {
		margin-top: 0 !important;
	}

	.blog-featured-text h2 {
		line-height: 1.2;
	}

	.blog-featured-date {
		display: none;
	}

	.blog-list {
		flex-direction: column;
	}

	.blog-item {
		width: 100% !important;
		margin-bottom: 30px;
	}

	.blog-post-image, .blog-post-title {
		width: 100% !important;
	}

	.blog-post-title h1 {
		margin: 0 !important;
		font-size: 5rem !important;
	}

	.contactform input, .contactform textarea {
		width: 100% !important;
	}

}

.page-title {
	text-align: center;
	font-size: 5rem;
}

.blog-featured {
	display: flex;
	justify-content: space-between;
}

.blog-featured h2 {
	margin: 0;
}

.blog-featured-image {
	width: 39%;
}
.blog-featured-text {
	width: 59%;
}

.blog-featured-text {
	display: flex;
	flex-direction: column;
}

.blog-featured-date, .blog-featured-text a {

}

.blog-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 30px;
}

.blog-item {
	width: 30%;
	display: flex;
	flex-direction: column;
}

.blog-item img {
	border-radius: 5px;
}

.blog-item h3 {
	margin: 0;
}

.blog-item a {
	font-weight: 700;
}

.blog-featured-content {
	margin: 30px 0 50px 0;
}

.blog-featured-date {
	font-weight: 700;
}

.blog-post-image {
	width: 39%;
}

.blog-post-title {
	width: 59%;
	font-size: 4rem;
}

.main-header {
	text-align: center;
	text-transform: capitalize;
}

.contactform input, .contactform textarea {
	padding: 10px;
	width: 90%;
	border-width: 0;
	outline: none;
}

select {
  width: 100%;
  padding: 10px;
  border-width: 0;
  outline: none;
}

.contactform input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	font-weight: 800;
}
.contactform input::-moz-placeholder { /* Firefox 19+ */
	font-weight: 800;
}
.contactform input:-moz-placeholder { /* Firefox 18- */
	font-weight: 800;
}

.contactform input[type="submit"] {
	width: auto;
	padding: 10px 70px;
	font-weight: 800;
}

.map {
	width: 100%;
}

.blog-post-content p, .blog-post-content ul, .blog-post-content h3 {
	margin: 20px 0;
}

video {
	width: 100%    !important;
	height: auto   !important;
}

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 75%;
}

#container {
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
}

.so-widget-sow-image h3 {
	font-size: 2rem;
	font-weight: 500;
	margin-top: 20px;
}

hr {
	border: 1px solid;
}

control label {
	margin-bottom: 10px;
}

.control input, .control select {
	padding: 5px;
}

input, texarea {
	padding: 10px;
}

input[type="submit"] {
	background-color: white;
	border-width: 0;
	padding: 10px;
	margin: 10px 0;
	font-weight: 800;
	transition: color 1s, background-color 1s;
}


@media only screen and (max-width:1024px) {


	.logo img, .logo-trust img {
		height: 70px;
	}
	
	.logo img {
		height: 60px;
	}
}

.enquiry-form form, .enquiry-form input, .enquiry-form select, .enquiry-form textarea {
	width: 100%;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450;
	color: #46b450;
	text-align: center;
	background-color: white;
}

.navigation-socials {
	margin: 0 20px;
	font-size: 2.5rem;
}

.navigation-socials a {
	margin-right: 10px;
	transition: color 1s;
}

.open .navigation-socials a {
	color: white;
}

a.facebook:hover {
	color: #3b5998;
}

a.instagram:hover {
	color: #517fa4;
}

@media only screen and (max-width:1024px) {
	.navigation-socials {
		margin-left: 10px;
		font-size: 2rem;
	}
	.navigation-socials a {
		margin-right: 5px;
	}
	.navicon a {
		font-size: 2.5rem;
	}
}

article .policies {
	display: flex;
	flex-wrap: wrap;
}

.policy-box {
	display: flex;
	flex-direction: column;
	background-size: cover;
	background-position: center center;
	height:400px;
	width: 25%;
	background-position: bottom right;
	background-size: cover;
	background-repeat: no-repeat;
	transition: background-color 1s ease, background-image 1s ease;
	border: 5px solid white;
}

.home .policy-box {
	width: 50%;
}

.three_policies .policy-box {
	width: 33%;
}

.policy-box .top {
	height: 50%;
	padding: 30px;
}

.policy-box img {
	opacity: 0;
	transition: opacity 1s ease;
	max-height: 150px;
}

.policy-box:hover img {
	opacity: 1;
}

.policy-box .bottom {
	display: flex;
	flex-direction: column;
	height: 50%;
	padding: 30px;
}

.policy-box .bottom h4 {
	text-align: left;
	color: white;
}

.policy-box i {
	color: white;
	align-self: flex-end;
}

.postbox {
	display: flex;
	justify-content: space-around;
	margin-bottom: 50px;
}

.postbox .left {
	display: flex;
	flex-direction: column;
	width: 50%;
	padding-right: 50px;
}

.postbox .right {
	display: flex;
	flex-direction: column-reverse;
	width: 50%;
	background-position: center center;
	background-size: cover;
	align-items: flex-end;
}

.postbox .more-button {
	padding: 20px 30px;
}

.postbox .more-button i {
	margin-left: 10px;
}

.postbox .more-button p {
	margin: 0;
	padding: 0;
}

.postbox .date {
	font-size: 3rem;
	font-weight: 700;
	margin: 20px 0;
}

.postbox .date {
	display: flex;
	
}

.postbox .date .monthyear {
	line-height: 3rem;
	margin-left: 10px;
	margin-top: 10px;
}

.postbox .date .day {
	font-size: 10rem;
	line-height: 10rem;
}

.postbox h4 {
	margin-bottom: 20px;
	margin-top: 0;
	padding: 0;
	font-size: 4rem;
}

.post-page .date .date-title {
	font-weight: 700;
}

table th {
	font-weight: 800;
	text-align: left;
}

table td, table th {
	padding: 10px;
}

table td {
	border: solid 1px #bbbbbb;
}

.curriculum-list h3 {
	font-weight: 400;
}

.wpcf7 input, .wpcf7 textarea {
	width: 100%;
}

.twistedu_statbox h4 {
	font-family: 'Lato', sans-serif;
}

.legacy-policies {
	display: flex;
	flex-direction: column;
}

.legacy-policies .policy-box {
	background-image: none !important;
	width: 100%;
	height: auto;
	color: white;
	display: flex;
	justify-content: space-between;
	padding: 20px;
	flex-direction: row;
	cursor: pointer;
}

.legacy-policies .policy-box a {
	color: white;
}

.homepage-news-grid {
	width: 100%;
	display: grid;
	overflow: hidden;
	grid-template-rows: 1fr auto;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 40px;
}

.news-box-top {
	height: 30vh;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.news-box-image {
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 100%;
}

.news-box-top .more-button {
	color: white;
	padding: 10px 20px;
	margin-top: -20px;
}

.news-box-top .more-button a {
	color: white;
}

.news-box-bottom {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.news-box-bottom h4 {
	font-size: 3rem;
	line-height: 4rem;
	padding: 0;
	margin: 20px 0;
}

.homepage-news-grid {
	width: 100%;
	display: grid;
	overflow: hidden;
	grid-template-rows: 1fr auto;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 40px;
}

.newspage-grid {
	width: 100%;
	display: grid;
	overflow: hidden;
	grid-template-rows: 1fr auto;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 40px;
}

.news-box-top {
	height: 30vh;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.news-box-image {
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 100%;
}

.news-box-top .more-button {
	color: white;
	padding: 10px 20px;
	margin-top: -20px;
}

.news-box-top .more-button a {
	color: white;
}

.news-box-bottom {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding-bottom: 30px;
}

.news-box-bottom h4 {
	font-size: 3rem;
	line-height: 4rem;
	padding: 0;
	margin: 20px 0;
}

.news-box-bottom p {
	margin-top: 0;
}

@media only screen and (min-width:1140px) {
	
	.newspage-grid {
		 grid-auto-flow: row dense;
	}
	
	.news-box-top:nth-child(6n+1) {
		grid-column: 1;
	}

	.news-box-top:nth-child(6n+3) {
		grid-column: 2;
	}

	.news-box-top:nth-child(6n+5) {
		grid-column: 3;
	}

	.news-box-bottom:nth-child(6n+2) {
		grid-column: 1;
	}

	.news-box-bottom:nth-child(6n+4) {
		grid-column: 2;
	}

	.news-box-bottom:nth-child(6n+6) {
		grid-column: 3;
	}

}
@media only screen and (max-width:1139px) {
	
	.homepage-news-grid {
		grid-template-columns: 1fr;
	}
	
	.newspage-grid {
		grid-template-columns: 1fr;
	}
	
}

.curriculum .sow-accordion .policies {
	margin-top: 30px;
	margin-bottom: 20px;
}

.timeline-date {
	display: none !important;
}

.cd-timeline-item-title {
	font-size: 3rem;
}

.applicationform .small-btn {
	padding: 10px 30px;
	color: white;
	transition: background-color 1s ease, color 1s ease;
}

.applicationform .small-btn:hover {
	padding: 10px 30px;
	background-color: white;
}

.review-table td {
	padding: 8px 5px;
}

.cookie-button {
	background-color: white;
	padding: 5px 10px;
	font-weight: 800;
	border-radius: 5%;
}
