/* ===== Override Theme Styles ===== */


body, html {
    padding-top: 0px;
	font-style: normal;
	font-weight: 400;
	font-size: 19px;
	line-height: 25px;
}

/* Fixes Anchor Scroll Issue */
.vb-section:target {
  display: block;
  position: relative;
  top: 0;
  visibility: initial;
}


@media (min-width: 1024px) {
    .frame, 
	.grid-container
	.grid-container.default,
	.ttu-marquee-slider .grid-container .grid-container.default {
		max-width: 1386px;
		padding-left: 60px;
		padding-right: 60px;
		width: 100%;
    }
	
	.ttu-marquee-slider .grid-container .grid-container.default {
		max-width: 1386px !important;
		padding-left: 60px !important;
		padding-right: 60px !important;
		width: 100%;
    }
}




.frame, 
.grid-container, 
.ttu-marquee-slider .grid-container.default .grid-container.default  {
	max-width: 1386px;
	padding-left: 30px;
	padding-right: 30px;
	width: 100%;
}

	.ttu-marquee-slider .grid-container .grid-container.default {
		max-width: 1386px !important;
		padding-left: 30px !important;
		padding-right: 30px !important;
		width: 100%;
    }




/* .vb-section__title, */
.vb-section h1,
.vb-section h2,
.vb-section h3,
.vb-section .h1,
.vb-section .hero {
	font-family: 'Arvo';
	font-style: normal;
}

.vb-section h1,
.vb-section .h1,
.vb-section .hero {
	font-weight: 700;
	font-size: 80px;

}


.vb-section .vb-section__title.hero {

	line-height: 1.1;
	margin: 0;
	/* 48px → fluid → max ~120px */
	font-size: clamp(3rem, 8vw, 7.5rem); 
}

.vb-section .vb-section__title .sub-hero {
	/* 36px → fluid → 80px max */
	font-size: clamp(2.25rem, 6.5vw, 5rem); 
	line-height: 1.1;
}

.vb-section h2 {
	font-weight: 700;
	font-size: 60px;
}

.vb-section h3 {
	font-weight: 700;
	font-size: 48px;
	line-height: 60px;
}

.vb-section .vb-section__title {
	text-wrap: balance;          
	word-break: break-word;    	
}
  


@media (max-width: 640px) {
	
	.vb-section h1
	.vb-section .h1 {
		font-size: 86px;
		line-height: 73px;
	}


	.vb-section h2,
	.vb-section h2.h1 {
		font-size: 36px;
		line-height: 42px;
	}

	.vb-section h3 {
		font-size: 24px;
		line-height: 30px;
	}
	
	
	
	.tu-dynamic--bleed-content .tu-dynamic__half--image {
		height: 100% !important;
	}
	
	.tu-dynamic--bleed-content .tu-dynamic__half--image::before {
		content: " ";
		display: block;
		height: 100% !important;
		width: 100%;
		position: absolute;
		background-color: rgba(0, 0, 0, 0.7);
	}
	
	
	.marquee-slider.slick-slider {
		height: 190px !important;
	}
	
}




/* Alignments */
.vb-section {
    padding: clamp(2rem, 6vw, 4rem) 0;
}

.vb-section.no-padding-top.no-padding-bottom {
	padding-top: 0px;
	padding-bottom: 0px;
}

.vb-section.no-padding-top {
	padding-top: 0px;
}

.vb-section.no-padding-bottom {
	padding-bottom: 0px;
}

.vb-inner__frame {
  gap: clamp(16px, 4vw, 40px);    
}

.vb-section.align-left  .vb-section__title,
.vb-section.align-left  .vb-section__btns { text-align: left; }

.vb-section.align-center .vb-section__title,
.vb-section.align-center .vb-section__btns { text-align: center; }

.vb-section.align-right .vb-section__title,
.vb-section.align-right .vb-section__btns { text-align: right; }


.vb-section a.button:empty,
.vb-section div.vb-section__title:empty,
.vb-section div.vb-col__body:empty,
.vb-section div.vb-list:empty,
.vb-section .vb-col__title:empty,
.vb-section *.vb-section__title:empty,
.vb-section .vb-col__media:empty,
.vb-section .button-group:has(> .button:empty),
.vb-section__header:has(> .vb-section__title:empty):has(> .vb-section__intro:empty) {
  display: none !important;
}



.vb-section div.vb-section__title:not(:has(*)):not(:has(text)),
.vb-section div.vb-col__body:not(:has(*)):not(:has(text)),
.vb-section div.vb-list:not(:has(*)):not(:has(text)) {
  display: none;
}

/* TEMPORARY SETTINGS */
#making-impact-rtl,
#making-impact-rtl .vb-inner__frame,
#making-impact-ltr,
#making-impact-ltr .vb-inner__frame{
	padding: 0px;
	gap: 0px;
}


.vb-section.no-top-padding.no-bottom-padding  {
	padding-top: 0px;
	padding-bottom: 0px;
}

.vb-section.no-bottom-padding {
	padding-bottom: 0px;
}


@media (max-width: 39.9375em) {
    #explore .tu-dynamic__half--image {
        height: 100% !important;
 
    }
	
	
	.tu-s50__half--image {
		display: none;
	}
	
	.tu-s50__half--color {
		height: 100% !important;
	}
	
}








/* Viewbook: fixed size for CTAs everywhere (safe scope) */

.button-group.stacked-for-small {
	gap: 30px;
}

.button-group.stacked-for-small .button {
	flex: none;
	column-gap: 30px;
}


@media (max-width: 1024px) {
	
	.vb-section__btns.button-group.stacked-for-small {
		row-gap: 0px;
		column-gap: 20px;
	}
	
	.eagleContent .vb-section__btns .button {
		margin-bottom: 0px;
	}
}



.button-group::before, .button-group::after {
	display: none !important;
}

.button.goldBtn,
.button.purpleBtn {
  display: inline-flex;              
  align-items: center;
  justify-content: center;
  height: 46px;                      
  min-width: 175px;                  
  padding: 0 22px;                   
  box-sizing: border-box;
  white-space: nowrap;          
}

.button.purpleBtn {
	color: #fff;
}

.button.purpleBtn:hover {
	background-color: #ffd100;
	color: #4f2984;
}

/* no href or empty href => hide */
.vb-col__btns.button-group > a:not([href]),
.vb-col__btns.button-group > a[href=""] { display: none !important; }

/* completely empty elements => hide */
.vb-col__btns.button-group > *:empty { display: none !important; }

/* (optional) if your template outputs <li> wrappers */
.vb-col__btns.button-group > li:empty { display: none !important; }








/* Viewbook: section header */
.vb-section {
  position: relative;
  background: var(--vb-bg, #fff);
  color: var(--vb-text, #1f1f1f);
  padding: clamp(25px, 5vw, 50px) 0;
}

.vb-cols { row-gap: clamp(16px, 2vw, 24px); }
.vb-col {
  padding: clamp(16px, 2.5vw, 28px);
  background: var(--vb-col-bg, transparent);
}





/* ===== Viewbook List Styling ===== */
.vb-list :is(ul, ol) {
/*   display: grid; */
/*   grid-template-columns: 1fr;     */
  gap: .4rem 2rem;               
  padding-left: 1.2rem;
  margin: .75rem 0 0;
  display: block;
  columns: 1;
}

.vb-list :is(ul, ol) > li { list-style: inherit; break-inside: avoid; }

.vb-list.cols-2 :is(ul, ol) { columns: 2; }
.vb-list.cols-3 :is(ul, ol) { columns: 3; }
.vb-list.cols-4 :is(ul, ol) { columns: 4; }

@media (max-width: 640px) {
  .vb-list[class*="cols-"] :is(ul, ol) {  }
}


.vb-banner-section {
	background-color: #582C82;
	color: white;
	padding-top: 5px;
	padding-bottom: 5px;
}

.vb-banner-section a {
	color: white !important;
}

.vb-banner-section a:hover {
	color: #FFD000 !important;
}

.hero-logo__frame {
	position: relative;
	top: 40px;
	z-index: 999;
}

.ttu-hero-logo .ttu-logo-link {
	position: absolute;
	text-align: left;
/* 	width: 100%; */
}


/* Mobile — Hero Logo Link */
@media (max-width: 768px) {

	.ttu-hero-logo .ttu-logo-link {
		text-align: center;
	}
}



/* .ttu-marquee-slider #impact-slider-ltr.slick-slider {
	padding-top: 40px;
} */

#impact-slider-rtl.ttu-marquee-slider .grid-container.default {
	display: none;
}





/* ===== Viewbook Navigation ===== */
/* ===== Viewbook Section Navigation ===== */
.vb-section-nav{
  position: relative;
  margin: 0 auto clamp(16px, 2.4vw, 28px);
}

/* Mobile toggle */
.vb-secnav__toggle{
  width: 100%;
  background: #ffd100;
  color: #4f2984;
  font-weight: 800;
  font-size: clamp(15px, 2vw, 22px);
  line-height: 1.2;
  border: 0;
  border-radius: 2px;
  padding: 14px 18px;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  cursor: pointer;
}
.vb-secnav__chevron svg{ transition: transform .25s ease; }
.vb-section-nav[aria-expanded="true"] .vb-secnav__chevron svg{ transform: rotate(180deg); }

/* Mobile list (overlay dropdown) */
.vb-secnav__wrap{
  display: none;
  position: absolute;
  left: 0; right: 0; top: 100%;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 2px;
  box-shadow: 0 10px 18px rgba(0,0,0,.12);
  z-index: 20;
}




.vb-section-nav[aria-expanded="true"] .vb-secnav__wrap{ display: block; }

.vb-secnav__list{
  list-style: none; margin: 0; padding: 0; display: grid;
}
.vb-secnav__list li{ border-top: 1px solid rgba(0,0,0,.06); }
.vb-secnav__list li:first-child{ border-top: 0; }
.vb-secnav__list a{
  display: block; 
  padding: 16px 18px; text-decoration: none;
  font-weight: 800; text-align: center; color: #1f1f1f;
}
.vb-secnav__list a:focus-visible{ outline: 3px solid #582c83; outline-offset: 2px; }




/* Desktop: centered pill bar, single row, not full-width */
@media (min-width: 768px){
  .vb-secnav__toggle{ display: none; }

  .vb-section-nav{
    /* Centered, limited width – fits one line but not edge-to-edge */
    inline-size: clamp(750px, 80vw, 1300px);
    margin: -30px auto 30px;  /* slight overlap with hero */
    z-index: 5;
  }

  .vb-secnav__wrap{
    position: static; 
	display: block;
    background: #FFD000; 
	  border: 0; 
	border-radius: 10px;
    box-shadow: 0 6px 14px rgba(0,0,0,.12);
/* 	padding-left: 40px;
	padding-right: 40px; */
  }
	


	
  .vb-secnav__list {
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0;
  }
  .vb-secnav__list li{ border: 0; }
  .vb-section-nav .vb-secnav__list li a {
    color: #4f2984; 
	  padding: 20px 20px; 
	  margin-bottom: 0px;
	  font-size: 15px;
/* 	  border-radius: 10px; */
  }
	
	/* Target the first link */
	#vb-secnav-list li:first-child a {
	  padding-left: 40px;
	  border-radius: 10px 0px 0px 10px;
	}

	/* Target the last link */
	#vb-secnav-list li:last-child a {
	  border-radius: 0px 10px 10px 0px;
	  padding-right: 40px;
	}
	
  .vb-secnav__list a:hover,
  .vb-secnav__list a:focus{ background: rgba(255,255,255,.25); }
}

/* Optional sticky */
.vb-section-nav.is-sticky{ position: sticky; top: 0; z-index: 30; }








/* ===== Footer style  ===== */
/* ===== Footer (container shell) ===== */
.vb-section.tu-footer{
  --ttu-purple:#4f2984;
  --ttu-yellow:#ffc20e;
  --text:#fff;
  background: var(--ttu-purple);
  color: var(--text);
  padding: clamp(30px, 3vw, 30px) 0;
  overflow: hidden;
}

/* Brand block */
.tu-footer__brand{
  display:flex;
  align-items:center;
  gap: clamp(14px, 2vw, 22px);
  margin-bottom: clamp(10px, 2vw, 0);
}
.tu-footer__logo{
  display:block;
  width: clamp(56px, 6vw, 84px);
  height:auto;
}
.tu-footer__addr{ margin:0; font-style:normal; line-height:1.45; }


.tu-footer__menu_container {
	align-content: center;
}

.tu-footer__menu_container .search-bar {
	padding-left: 0px;
	padding-right: 0px;
}


.tu-footer__menu_container .search-icon {
	left: 5px;
	top: 8px;
}

.tu-footer__menu_container .submit-icon {
    top: 13px;
    right: 10px;
}


.tu-footer__nav .search-bar-container {
/* 	transition: none !important;
	right: 0px !important;
	width: 100%; */
	top: 20px;
}




/* ===== Nav (single line, never wraps) ===== */
.tu-footer__nav{ overflow-x: auto; -webkit-overflow-scrolling: touch; height: 100%;}
.tu-footer__menu{
  height: 100%;
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap: wrap;         
  column-gap: clamp(18px, 4vw, 40px);
  align-items:center;
  justify-content:end;     
  white-space: nowrap;        /* keep items on one line */
}
.tu-footer__menu li{ flex: 0 0 auto; }  /* don’t shrink */
.tu-footer__menu a{
  color:#fff !important;
  text-decoration:none;
  font-weight:700;
}
.tu-footer__menu a:hover,
.tu-footer__menu a:focus{
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Search */
.tu-footer__search{ display:flex; justify-content:flex-end; }
.tu-footer__search-btn{
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; width:36px; height:36px; border-radius:50%;
}
.tu-footer__search-btn:hover,
.tu-footer__search-btn:focus{ background:rgba(255,255,255,.12); }

@media (max-width: 1024px) {
	.tu-footer__menu{
        
	  column-gap: 30px;
	}
}

@media (max-width: 960px) {
    
	.vb-section.tu-footer {
		padding: 50px 0px;
	}
	
	.tu-footer__menu_container .search-start {
        display: flex;
		justify-content: flex-end;
    }
	
	.tu-footer__menu {
		display: grid;
		grid-template-columns: 1fr 1fr; 
		gap: .5rem 1rem;
		list-style: none;
		padding: 0;
		margin: 0;
		text-align: right;
	}

	.tu-footer__nav .search-bar-container {
		top: 0px;
	}
	
	.tu-footer__nav .search-bar-wrap {
		position: absolute;

	}
	
	.tu-footer__nav .search-bar-wrap,
	.tu-footer__nav .search-bar-container,
	.tu-footer__nav .search-bar {
		width: 100%;
	}
	
}

/* Mobile — two columns */
@media (max-width: 768px) {

  .tu-footer__menu li {
    flex: 1 1 45%;  
  }
	
}


@media (max-width: 640px) {
	.tu-footer__menu {
		text-align: left;
	}
	
	.tu-footer__brand,
	.tu-footer__menu_container .search-start {
		justify-content: flex-start;
	}
	
	.tu-footer__brand {
		gap: clamp(30px, 4vw, 50px);
	}
	
	.tu-footer__row {
		gap: 30px;
	}
	
	.tu-footer__logo {
		width: 85px;
	}
	
	.tu-footer__menu {
		gap: 20px .5rem;
	}
	

	
}



/* ===== Marquee Slider ===== */
.mc-marquee {
  --gap: 1rem;
  --item-h: clamp(120px, 22vw, 220px);
  overflow: hidden;
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  padding: .75rem 0;
  background: transparent;
}

.mc-loop {
  display: inline-flex;
  gap: var(--gap);
  will-change: transform;
  animation: mc-scroll var(--dur) linear infinite;
  animation-name: mc-scroll;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.mc-seq {
  display: inline-flex;
  gap: var(--gap);
}

/* Reverse direction */
/* .mc-marquee[data-direction="right"] .mc-loop {
  animation-direction: reverse;
} */

/* Hover slow */
.mc-marquee.is-hover .mc-loop {
  animation-play-state: running;
}

.mc-marquee__track img {
  height: var(--item-h);
  width: auto;
  display: block;
  border-radius: 2px;
  object-fit: cover;
}

/* Performance & glitch fix */
/* .mc-loop,
.mc-seq,
.mc-marquee__track img {
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .mc-loop { animation: none !important; transform: none !important; }
}

@keyframes mc-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
} */






