/*
Theme Name: TSA 2026
Author: We Are Factory
Author URI: https://www.wearefactory.net/
Version: 1.0
*/

/*-----------------------------------------------------------------------------------

	= Table of Contents



	1. = Fonts

	2. = Body, Typography and some main Elements

	4. = Header styling

	5. = Navigation styling

	6. = Footer styling

	7. = Sidebar styling

	8. = Home Page styling

	9. = Works Page styling

	10.= Schools Page styling

	11.= News Page and News Detail page styling

	12.= Diary Page styling

	13.= Library Page styling	

	14.= Network Page styling	

	15.= Contact Page styling	

	16.= Meal Page styling

	

	

/*-----------------------------------------------------------------------------------*/

/* 1. = Fonts

/*-----------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------*/

/* 1. = variables

/*-----------------------------------------------------------------------------------*/


:root {
    --red: #C31D13;
    --green: #5EB16B;
    --teal: #47C1A8;
	--grey: #efefef;
	--puma: #7B3E88
}


/*-----------------------------------------------------------------------------------*/

/* 2. = Body, Typography and some main Elements

/*-----------------------------------------------------------------------------------*/

html {font-size:62.5%;}
body {font-family:"objektiv-mk2", sans-serif; font-weight: 400; font-size:1.8em; line-height:1.6; font-style:normal; background-color:#fff; color:#5A5A5A;}

h1, h2, h3, h4, h5, h6 { margin-top:0rem; margin-bottom: 3rem; font-weight: 600; position: relative; }

h1 { font-size: 2.5rem; line-height: 4.5rem; color:#fff;  }
h2 { font-size: 2.1rem; line-height: 2.6rem;  }
h3 { font-size: 2.4rem; line-height: 3.1rem; letter-spacing: normal; font-weight: 600; }
h4 { font-size: 1.8rem; line-height: 2.35rem; }
h5 { font-size: 1.6rem; line-height: 1.5rem;   }
h6 { font-size: 1.6rem; line-height: 1.8rem; margin-bottom: 1rem; }

h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {color:#EF003B;}

p { margin-top: 0; font-size:1.6rem; line-height: 1.8;}

ul {list-style:"+  "; margin-bottom: 3rem;}

li {font-size:1.6rem; margin-bottom: 10px;}

/* Larger than phablet */
@media (min-width: 550px) {
	
}

/* Larger than tablet */
@media (min-width: 1000px) {

	p { margin-top: 0; font-size:1.6rem }
	
	li {font-size:1.6rem; margin-bottom: 10px;}
	
	h1 { font-size: 3.5rem; line-height: 4.5rem; color:#fff;  }
	h2 { font-size: 2.8rem; line-height: 3rem;  }
	h3 { font-size: 2.4rem; line-height: 3.1rem; letter-spacing: normal; font-weight: 600; }
	h4 { font-size: 1.8rem; line-height: 2.35rem; }
	h5 { font-size: 1.6rem; line-height: 1.5rem;   }
	h6 { font-size: 1.6rem; line-height: 1.8rem; margin-bottom: 1rem; }
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
	
	
}

/* Larger than Desktop HD */
@media (min-width: 1400px) {
    
	p { margin-top: 0; font-size:1.8rem }
	
	li {font-size:1.8rem; margin-bottom: 10px;}
	
	h1 { font-size: 5rem; line-height: 5.5rem; color:#fff;  }
	h2 { font-size: 4rem; line-height: 5.2rem;  }
	h3 { font-size: 2.4rem; line-height: 3.1rem; letter-spacing: normal; font-weight: 600; }
	h4 { font-size: 1.8rem; line-height: 2.35rem; }
	h5 { font-size: 1.6rem; line-height: 1.5rem;   }
	h6 { font-size: 1.6rem; line-height: 1.8rem; margin-bottom: 1rem; }
	
}


/*-----------------------------------------------------------------------------------*/

/* 2. = Styles

/*-----------------------------------------------------------------------------------*/



.container {position: relative; width: 94%; max-width:1400px; margin-left: auto; margin-right: auto; box-sizing: border-box; }

.wp-block-group {max-width:1200px; width: 94%; }

.alignwide {max-width:1400px; margin: 0 auto;}

body .is-layout-constrained > .alignwide {max-width:1400px; margin: 0 auto;}
	
.alignfull {max-width:none; width:100%;}

.wp-block-group.has-background {padding:2rem; margin: 3rem auto;}


.puma-bg {background-color:var(--puma) !important;}

.puma {color:var(--puma) !important;}

.school-bg {background-color:var(--green) !important;}

.school {color:var(--green) !important;}


main#main {margin-top:0px}

a { transition:0.5s ease-in-out all; text-decoration: none; color:#5a5a5a; font-weight:600;}

.blocklink {position:absolute; top:0; left:0; width:100%; height:100%; z-index:9999; border: none;}

.contain-link {display:block;}

.blocklink:hover {border:0;}

.blockimage {background-size:cover; background-position: center; position:absolute; top:0; left:0; width:100%; height:100%; z-index: 999;}

.space {margin:11%;}

blockquote, blockquote.wp-block-quote {width:85%; margin: 0 auto; font-size:2rem;}

.aligncenter {text-align:center;}

.has-text-align-right, .has-text-align-left {text-align:center;}



.title-alt {font-size:40px !important;}

.feature-button figure {float: none !important; display:block!important; text-align: center;}

.link {color:var(--gold); border-bottom:3px solid var(--gold);}

.alignright {text-align:right;}

.rounded {border-radius:15px; overflow: hidden;}

.shadow {box-shadow:0 3px 10px 0 rgba(0,0,0,0.15);}



.content-wrapper {padding:5%;}

.flex {display: flex; flex-flow: row wrap; align-items:stretch; justify-content:left; gap:5%;}

.padding-wrapper {padding:2%;}

.align-middle {align-self:center;}

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

.modula {display:none;}


.navigation {}

.navigation ul {list-style:none;}

.navigation li {display: inline-block;}

.navigation li a {color:#fff; width:30px; height:30px; background:var(--teal); color:#fff; text-align: center; border-radius: 5px; display:inline-flex; flex-flow:row; align-items: center; justify-content: center; font-size: 14px; font-weight:400;}

.navigation li a:hover {background-color:var(--red);}

.navigation li.arrows a{width:auto; padding: 0 20px;}


.breadcrumb {font-size:1.4rem;}

.red {color:var(--red);}





/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {
    
    
	
}

/* Larger than tablet */
@media (min-width: 750px) {
    
    .feature-button figure {display:inherit; text-align:inherit;}
    
    .title-alt {font-size:110px !important;}
	
    main#main {margin-top:0;}
    
    blockquote, blockquote.wp-block-quote {width:65%;}
    
    .has-text-align-right {text-align:right;}
    
    .has-text-align-left {text-align:left;}
	
	.wp-block-group.has-background {padding:2rem; margin: 3rem auto;}
	
	.narrow {width:50%; margin-left: auto; margin-right: auto;}
	
	.flex { gap:2%;}
    
}


/* Larger than desktop */
@media (min-width: 1000px) {
    
    .wp-block-group.has-background {padding:3rem; margin: 2rem auto;}
	
	.modula {display:block;}
	
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
	
	
	
}

/* Larger than Desktop HD */
@media (min-width: 1400px) {
	
	.wp-block-group.has-background {padding:5rem; margin: 5rem auto;}
	
}

/*-----------------------------------------------------------------------------------*/

/* 3. = Header

/*-----------------------------------------------------------------------------------*/


#header {position: fixed; padding:0; top:0; height: 110px; width: 100%; background-color:#fff;;  color:#5a5a5a; z-index: 99999; transition:0.5s all;  }

#header #site-menu {background-color:var(--teal); color:#fff; height:40px; padding: 0 1rem;}

#header #site-menu .site-menu-wrapper {display:flex; justify-content: center;}

#header #site-menu .dashicons-twitter::before {content:"\e61b";  font-family: 'Font Awesome 6 Brands' !important; font-style: normal;}

#header #brand {background-color:#fff; padding: 0 2rem; height:70px; display:flex; gap:4%; justify-content: flex-start; align-content: center; align-items: center;}

#header.scroll-down {top:-110px; }

#header.scroll-up {top:0px; }

main {padding-top:110px;}


.animatedfsmenu-navbar-toggler:not(.custom-burger) {height:80px!important;}

#header .header-left {display:block; flex:1 0 20%;    text-align: left;}

#header .header-right {display:flex; flex:1 0;  justify-content:flex-end;}






#header button {height:auto;}

#header .brand a { border:none;}

#header .brand img {height:100%; width:auto; display: inline-block; vertical-align: bottom;}

#header .brand .factory-text {height:80%; position:relative; bottom:-5px; left: 5px; transition:0.5s opacity ease-out;}
  


#hero { position: relative;  height:260px; background-position: center; background-size:cover; background-color:var(--red); margin-bottom: 0rem; color:#fff;}

#hero .bg-image-grey {width:100%; height:100%; position: absolute; top:0; left:0; background-position: center; background-size:cover; background-color:var(--red); filter: grayscale(1); mix-blend-mode: multiply; opacity: 0.2}

#hero .container {height:260px;}

#hero .title {position: absolute; bottom:2rem;}

#hero h1 {margin-bottom:0.5rem;}

#hero p {margin-bottom:0;}


#hero svg {position: absolute; top:0; left:0; width:100%; height:100%;}








/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}

/* Larger than tablet */
@media (min-width: 750px) {
    
    #header {justify-content: center;}
	
	#header .book-table {display:inline-block;}
	
	#hero .container {height:260px;}
	
	#header #site-menu {padding: 0 2rem;}
	
	#header #site-menu .site-menu-wrapper {display:flex; justify-content: flex-end;}
		
}

/* Larger than desktop */
@media (min-width: 1000px) {
	

	
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
	
	#hero .container {height:260px;}
}

/* Larger than Desktop HD */
@media (min-width: 1400px) {
	

#header {height:130px;}
	
   	#header #brand { height:90px;}

	#header.scroll-down {top:-130px; }

	#header.scroll-up {top:0px; }
	
	main {padding-top:130px;}
	
}

/*-----------------------------------------------------------------------------------*/

/* 4. = Footer

/*-----------------------------------------------------------------------------------*/

footer {color:#fff; padding: 7rem 0; font-weight: 100; background-color:#5a5a5a; }

footer p, footer ul {font-weight: 400; font-size:1.4rem;}

footer h2, footer h3 {font-size:12px; text-transform: uppercase; margin-bottom: 1.5rem; border-bottom:1px solid #fff;}

#footer-menu {padding:2rem 0; border-top:solid 2px #5a5a5a;}

.footer-menu-column {flex:1 1 15%;}

.footer-menu-column ul {list-style:none; padding:0; margin: 0 0 2rem 0;}

.footer-menu-column ul li {padding:0; margin: 0; font-size:1.4rem;}

.footer-menu-column ul li a {font-weight:400;}

.footer-menu-column h3 {font-size:12px; line-height: 1.2; text-transform: uppercase; margin-bottom: 1.5rem; color:var(--red); border-bottom:1px solid var(--red);}

.footer-top {color:#fff; border-top:1px solid var(--gold); padding:2rem 0 4rem 0; }

.footer-base {color:var(--gold); border-bottom:1px solid var(--gold); padding:2rem 0; display: flex; flex-flow:row; justify-content: space-between; align-items: flex-end; align-content:flex-end;}

.fb-right {flex:1 0 50%; text-align: right;}

.footer-base span {display:inline-block; vertical-align: bottom;}

.footer-base .factory-logo {margin-left:10px;}

footer ul {list-style:none;}

footer ul li {margin:0;}

footer a {color:#fff; border-bottom:1px dotted #fff;}



/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}

/* Larger than tablet */
@media (min-width: 750px) {
    

	
}

/* Larger than desktop */
@media (min-width: 1000px) {
    
   
	
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
    
   
	
}


/*-----------------------------------------------------------------------------------*/

/* 4. = Blocks

/*-----------------------------------------------------------------------------------*/



.wp-block-group {margin:3rem auto;}

.wp-block-group .wp-block-group {margin:0 auto;}

.inset {margin-left: 8%; margin-right:8%;}

.work-tiles {display:flex; justify-content: space-between; flex-flow:row wrap; align-items: flex-start; align-content: flex-start;}

.work-tile {flex:0 0 49%; margin-bottom: 2%;}



/* Project hover */
.caption-style-4 {float:left; padding:0px; margin:0px; position:relative; overflow:hidden;}

.caption-style-4 .caption {cursor:pointer; position:absolute; opacity:0; width:100%; height:100%; transition:all 0.45s ease-in-out;}

.caption-style-4:hover .caption {opacity:1; cursor:pointer;}

.caption-style-4:hover img {opacity:1; cursor:pointer;}

.caption-style-4 img {margin:0px; padding:0px; float:left; z-index:4; transition:all 0.25s ease-in-out;}

.caption-style-4 .blur {background-color:rgba(255,255,255,0.90); height:100%; width:100%; z-index:5;	position:absolute; cursor:pointer;}

.caption-style-4 .caption-text {z-index:10; position:absolute; width:280px; left:20px; top:20px; }

.caption-style-4 .caption-text h2 {font-size:1.8rem; line-height:2.1rem; color:#000; display:inline; margin-bottom:5px;}

.caption-style-4 .caption-text p {font-size:1.4rem; color:#000;}



/* vimeo */

.wp-embed-aspect-16-9 .wp-block-embed__wrapper {padding:56.25% 0 0 0; padding:100% 0 0 0; position:relative; width:100%;}

.wp-embed-aspect-16-9 iframe {position:absolute; width:100%; top:0; left:0; height: 100%;}

/* end vimeo */


.wp-block-column.has-background .wp-block-group {margin: 5rem auto;}


.wp-block-cover, .wp-block-cover-image {height:100%;}

.wp-block-cover .wp-block-cover__inner-container {padding: 4rem;}

.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container, .wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {width:70%;}


.wp-block-image {width:100%;}

.wp-block-image figure, .wp-block-image .alignright, .wp-block-image .alignleft {margin:3vh 10%;}

.wp-block-image figure:last-child {margin-bottom:0;}

.wp-block-quote {border:none; padding: 0;}

blockquote, blockquote p {position:relative; font-size: 2rem; font-weight:400; border:none;  margin: 2rem auto; }

blockquote p:last-child, blockquote.wp-block-quote p:last-child {margin:0; padding: 0;}

blockquote.wp-block-quote::before, blockquote.wp-block-quote::after {content:""; display:block; width:20px; height:20px; position:absolute; top:0px; left:50%; transform: translateX(-50%); background-image: url("assets/images/interface/divider.png"); background-size:contain; background-position: center;}

blockquote.wp-block-quote::after {top:auto; bottom:0px;}

.wp-block-separator {border-bottom:none; border-right:1px solid var(--gold); height:70px; width: 0px !important;}

hr {margin:1rem 0;}

hr {border-top:1px solid #ccc; margin: 3rem 0;}

.downloads-form {background-color:var(--grey);}


.block-tsa-accordian {}

.block-tsa-accordian .ghostkit-accordion-item {padding:0;}

.block-tsa-accordian a { padding-left: 2rem; background-color:var(--grey); margin-bottom: 5px; border-radius: 5px; font-size:2.4rem;}

.block-tsa-accordian .svg.ghostkit-svg-icon {height:2rem; width:2rem;}

figure.wp-block-embed {margin:0;}


.shelf-quote {}

.tiles-with-text p {font-size:1.6rem; line-height: 1.3;}

.tiles-with-text .wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {width:100%; padding: 0rem;}

.tiles-with-text a {color:#fff;}


.wp-block-group.membership-enq-form label {color:#fff;}

.swiper-backface-hidden .swiper-slide {align-self:center;}




/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}

/* Larger than tablet */
@media (min-width: 750px) {
	
	.wp-block-group {margin:6rem auto;}
    
    .wp-block-image figure, .wp-block-image .alignright { text-align: right;}
	
	.wp-block-image figure, .wp-block-image .alignleft { text-align: left;}
	
	.wp-block-group {margin:3rem auto;}
	
}

/* Larger than desktop */
@media (min-width: 1000px) {
	
	
	
	.work-tile {flex:0 0 32%;}
	
	.wp-block-group {margin:5rem auto;}
	
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
	

	
}

/* Larger than Desktop HD */
@media (min-width: 1400px) {
	
	blockquote, blockquote p { font-size: 2.5rem; }
	
	.wp-block-group {margin:6rem auto;}
	
}




/*-----------------------------------------------------------------------------------*/

/* 4. = Navigation

/*-----------------------------------------------------------------------------------*/

/*

#mega-menu-wrap-primary #mega-menu-primary[data-effect="fade_up"] li.mega-menu-item.mega-menu-megamenu > ul.mega-sub-menu, #mega-menu-wrap-primary #mega-menu-primary[data-effect="fade_up"] li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {box-shadow: 0px 3px 10px 0 rgba(0,0,0,0.16);}

#mega-menu-wrap-members-area-menu #mega-menu-members-area-menu > li.mega-menu-item {display:block; margin-bottom: 10px;}

#mega-menu-wrap-members-area-menu #mega-menu-members-area-menu > li.mega-menu-item > a.mega-menu-link {box-shadow: 0 3px 10px rgba(0,0,0,0.15);}



#mega-menu-wrap-site #mega-menu-site > li.social-link > a.mega-menu-link  {font-size:1.8rem !important;}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-feature-button > a.mega-menu-link {background-color:var(--teal); color:#fff; box-shadow: 0 3px 10px rgba(0,0,0,0.15); }

*/

#mega-menu-wrap-site #mega-menu-site > li.mega-hide-on-mobile {display:none;}

#site-menu {display: block;}

#site-menu a {font-size:13px !important;}



/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}

/* Larger than tablet */
@media (min-width: 750px) {
	
	#site-menu {display: block;}
	
   #mega-menu-wrap-site #mega-menu-site > li.mega-hide-on-mobile {display:inline-block;} 
   
   #mega-menu-wrap-login #mega-menu-login > li.mega-menu-item > a.mega-menu-link {font-size:16px;}

}

/* Larger than desktop */
@media (min-width: 1000px) {
	
    
    

}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
	
   
	
}



/*-----------------------------------------------------------------------------------*/

/* 4. = Forms

/*-----------------------------------------------------------------------------------*/

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button, button, input[type="submit"], input[type="reset"], input[type="button"] {
  display: inline-block;
  background-color:var(--red);
  border: none;
  height: 48px;
  padding: 0 25px;
  color: #fff;
  text-align: center;
  font-size:16px;
  font-weight: 700;
  line-height: 48px;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 5px;
  cursor: pointer;
  box-sizing: border-box; }

.button:hover, button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, .button:focus, button:focus, input[type="submit"]:focus, input[type="reset"]:focus, input[type="button"]:focus {
  color: #fff;
  border-color: none;
  background-color:#101010;
  outline: 0; }

.button-teal {background-color:var(--teal);}


.button.button-outline, button.button-outline, input[type="submit"].button-outline, input[type="reset"].button-outline, input[type="button"].button-outline {border:2px solid #fff; background-color:transparent;}

.button.button-outline, button.button-outline, input[type="submit"].button-outline, input[type="reset"].button-outline, input[type="button"].button-outline {border:2px solid #fff; background-color:transparent;}


.wp-block-button__link {display:inline-block; padding: 0 2rem; color:#fff; font-size:15px;  line-height:48px; letter-spacing: normal; font-weight:600; border:3px solid white; background-color:transparent; border-radius:5px;} 

.wp-block-button.is-style-outline>.wp-block-button__link {padding:0 2rem;}

.green-button .wp-block-button__link {background-color:var(--green); color:#fff; border:none;}

.red-button .wp-block-button__link {background-color:var(--red); color:#fff; border:none;}

.wp-block-buttons>.wp-block-button {margin-bottom:2rem;}


.wpcf7-spinner {display:block; margin: 0 auto;}



/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],input[type="date"],input[type="number"],input[type="search"],input[type="text"],input[type="tel"],input[type="url"],input[type="password"],textarea, select {
  position:relative;
  color:#222;
  font-size:1.6rem;
  font-weight:400;
  padding: 15px 70px 15px 20px; /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff !important;
  border:none;
  width:auto;
  border-radius: 5px;
  box-shadow: 0 3px 5px 0 rgba(0,0,0,0.1);
  box-sizing: border-box; 
	width:100%;
}

textarea {border-radius:0;} 

input[type="email"],input[type="number"],input[type="search"],input[type="text"],input[type="tel"],input[type="url"],input[type="password"],textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }/* Removes awkward default styles on some inputs for iOS */

textarea {
	min-height: 65px;
 padding-top: 6px;
  padding-bottom: 6px; }

input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="text"]:focus,input[type="tel"]:focus,input[type="url"]:focus,input[type="password"]:focus,textarea:focus,select:focus {
  border: 1px solid #33C3F0;
  outline: 0; }

label,legend {
  display: block;
  margin-bottom: 1rem;
  font-weight: 600;
text-transform: none;
font-size:1.5rem;}

fieldset {
  padding: 0;
  border-width: 0; }

input[type="checkbox"], input[type="radio"] {
  display: inline; }

label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: 200; }


select{-webkit-appearance: none; -moz-appearence: none; }


::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #ccc;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #ccc;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #ccc;
}
:-moz-placeholder { /* Firefox 18- */
  color: #ccc;
}

.feature-form {}


.swpm-login-widget-form {text-align: center;}


/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {
	
	
	
}

/* Larger than tablet */
@media (min-width: 750px) {
    
   
    input[type="email"],input[type="date"],input[type="number"],input[type="search"],input[type="text"],input[type="tel"],input[type="url"],input[type="password"],textarea, select {font-size: 1.8rem; width:auto;}
    
    
}

/* Larger than desktop */
@media (min-width: 1000px) {
	
	input[type="email"],input[type="date"],input[type="number"],input[type="search"],input[type="text"],input[type="tel"],input[type="url"],input[type="password"],textarea, select {font-size: 2rem;}
    
	
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {

}

/* Larger than Desktop HD */
@media (min-width: 1500px) {
    
 

	
}


/*-----------------------------------------------------------------------------------*/

/* 4. = Content Page

/*-----------------------------------------------------------------------------------*/

.content-pad {margin:5% 0;}

.day-block {position:relative;}

.day-block::before {content:""; position:absolute; top:0; left:50%; transform:translate(-50%, -50%); width:94px; height: 94px; background-image: url("assets/images/interface/night-day-logo.png"); background-size:contain; background-position:center; z-index: 99;}



/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {
	
	
	
}

/* Larger than tablet */
@media (min-width: 750px) {
    
   
    
    
    
}

/* Larger than desktop */
@media (min-width: 1000px) {
	
	
	
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {

}

/* Larger than Desktop HD */
@media (min-width: 1500px) {
    
 

	
}





/*-----------------------------------------------------------------------------------*/

/* 4. = Home Page

/*-----------------------------------------------------------------------------------*/


.frontpage-hero {height:100vh;}

.frontpage-hero h2 {font-size:80px; line-height: 80px; margin: 2% 0;}

.frontpage-hero .wp-block-image img {width:60%;}


/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {

}

/* Larger than tablet */
@media (min-width: 750px) {
    
    .frontpage-hero {height:90vh;}
	
}

/* Larger than desktop */
@media (min-width: 1000px) {
    
    .frontpage-hero h2 {font-size:110px; line-height: 110px}
	
	.frontpage-hero .wp-block-image img {width:90%; margin-bottom: 5vh;}
	

	
}

/* Larger than Desktop HD */
@media (min-width: 1400px) {
	
    .frontpage-hero h2 {font-size:170px; line-height: 170px;}
	
}







/*-----------------------------------------------------------------------------------*/

/* 4. = News

/*-----------------------------------------------------------------------------------*/

.news-flex {display: flex; flex-flow: row wrap; align-items:stretch; justify-content:left; gap:2%; width:100%;}
		
		.story {flex:0 0 100%;}
		
        .news23 {margin: 2rem auto;}
        
        .news23 .news-wrapper {display: flex; gap:2%; flex-flow: row wrap;align-items: stretch; justify-content:space-between; width: 100%;}
        
        .news23 .news-image {background-size:cover; background-position:center;}
        
        .news23 .content-wrapper {padding:5%;}
		
		.news23 h2 {line-height:1.3; font-weight:500; font-size:2rem; color:#fff;}
		
		
        
        .news23 article {border:none; padding-bottom:0;}
        
        .news23 article.story {margin:0 0 3rem 0; position:relative;}

        .news23 article .news-image {height:400px;}

        .news23 article:hover h2 {color:#fff;}

        .news23 article:hover .overlay {background-color:rgba(0,0,0,0)}


        .news23 article a {border:none;}

        .news23 article date {color:#fff; font-weight:400; text-transform: uppercase;}
		
		.news23 .content-wrapper {padding:5%;}

        .news23 article .overlay {position: absolute; bottom:0; left:0; width:100%; height:50%; padding:0; background: rgb(0,0,0); background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.75) 100%); transition:0.5s all ease-out; }

        .news23 article .overlay .title {position:absolute; bottom:0; width:90%;}
		
		
		
		.ftc-green {background:#4EA6A7;}
		
		.ftc-red {background:#FD5D56;}
		
		.ftc-ltblue {background:#41A7FF;}
		
		.ftc-pink {background:#FF41AF;}
		
				/* Larger than mobile */
		@media (min-width: 400px) {}

		/* Larger than phablet (also point when grid becomes active) */
		@media (min-width: 550px) {



		}

		/* Larger than tablet */
		@media (min-width: 750px) {

			.story {flex:1 0 48%;}
		

		}

		/* Larger than desktop */
		@media (min-width: 1000px) {
			
			.news-archive .story:nth-child(1), .news-archive .story:nth-child(2) {flex:1 0 48%;}
			
			.news-archive .story:nth-child(1), .news-archive .story:nth-child(2) {flex:1 0 48%;}
			
			.news-archive .story:nth-child(1) .news-image, .news-archive .story:nth-child(2) .news-image {height:500px;}

			.story {flex:1 0 23%;}
		

		}

		/* Larger than Desktop HD */
		@media (min-width: 1500px) {

			.news-archive .story:nth-child(1) .news-image, .news-archive .story:nth-child(2) .news-image {height:600px;}

		}


/*-----------------------------------------------------------------------------------*/

/* 4. = News single

/*-----------------------------------------------------------------------------------*/

.news-single .wp-post-image {width:100%; height:auto;}

.news-single img {border-radius:5px; box-shadow: 0px 3px 6px 0 rgba(0,0,0,0.3);}

.news-single .archive-wrapper {position:relative;}

.news-single .archives ul {list-style:none; margin: 0 0 3rem 0; padding: 0;}

.news-single .archives li {display:inline-block; margin:4px 4px;}

.news-single .archives li a {display:block; font-size:1.5rem !important; background-color:var(--red); color:#fff;  padding: 3px 10px; border-radius: 5px; font-weight: 400;}

.news-single .archive-wrapper {position:relative;}

.news-single .archive-wrapper .card {margin-top:30px;}


/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {
	

	
}

/* Larger than tablet */
@media (min-width: 750px) {
	
    
    
}

/* Larger than desktop */
@media (min-width: 1000px) {
    
    
	
}

/* Larger than Desktop HD */
@media (min-width: 1500px) {
	
  
	
}



/*-----------------------------------------------------------------------------------*/

/* 4. = Members List

/*-----------------------------------------------------------------------------------*/

.tsa-members {background-color:var(--grey); padding:2%;}

.members-list {list-style:none; margin: 0;  display:flex; justify-content: center; align-items: stretch; align-content: stretch; flex-flow:row wrap; gap: 2%;}

.members-list .member {position: relative; flex:0 1 48%; box-shadow: 0 3px 10px 0 rgba(0,0,0,0.16); background:#fff; margin-bottom: 2%; transition:0.5s all;}

.members-list .member:hover {transform:scale(110%); box-shadow: 0 8px 15px 0 rgba(0,0,0,0.16);}

.member-logo-wrapper {height: 100px; padding: 0 0 20px 0;}

.member-logo-wrapper img {max-height:100%; max-width:80%;}

.members-list .member .member-logo {max-height:80px; max-width: 80%; }

.membership-icon {width:60px; height:60px; background-size:contain; background-position:center;}

.level {display:flex; justify-content: flex-start; align-items: stretch; align-content: stretch; flex-flow:row; gap: 2%; padding: 20px 0; border-top:1px solid #ccc; border-bottom:1px solid #ccc;}

.level .level-col {flex:0 0 40%; border-right:1px solid #ccc; padding: 5%; text-align: center;}

.members-list .member-desc {display:none;}

.level .ccd-col {flex:0 0 30%; padding: 5%; align-self: center; }

.membership-icon {margin:0 auto;}

.ccd-logo {display:inline-block; padding:5px 10px; border:solid 2px var(--red); background-color:var(--red); border-radius: 99px; color:#fff; font-weight:400; text-transform: uppercase; text-align: center; font-size:1.4rem;}

/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {

	
}

/* Larger than tablet */
@media (min-width: 750px) {
	
	.members-list {justify-content: flex-start;}
	
	.members-list .member {flex:0 1 31%;}  
	
	.ccd-logo { font-size:1.6rem;}
    
}

/* Larger than desktop */
@media (min-width: 1000px) {
    
	.members-list .member {flex:0 1 23%;}
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
	
	.members-list .member {flex:0 1 18%;}
	
}

/* Larger than Desktop HD */
@media (min-width: 1500px) {
	
	.members-list .member {flex:0 1 15%;}
	
}

/* Larger than Desktop HD */
@media (min-width: 2000px) {
	
	.members-list .member {flex:0 1 12%;}
	
}


/*-----------------------------------------------------------------------------------*/

/* 4. = Members single

/*-----------------------------------------------------------------------------------*/

.member-profile .profile-wrapper {display:flex; justify-content: flex-start; align-items: flex-start; align-content: flex-start; flex-flow:column-reverse; gap: 0%; margin-top: 4rem;}

.member-profile .main-column {flex:0 0 100%;}

.member-profile .spec-column {flex:0 0 100%;}

.member-profile .card {margin:-200px 0 20px 0; background-color:#fff; border-radius:15px; box-shadow: 0 3px 10px 0 rgba(0,0,0,0.16);  }

.member-profile .member-desc, .member-profile .membership-icon {display:inline-block; vertical-align: middle;}

.member-profile .member-desc {white-space: pre-wrap; margin-left: 15px;}

.member-profile .member-desc h6 {margin: 0;}

.member-profile .telephone {font-size:3rem; font-weight:600;}

.member-profile h6 {color:var(--teal); margin: 2rem 0 2rem 0;}

.member-profile {}


/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {

	
}

/* Larger than tablet */
@media (min-width: 750px) {
	
	.member-profile .profile-wrapper {  flex-flow:row wrap; gap: 2%;}
	
	.member-profile .main-column {flex:0 0 63%;}

.member-profile .spec-column {flex:0 0 35%;}
	
	.member-profile .card {margin:-210px 0 20px 0;}
	
}

/* Larger than desktop */
@media (min-width: 1000px) {
    

}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
	

	
}

/* Larger than Desktop HD */
@media (min-width: 1500px) {
	

}

/* Larger than Desktop HD */
@media (min-width: 2000px) {

	
}




/*-----------------------------------------------------------------------------------*/

/* 4. = jobs

/*-----------------------------------------------------------------------------------*/

.job-opportunities {background-color:var(--grey); padding:2%;}

.job-tile {flex:0 0 100%; position:relative; border:4px solid transparent; padding-bottom:0; background-color:#fff; margin-bottom: 2%; transition:0.5s all;}
        
.job-tile:hover {border-color:var(--teal);}
		
.job-opportunities article .j-title {font-weight:700; display:flex; align-items: center; align-content: center; min-height: 80px; margin-bottom: 1.5rem; color:#5a5a5a;}
		
.job-opportunities article .comp-name {color:var(--teal); font-weight:700; margin: 0 0 30px 0}
		
.job-opportunities article ul {list-style: none; margin: 0 0 30px 0; padding: 0; color:#5a5a5a;}
		
.job-opportunities article li {margin:0; padding: 0}
		
.job-opportunities article .company-logo {}


#hero.job-single-hero {background-size:cover; background-position: center;}

#hero.job-single-hero h1 {}

#hero.job-single-hero h1 span {font-weight:200; color:#fff;}

.job-single .profile-wrapper {display:flex; justify-content: flex-start; align-items: flex-start; align-content: flex-start; flex-flow:column-reverse; gap: 0%; margin-top: 4rem;}

.job-single .job-logo-wrapper {border-bottom:1px solid #ccc; padding: 5% 0; margin-bottom: 5%;}

.job-single .job-logo-wrapper img {width:100%; height:auto;}

.job-single .main-column {flex:0 0 100%;}

.job-single .spec-column {flex:0 0 100%;}

.job-single .card {margin:-200px 0 20px 0; background-color:#fff; border-radius:15px; box-shadow: 0 3px 10px 0 rgba(0,0,0,0.16);  }

.job-single h6 {color:var(--teal);}

/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {



}

/* Larger than tablet */
@media (min-width: 750px) {

	.job-tile {flex:1 0 48%;}
	
	.apprentices .job-tile {flex:0 0 48%;}
	
	.job-single .profile-wrapper {  flex-flow:row wrap; gap: 2%;}
	
	.job-single .main-column {flex:0 0 63%;}

	.job-single .spec-column {flex:0 0 35%;}
	
	.job-single .card {margin:-210px 0 20px 0;}


}

/* Larger than desktop */
@media (min-width: 1000px) {

	.job-tile {flex:1 1 22%;}
	
	.apprentices .job-tile {flex:0 0 22%;}


}

/* Larger than Desktop HD */
@media (min-width: 1500px) {



}


/*-----------------------------------------------------------------------------------*/

/* 4. = Twitter feed

/*-----------------------------------------------------------------------------------*/

.tsa-twitter .juicer-feed h1.referral {display:none;}

.tsa-twitter .juicer-feed.modern li.feed-item {background:#ebebeb; border:none; border-radius:15px; font-family: "objektiv-mk2", sans-serif;}

.tsa-twitter .juicer-feed .j-paginate {margin: 20px auto; border-color:var(--red); color:var(--red);}

.tsa-twitter .juicer-feed .j-twitter-text:before { color:var(--red);}



/*-----------------------------------------------------------------------------------*/

/* 4. = Members area

/*-----------------------------------------------------------------------------------*/

#hero.ma {background-color:var(--teal);}

.tsa-members-area h1, .tsa-members-area h2, .tsa-members-area h3, .tsa-members-area h4 {color:var(--teal); font-weight:600;}

#menu-members-area {list-style:none; padding: 0; margin: 0;}

#menu-members-area li {margin-bottom:5px;}

#menu-members-area li a {display:inline-block; padding: 5px 15px; transition:0.3s all; border-radius: 5px;}

#menu-members-area li a:hover {background-color:var(--teal); color:#fff;}



/*-----------------------------------------------------------------------------------*/

/* 4. = trainign courses

/*-----------------------------------------------------------------------------------*/

.training-courses {background-color:#efefef; padding: 5%;}

.training-listing {flex:0 0 48%; background-color:#fff; margin-bottom:3%; box-shadow: 0 3px 10px 0 rgba(0,0,0,0.16);}


/*-----------------------------------------------------------------------------------*/

/* 4. = Guidance notes

/*-----------------------------------------------------------------------------------*/

ul.guidance-notes {list-style: none; padding: 0; margin: 0; display:flex; flex-flow:row wrap; justify-content: flex-start; align-items: flex-start; align-content: center; gap:2%;}

ul.guidance-notes li {flex:0 0 23%}

ul.guidance-notes .flex {flex-flow:row nowrap; align-content: center; align-items: center; min-height: 130px;}

.download-thumb-display { text-align: center;}

.gn-selector {text-align:left;}

.download-thumb-display img {width: 300px; height: auto; text-align: center;}

.checkbox {flex:0 0 60px;}

.downloads-form .locate input {width:100%; margin-bottom: 3rem;}

.consent {}

.consent-statement {width:85%;}

.gn-styled-chk input[type=checkbox]:checked ~ label, .gn-styled-chk input[type=radio]:checked ~ label  {background:var(--red);}

.gn-styled-chk input[type=checkbox]:checked ~ label:after, .gn-styled-chk input[type=radio]:checked ~ label:after {border:3px solid rgba(255,255,255,1); background:#000; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; content:''; position:absolute; width:9px; height:5px; background:transparent; top:8px; left:8px; border-top: none;border-right:none; -webkit-transform:rotate(-45deg); -moz-transform:rotate(-45deg); -o-transform:rotate(-45deg); -ms-transform:rotate(-45deg); transform:rotate(-45deg);}
	
/* Guidance notes checkbox styling */
.gn-styled-chk {width:28px; height:28px; background:#fff; margin:0 auto; -webkit-border-radius:50px; -moz-border-radius:50px; border-radius:50px; position:relative; border:var(--red) solid 3px;}

.gn-styled-chk label {cursor:pointer; position:absolute; width:28px; height:28px; -webkit-border-radius:50px; -moz-border-radius:50px;	border-radius:50px;	left:0px;	top:0px; background:#fff;}

.gn-styled-chk label:after {-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";	filter: alpha(opacity=0);	opacity: 0;	content:'';	position:absolute; width:9px;	height:5px;	background:transparent;	top:8px; left:8px; border:3px solid var(--red);	border-top: none;	border-right:none; -webkit-transform: rotate(-45deg);	-moz-transform: rotate(-45deg);	-o-transform: rotate(-45deg);	-ms-transform: rotate(-45deg);	transform: rotate(-45deg);}

.gn-styled-chk label:hover::after {-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; filter: alpha(opacity=50);	opacity: 0.5;}

.gn-styled-chk input[type=checkbox]:checked + label:after, gn-styled-chk input[type=radio]:checked + label:after {-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";	filter: alpha(opacity=100);	opacity: 1; }

.option {display:inline-block; margin-right:10px; margin-bottom: 20px;}

.gn-styled-chk {display:inline-block;}

.chk-label {display:inline-block;}


.step-loz { background:#fff; padding:15px 15px 20px 25px; margin:4rem 0; border-radius:5px; font-size:2.8rem; font-weight:600;}
.step-loz span {font-weight:500; font-size:2rem;}
	
	.view-link {margin-bottom:10px;}
	.view-link a {display:block; background-color: rgba(213,43,32,1); color:#fff; text-decoration:none; padding:6px 0;}
	.view-link a:hover {background-color:#666;}
	.view-link i {color:#fff; font-size:2rem;}
	
	.download-link {text-align:center;}

.download-link img {width:auto; height:auto;}
	.download-link a {text-decoration:none; text-transform:uppercase; font-size:1.4rem;}
	.download-link i {color: rgba(213,43,32,1);}


.newnote {display:inline-block; background-color: var(--red); color:#fff; padding: 3px 8px; font-size:14px; border-radius: 3px;}



/* download display page */

.download-thumb-download {margin-bottom: 4rem;}

.download-thumb-download h4 {margin:0 0 2rem 0; min-height: 40px;}


/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {



}

/* Larger than tablet */
@media (min-width: 750px) {

	.job-tile {flex:1 0 48%;}


}

/* Larger than desktop */
@media (min-width: 1000px) {

	.job-tile {flex:1 1 22%;}


}

/* Larger than Desktop HD */
@media (min-width: 1400px) {



}




/*-----------------------------------------------------------------------------------*/

/* 4. = work samples

/*-----------------------------------------------------------------------------------*/

.work-samples figcaption {font-size: 1.6rem; margin: 2rem 0 4rem 0;}

.worksamples .wp-block-column {}

.worksamples h2 a {color:#fff; line-height: 1;}

.worksamples h2  {font-size:2rem; padding: 1rem; line-height: 1.2; min-height: 80px; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 5px;}



/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {



}

/* Larger than tablet */
@media (min-width: 750px) {

	.job-tile {flex:1 0 48%;}


}

/* Larger than desktop */
@media (min-width: 1000px) {

	.job-tile {flex:1 1 22%;}


}

/* Larger than Desktop HD */
@media (min-width: 1500px) {

	.worksamples h2  {font-size:2.5rem; padding: 2rem;}

}



#events-list {background-color:var(--grey);}

#events-list .tribe-events .tribe-events-c-search__button, .tribe-events button.tribe-events-c-search__button, #events-list .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover, #events-list .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within {background-color:var(--teal); color:#fff;}

#events-list .tribe-common .tribe-common-c-btn-border, .tribe-common a.tribe-common-c-btn-border {border-color:var(--teal); color:var(--teal);}

#events-list .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search {gap:20px;}

#events-list .tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar {background-color:transparent; border:none;}

#events-list .tribe-events .tribe-events-c-events-bar__search-container, #events-list .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {background-color:transparent;}

#events-list .tribe-events .tribe-events-calendar-list__event-row {background-color:#fff; padding:3rem; border-radius: 15px;}

#events-list h3 a {color:var(--red);}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-header {margin:0 0 60px 0;}

.tribe-common .tribe-common-l-container {max-width:100%;}


/*-----------------------------------------------------------------------------------*/

/* 4. = Links

/*-----------------------------------------------------------------------------------*/

.links ul {margin: 0; padding: 0;}

.links li {display:block; width: 70%; background:var(--teal); padding:2rem; text-align: center; color:#fff; border-radius: 5px;}

.links li a {color:#fff; display:inline-block; margin-bottom: 10px; width: 100%; font-size:2.8rem;}



/*-----------------------------------------------------------------------------------*/

/* 4. = Join us

/*-----------------------------------------------------------------------------------*/

.wp-block-cover.join-need-help {height:auto}


/*-----------------------------------------------------------------------------------*/

/* 4. = Join us

/*-----------------------------------------------------------------------------------*/

.membership-enq form {text-align: center;}

.membership-enq form label {margin: 0 auto; }



.wp-block-group .team-profile h2 {font-size:3rem; margin: 20px 0 0 0;}

.wp-block-group .team-profile {text-align:center;}

.wp-block-group .team-profile img {max-width: 300px; width:100%; height:auto; margin: 0 auto;}

.wp-block-group .team-profile .qualifications {margin:0;}

.wp-block-group .team-profile .position {display:inline-block; margin: 2rem auto 2rem auto; padding: 5px 20px; border-radius:5px;  background-color:var(--red); color:#fff;}

.wp-block-group .team-profile .profile-accordion {}

.wp-block-group .team-profile .profile-accordion .ghostkit-accordion-item-heading {border-bottom:2px solid var(--red); color:var(--red); text-align: left; padding:10px 30px 10px 10px;}

.wp-block-group .team-profile .profile-accordion .ghostkit-accordion-item-content {padding:10px; }

.wp-block-group .team-profile .profile-accordion .ghostkit-accordion-item-content p {font-size:1.6rem;}

.wp-block-group .council-profile img {max-width: 200px; height:auto; margin: 0 auto;}








