/*
Theme Name: Talent25
Theme URI: Arch
Author: Arch
Author URI: archcreative.co.uk
Description: 
Version: 1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: 
Text Domain: 
*/

:root{
	--red:#e9426f;
	--blue-dark:#14194c;
	--blue:#2a3180;
	--blue-light:#46b3d3;
	--purple:#c789bb;
	--orange:#eb5e34;
	--yellow:#efb700;
	--green:#a5be2f;
	--grey:#f6f6f6;
	--black:#2e2e2e;
	--container:1460px;
	--small-container:1160px;
	--side-padding:30px;
	--plyr-color-main:var(--blue-light);
	--plyr-video-control-background-hover:#fff;
}


/* ===== GENERAL ===== */

html, body { width:100%;margin:0;padding:0;overflow-x:hidden;font-family: "Be Vietnam Pro", sans-serif; }

img { display:block; }
.container { max-width:var(--container);width:100%;margin:0 auto;padding:0 var(--side-padding); }
.small-container { max-width:var(--small-container);width:100%;margin:0 auto; }


.m-grid { margin:0; }

.pos-rel { position:relative; }
.pos-abs { position:absolute; }

h1,h2,h3,h4,h5,h6 { color:var(--red);font-weight:600;font-family: urbane-rounded, sans-serif; }
h1 { font-size:clamp(2rem,5vw,4rem); }
h3 { font-size:clamp(1.4rem,5vw,2rem);text-wrap:balance; }
h4 { font-size:clamp(1.125rem,3vw,1.5rem) }
h5 { color:var(--black);font-size:1.25rem;margin-bottom:-15px; }
h6 { margin:0px;font-size:1.125rem; }

.bg-grey { background:var(--grey); }
.bg-red { background:var(--red);color:#fff; }
.bg-blue { background:var(--blue);color:#fff; }
.bg-blue-dark { background:var(--blue-dark); }
.bg-blue-light { background:var(--blue-light);color:#fff; }
.bg-yellow { background:var(--yellow);color:#fff; }
.bg-green { background:var(--green); }
.bg-orange { background:var(--orange); }
.bg-purple { background:var(--purple); }
.bg-grey-split { background:#fff;position:relative; }
.bg-grey-split::before { content:"";display:block;width:100%;height:50%;background:var(--grey);position:absolute;top:0;left:0; }
.bg-white { background:#fff;color:var(--black); }

.bg-red :is(h1,h2,h3,h4,h5,h6) { color:#fff; }
.bg-blue-light :is(h1,h2,h3,h4,h5,h6) { color:#fff; }
.bg-blue :is(h1,h2,h3,h4,h5,h6) { color:var(--yellow); }



p, ul li { font-size:clamp(1rem,2vw,1.125rem);font-weight:400;line-height:clamp(1.4rem,2vw,1.75rem); }

a { color:var(--red);text-decoration:none;white-space:nowrap; }
a:hover { color:var(--orange); }

.bg-red a { color:#fff; }
.bg-red a:hover { color:var(--blue-dark); }


a.button { background:var(--red);text-decoration:none;color:#fff;border-radius:20px;padding:15px 25px;display:inline-block; }
a.button:hover { background:var(--blue-light) }
a.button.arrow::after { vertical-align:middle;content:"";display:inline-block;width:25px;height:25px;background:url("/wp-content/themes/talent25/img/button-arrow.svg") no-repeat center;background-size: contain;margin-left:10px; }

.vert-outer { display:flex;height:100%;align-items:center; }
.noverflow { overflow:hidden; }

/* ===== NAV MENU ===== */
nav { transition:all 0.3s ease-in-out;width:100%;max-width:1400px;position:fixed;top:0px;z-index:9999;left:50%;transform:translateX(-50%);box-shadow:0px 10px 15px rgba(0,0,0,0.2);border-bottom-left-radius:40px;border-bottom-right-radius:40px;overflow:hidden; }
.nav-top { background:var(--red);text-align:right;padding:20px 60px;color:#fff; }
.nav-top a { color:#fff;text-decoration:none;display:inline-block; }
.nav-top a:hover { color:var(--blue-dark); }
.contact { padding-left:38px;position:relative; }
.nav-top .contact:first-child { margin-right:30px; }
.contact::after { width:30px;height:30px;content:"";display:block;position:absolute;top:50%;transform:translateY(-50%);left:-2px; }
.contact.phone::after { background:url("/wp-content/themes/talent25/img/icon-phone-white.svg") no-repeat right center;background-size:contain; }
.contact.email::after { background:url("/wp-content/themes/talent25/img/icon-email-white.svg") no-repeat right center;background-size:contain; }

.contact-large { padding-left:20px;margin-top:90px; }
.contact-large .contact { padding-left:80px;display:block;margin-bottom:60px; }
.contact-large .contact::after { width:34px;height:34px; }
.contact-large .contact::before { width:70px;height:70px;top:-23px;left:-20px;content:"";background:#fff;display:block;border-radius:100%;position:absolute; }


.nav-bottom { transition:all 0.3s ease-in-out;background:var(--grey);padding:20px 40px 20px;display:inline-table;table-layout:fixed;vertical-align:middle;width:100%; }
.tc { display:table-cell;vertical-align:middle; }
.socials { width:135px;text-align:right; }
.socials a { transition:all 0.3s ease-in-out;position:relative;margin-right:10px;display:inline-block;width:58px;height:58px;border-radius:100%;background:var(--blue);overflow:hidden;text-indent:-9999px; }
.socials a:hover { background:var(--green); }
.socials a:last-child { margin-right:0px; }
.socials a::after { transition:all 0.3s ease-in-out;content:"";display:block;width:20px;height:20px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%); }
.socials a.facebook::after { background:url("/wp-content/themes/talent25/img/facebook.svg") no-repeat center;background-size:contain; }
.socials a.x::after { background:url("/wp-content/themes/talent25/img/x.svg") no-repeat center;background-size:contain; }
.socials a.youtube::after { background:url("/wp-content/themes/talent25/img/youtube.svg") no-repeat center;background-size:contain; }


.logo { width:240px;position:relative;top:-5px;text-align:left;}
.logo img { transition:all 0.3s ease-in-out;height:80px;display:inline-block;  }
nav.small .logo img { height:50px; }
nav.small .nav-bottom { padding:15px 60px 15px; }
nav.small { top:-56px; }
nav.small .socials a { width:40px;height:40px; }
nav.small .socials a::after { width:15px;height:15px; } 
#navmenu .menu { justify-content:space-evenly;list-style: none;padding:0;margin:0;width:100%;z-index:100;position:relative;display:flex; }
#navmenu .menu li { border-bottom:2px solid transparent;text-align:center;padding:5px 10px;position:relative; }
#navmenu .menu li a  { text-decoration:none;color:var(--blue);font-weight:600;font-family: urbane-rounded, sans-serif; }
#navmenu .sub-menu { display:none;position:absolute;width:100%;top:100%;left:0;background:#fff;list-style: none;padding:0;margin:0; }
#navmenu .sub-menu li { display:inline-block;width:100%; }
#navmenu .menu li:hover .sub-menu { display:inline-block; }

#navmenu .menu li.current-menu-item, #navmenu .menu li:hover { border-bottom:2px solid var(--blue); }

.mobile-toggle { width:30px;height:30px;display:none; }
.toggle-bar { width:100%;height:3px;margin-bottom:5px;background:#000; }
.mobile-toggle.active .toggle-bar { background:#666; }



footer { background:var(--blue);color:#fff;padding:60px 0px; }
footer a { color:#fff;text-decoration:none; }
footer h6 { margin-top:60px;color:#fff; }
footer .socials { width:100%;display:inline-block;text-align:left;margin:30px 0; }
footer .socials a { background:var(--blue-light); }
footer .socials a:hover { background:var(--red); }
.footermenu .menu {  line-height:2.5rem;list-style: none;padding:0;margin:-8px 0 0; }
.footermenu .menu li { line-height:2.5rem; }
.footer-arc { position:relative;text-align:center;width:100%;height:auto;aspect-ratio:192/35;max-height:300px;min-height:120px; }
.footer-arc::before { position:absolute;background:url("/wp-content/themes/talent25/img/footer-arc.svg") no-repeat center bottom;background-size:100% 100%;content:"";display:block;top:0;left:50%;transform:translateX(-50%);width:100%;height:100%;min-width:800px; }
.footer-arc span { padding:0 60px;z-index:2;font-size:clamp(1.3rem,2vw,1.8rem);color:#fff;font-weight:600;position:absolute;bottom:clamp(0px,2vw,60px);left:0;width:100%;text-align:center; }
footer .contact { display:block;margin-bottom:30px;padding-left:40px; }
.contact.phone.red::after { background:url("/wp-content/themes/talent25/img/icon-phone-red.svg") no-repeat center;background-size:contain; }
.contact.email.red::after { background:url("/wp-content/themes/talent25/img/icon-email-red.svg") no-repeat center;background-size:contain; }
.contact.location.red::after { background:url("/wp-content/themes/talent25/img/icon-location-red.svg") no-repeat center;background-size:contain; }
.footer-logo { margin-top:30px; }
.footer-bottom { color:#fff;padding:20px; }


/* HOME */
.hero.home { height:clamp(38vh, 55vw, 75vh);min-height:750px; } 
.hero.home .container { height:100%; padding-top:180px;padding-bottom:120px; }
.hero.home h1 { width:70%;max-width:680px; }
.hero.home img { position:absolute;bottom:0;right:0;height:calc(100% - 160px);width:40%;object-fit:contain;object-position:center bottom; }

.background-blobs { pointer-events:none;width:100%;height:85vw;position:absolute;top:-5vw;left:50%;max-width:1920px;transform:translateX(-50%);background:url("/wp-content/themes/talent25/img/background-blobs.svg") no-repeat right top;background-size:auto 100%; }
.background-blobs-2 { pointer-events:none;width:100%;height:50%;position:absolute;top:65%;left:-5%;max-width:1920px;background:url("/wp-content/themes/talent25/img/background-blobs-2.svg") no-repeat left bottom;background-size:auto auto; }
.background-blobs-3 { pointer-events:none;width:100%;height:calc(150% + 90px);position:absolute;top:calc(-25% - 45px);right:-5%;max-width:1920px;background:url("/wp-content/themes/talent25/img/background-blobs-3.svg") no-repeat right center;background-size:auto auto; }
.background-blobs-6 { pointer-events:none;width:100%;height:100%;position:absolute;top:-60px;right:-5%;max-width:1920px;background:url("/wp-content/themes/talent25/img/background-blobs-6.svg") no-repeat right center;background-size:auto auto; }



.workshops { overflow:hidden;position:relative;background:var(--blue);border-radius:60px;color:#fff;margin-top:-125px; }
.join-text { display:inline-block;background:var(--red);padding:45px 15px 30px 60px;width:43%;position:absolute;top:0;left:0;height:100%;position:static;width:100%;  }
.join-form {display:inline-block;padding:45px 60px 30px;width:57%;margin-left:43%;}
.workshops form input { width:100%;border-radius:20px;padding:clamp(15px,2vw,30px);margin:20px 0px 5px;border:none; }
.join-text:before { clip-path:ellipse(50% 70%);content:"";display:inline-block;width:100px;height:100%;position:absolute;top:0;right:0;background:var(--red);transform:translateX(20%); }
.workshops span { font-size:clamp(1.5rem,2vw,2rem);font-weight:600; }
.join-form span { font-size:clamp(1rem,2vw,1.5rem);font-weight:600; }
.join-form .vert { justify-content:center; }

.workshops.footer-workshops { transform:none;margin:0;color:var(--blue); border-radius:0px;padding:100px 0 60px;background:var(--grey); }
.workshops.footer-workshops .join-text { background:var(--grey);position:static;padding:15px; }
.workshops.footer-workshops .join-text:before { display:none; }
.workshops.footer-workshops .join-form { background:var(--grey);margin:0; }
.workshops.footer-workshops span { color:var(--red); }



.plyr__control--overlaid { color:var(--black);transform:scale(1.55) translate(-50%, -50%); }
.plyr--video .plyr__control:focus-visible, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] { background:var(--black); }


.icons { display:flex;flex-wrap:wrap;gap:30px;justify-content:center; }
.icon-banner { padding:60px 0px; }
.icon-holder { flex:0 1 calc(20% - 60px);display:inline-block;text-align:center;font-size:1.125rem; }
.icon-holder a { color:#000; }
.bg-blue .icon-holder a { color:#fff; }
.icon { padding:30px;width:190px;height:190px;border-radius:100%;display:flex;justify-content:center;align-items:center;margin:0 auto 30px; }
.icon img { width:100%;height:100%;max-width:100px;max-height:100px;object-fit:contain; }

.icon-holder a:hover .icon { background:var(--blue-dark); }
/*.icon-holder a:hover .icon.bg-yellow { background:var(--red); }*/

.video-section { padding:clamp(60px, 8vw ,120px) 0px; }

.two-column { padding:15px 0; }
.two-column img { position:relative;top:15px;width:100%;object-fit:cover; }
.img-bottom { display:flex;align-items:flex-end;height:100%; }
.img-bottom.left img { left:-30px; }
.img-bottom.right img { right:-30px; }
.mask-1 { mask-image: url('/wp-content/themes/talent25/img/mask-blob-1.svg');mask-repeat:no-repeat;mask-size:100% 100%; }
.mask-2 { mask-image: url('/wp-content/themes/talent25/img/mask-blob-2.svg');mask-repeat:no-repeat;mask-size:100% 100%; }
.mask-3 { mask-image: url('/wp-content/themes/talent25/img/mask-blob-3.svg');mask-repeat:no-repeat;mask-size:100% 100%; }





/* ===== MODULES ===== */
.module { display:block; }

/* Banner */
.banner-overlay { background:rgba(0,0,0,0.7);position:absolute;top:0;left:0;width:100%;height:100%;padding-top:180px; }



.module.banner { max-height:780px;height:60vw; }
.module.banner img { width:100%;height:100%;object-fit:cover; }
.module.banner h1 { color:#fff;font-size:clamp(1.3rem,3vw,2rem);max-width:1160px;margin:0 auto; }
.module.banner span { color:var(--red);font-weight:500;font-size:clamp(1rem,3vw,1.5rem);display:block;margin-bottom:5px;font-family: "Be Vietnam Pro", sans-serif;text-transform:uppercase; }
.banner-arc { position:absolute;bottom:-1px;left:0;width:100%;height:10vw;max-height:200px;mask-image: url("/wp-content/themes/talent25/img/banner-arc-mask.svg");mask-repeat:no-repeat; }

.module.banner.split .banner-arc { height:100%;display:none; }
.module.banner.split .banner-overlay { background:transparent;text-align:left;; }
.module.banner.split img { max-width:1500px;position:absolute;width:85%;top:-30px;left:45%;border-bottom-left-radius:1000px;border-bottom-right-radius:1000px; }
.module.banner.split h1 { margin:0;color:var(--red);max-width:635px; }
.module.banner.split span { color:var(--black); }

.module.column_text { padding:clamp(30px,10vw,120px) 0px; }
.module.column_text.no-bottom-padding { padding-bottom:0px; }
.module.column_text.no-top-padding { padding-top:0px; }


.module.image_columns { padding:clamp(30px,10vw,60px) 0; }
.image-columns { display:flex;flex-wrap:wrap; }
.image-columns div { flex:1 1 33%;display:inline-block; }
.image-columns div img { width:100%; }

hr { margin:30px 0; }

.module.quote { padding:45px 0 60px;overflow:hidden; }
.quote-holder { width:100%;max-width:1100px; }
.quote-holder p { font-size:clamp(1.4rem,3vw,2rem);line-height:clamp(1.8rem,3vw,2.5rem);font-weight:600;margin-bottom:10px; }
.quote-holder span { font-size:1.125rem; }


.module.two_column { padding:clamp(30px,10vw,60px) 0; }
.two_column img { width:100%; }
.video { width:100%; }


.module.list_columns { padding:clamp(45px,10vw,120px) 0 ;overflow:hidden; }
.module.list_columns h4 { margin-top:15px; }
.module.list_columns ul { padding-left:30px;list-style:none; }
.module.list_columns ul li { margin-bottom:15px;position:relative; }
.module.list_columns ul li::before { content:"";display:inline-block;width:15px;height:15px;position:absolute;top:5px;left:-30px;background:url("/wp-content/themes/talent25/img/bullet.svg") no-repeat center;background-size:contain; }

.decoration { position:absolute;bottom:0;left:0;width:50%;height:100%; }
.decoration.one { bottom:-40%;left:-10%;width:40%;background:url("/wp-content/themes/talent25/img/background-blobs-4.svg") no-repeat left bottom; }
.decoration.two { bottom:-40%;left:-10%;width:40%;background:url("/wp-content/themes/talent25/img/background-blobs-5.svg") no-repeat left bottom; }


.module.gallery { padding:clamp(45px,10vw,120px) 0px; }
.gallery-grid { margin-top:60px; }
.grid-item, .grid-sizer { width:32%; }
.grid-item img { width: 100%;border-radius:20px; } 
.grid-item { margin-bottom:30px; }
.gutter-sizer { width:2% }



.module.partners { padding:clamp(45px,10vw,120px) 0; }
.partner-box { border-radius:20px;padding:30px 60px 100px;position:relative;height:100%; }
.partner-box img { width:250px;height:160px;object-fit:contain;object-position:left; }
.partner-box a.button { position:absolute;bottom:30px; }


table { width:100%; }
table td { border-bottom:1px solid #000;border-left:1px solid #000;padding:10px; }
table tr td:last-child { border-right:1px solid #000; }
table tr:first-child td { border-top:1px solid #000;font-weight:bold; }


@media(max-width:1300px){
	.background-blobs-3 { opacity:0; }
}

@media(min-width:1001px){
	#navmenu { display:table-cell !important; }
}
/* Tablet Size */
@media(max-width:1000px){
	/* Move this to it's own query if it needs to break down earlier */
		.mobile-toggle { display:inline-block;position:absolute;top:100px;right:30px; }
		#navmenu { display:none;margin-top:20px; }
		#navmenu .menu { flex-wrap:wrap; }
		#navmenu .menu li { display:inline-block;width:100%;padding:0;flex:0 0 150px; }
		#navmenu .menu a { display:inline-block;width:100%;padding:10px; }
		#navmenu .sub-menu { display: none;width:100%;position:static; }
		#navmenu .menu li:hover .sub-menu { display:none; }

		.nav-bottom { display:inline-block;padding:20px 30px; }
		.nav-bottom .socials { display:none; }
		.logo img { height:60px; }
	/* ---------------------- */
}



@media(max-width:850px){
	.workshops { transform:none;margin-top:0px;margin-left:-30px;margin-right:-30px;border-radius:0px; }
	.join-text { position:static;width:100%;padding:30px 30px 0px; }
	.join-form { margin-left:0px;width:100%;padding:60px 30px 30px; }
	.join-text:before { top:45%;transform:translateY(-99%);clip-path:ellipse(70% 50%);width:100%;height:100px; }
	.video-section { padding-top:60px; }

	.hero.home { min-height:0px;height:auto; }
	.hero.home .container { padding-top:150px;padding-bottom:45px; }

	.workshops.footer-workshops .join-text { padding:15px 0; }
	.workshops.footer-workshops .join-form { padding:30px 0px; }

}


@media(max-width:768px){
	.mob-col-1 { grid-row-start:1; }
	.mob-col-2 { grid-row-start:2; }
	.icon { width:140px;height:140px; }
	.contact-large { margin-bottom:-30px; }
	.banner-arc { display:none; }
	.banner-overlay { padding-bottom:45px; }
	.module.banner { height:auto;max-height:10000000px; }
	.module.banner.split img { display:none; }
	.module.banner.split .banner-overlay { position:static;padding-top:260px; }
/*	.icon-holder { flex:0 0 %; }*/
/*	.icon { width:100%;height:auto;aspect-ratio:1/1;padding:20px; }*/
	.banner-overlay { position:relative; }
	.module.banner img { position:absolute; }
	.icons { justify-content:space-evenly; }
}



/* Mobile Size */
@media(max-width:650px){
	.contact { display:none; }
	.nav-top { padding:10px 0; }
	.mobile-toggle { top:60px; }
	.logo img { height:45px; }
	.icon { width:90px;height:90px;padding:15px; }
		nav.small { top:-16px; }
		.m-grid-gap-30 { grid-gap:15px; }
		.partner-box { padding:15px 30px 100px; }
		.contact-large { margin-top:45px;padding-left:10px; }
		.contact-large .contact { padding-left:60px; }
		.contact-large .contact::before{ transform:scale(0.8) } 
		.contact-large .contact::after { transform:scale(0.8) translateY(-50%) }

}