/*
 Theme Name:   Ampersand Child
 Template:     ampersand
 Version: 	   2.0.1
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/*------------------------
 * GENERAL STYLES
 * ---------------------*/

/* Page formatting */
.title-container {display: none;}

/* Typography */
body :is(h1, h2) {color: #002b64; line-height: 1.2em; text-transform: uppercase;}
body h1 {font-size: 60px;}
body h2 {font-size: 48px;}
body :is(p, ul li, ol li, strong, em) {font-size: 18px;}
body a {transition: 0.1s ease-in all;}

/* Class: dark-bg */
.dark-bg :is(h2, h3, p, em) {color: #fff;}

/* Class: maze-bg */
.maze-bg {background-attachment: fixed; background-image: url('/wp-content/uploads/2025/08/maze-blue.png'); background-size: 30%;}

/* Class: big-heading */
.big-heading h2 {font-size: 70px;}
.big-heading h2 span {display: block; font-size: 70px; line-height: 1.2em;}
.big-heading h2 .green {color: #a6cc39;}
.big-heading h2 .orange {color: #f4921d;}
.big-heading h2 .cyan {color: #44c8f5;}

/* Class: footnote */
.footnote p {font-size: 14px; font-style: italic;}





/*------------------------
 * HEADER STYLES
 * ---------------------*/
.header {background-image: url('/wp-content/uploads/2025/07/maze-cyan.jpg'); background-size: 30%; box-shadow: 3px 3px 3px rgba(0,0,0,0.2); height: 140px; transition: .2s ease-in all;}
.page-scrolled .header {height: 90px;}

/* Logo */
.header #nav-container {height: 100%; justify-content: right; position: relative;}
.header #nav-container :is(#logo, #sticky-logo) {left: 0; position: absolute; top: 0;}
.header #nav-container #logo {visibility: visible; width: 350px;}
.header #nav-container #sticky-logo {display: block !important; visibility: hidden; width: 250px;}
.header #nav-container :is(#logo, #sticky-logo) a img {max-width: unset;}
.header #nav-container #logo a img {opacity: 1; transition: .2s ease-in all;}
.header #nav-container #sticky-logo a img {opacity: 0; transition: .2s ease-in all;}
.page-scrolled .header #nav-container #logo {display: block !important; visibility: hidden;}
.page-scrolled .header #nav-container #sticky-logo {visibility: visible;}
.page-scrolled .header #nav-container #logo a img {opacity: 0;}
.page-scrolled .header #nav-container #sticky-logo a img {opacity: 1;}

/* Main nav */
.header #nav-container nav ul li a {color: #fff; letter-spacing: 0.5px; overflow: hidden; position: relative; text-decoration: none;}
.header #nav-container nav ul li a::before, .header #nav-container nav ul li a::after {background: #fff; content: ""; height: 2px; position: absolute; transition: all 0.5s; width: 0;}
.header #nav-container nav ul li a::before {left: 0; top: 0;}
.header #nav-container nav ul li a::after {bottom: 0; right: 0;}
.header #nav-container nav ul li a:hover::before, .header #nav-container nav ul li a:hover::after {transition: width 0.25s ease-in-out; width: 100%;}
.header #nav-container nav ul li.current-menu-item a::before, .header #nav-container nav ul li.current-menu-item a::after {width: 100%;}





/*------------------------
 * FOOTER STYLES
 * ---------------------*/

/* Logos */
.footer .vc_col-sm-12 {text-align: center;}
.footer .vc_col-sm-12 h2 {color: #fff; font-size: 20px; margin-top: 35px;}
.footer .vc_col-sm-12 h3 {color: #fff; margin-top: 40px;}
.footer .vc_col-sm-12 :is(#pub-logo, #partner-logo) {align-items: center; display: flex; justify-content: center;}
.footer .vc_col-sm-12 #pub-logo img {height: auto; margin: 20px; max-height: 65px; max-width: 275px; width: auto;}
.footer .vc_col-sm-12 #partner-logo img {height: auto; margin: 20px; max-height: 60px; max-width: 150px; width: auto;}

/* Copyright */
.footer #footer-copyright .vc_col-sm-6 {text-align: center; width: 100%;}
.footer #footer-copyright #footer-social {display: none;}






/*------------------------
 * HOME STYLES
 * ---------------------*/

/* Hero slide */
#hero-slide {background-position: center bottom !important;}
#hero-slide .vc_column-inner {margin-top: -140px;}
#hero-slide .vc_column-inner :is(h1, p) {color: #fff;}
#hero-slide .vc_column-inner h1 {font-size: 70px; margin-bottom: 0;}
#hero-slide .vc_column-inner h2 {color: #f4921d;}
#hero-slide .vc_column-inner p {font-size: 24px; margin-left: 60px; position: relative;}
#hero-slide .vc_column-inner p::before {content: '\f3c5'; font-family: FontAwesome; font-size: 40px; left: -50px; position: absolute; top: 17px;}
#hero-slide .vc_column-inner .vc_btn3 {background-color: #f4921d; color: #fff; font-size: 24px; font-weight: bold; text-transform: uppercase;}
#hero-slide .vc_column-inner .vc_btn3:hover {background-color: #fff; color: #002B64; transform: scale(1.1);}

/* Icon boxes */
#icon-boxes {margin-top: -170px !important;}
#icon-boxes .vc_column-inner {padding: 35px 20px 20px 20px;}
#icon-boxes .vc_column-inner .ult-just-icon-wrapper {left: 0; margin: auto; position: absolute; right: 0; top: -32px;}
#icon-boxes .vc_column-inner .ult-just-icon-wrapper .aio-icon-img {background-color: #002B64 !important; border: 3px solid #fff; color: #fff !important; height: 50px; padding: 15px; transition: 0.1s ease-in all; width: 50px;}
#icon-boxes .vc_column-inner:hover .ult-just-icon-wrapper .aio-icon-img {transform: scale(1.1);}
#icon-boxes .green-box .vc_column-inner .ult-just-icon-wrapper .aio-icon-img {background-color: #a6cc39 !important;}
#icon-boxes .orange-box .vc_column-inner .ult-just-icon-wrapper .aio-icon-img {background-color: #f4921d !important;}
#icon-boxes .cyan-box .vc_column-inner .ult-just-icon-wrapper .aio-icon-img {background-color: #44c8f5 !important;}
#icon-boxes .vc_column-inner .ult-just-icon-wrapper .aio-icon-img .img-icon {height: auto; margin: 0 auto; max-height: 50px; max-width: 50px !important; width: auto;}
#icon-boxes .vc_column-inner h3 {margin-top: 20px;}
#icon-boxes .vc_column-inner p {text-align: center;}

/* Podcast */
#podcast #pod-logos .wpb_single_image {display: inline-block; margin-right: 15px;}
#podcast #pod-logos .wpb_single_image img {max-width: 50px;}






/*------------------------
 * AGENDA STYLES
 * ---------------------*/
#agenda table {border-collapse: separate; border-spacing: 0 20px; margin: 0 auto; max-width: 800px; width: 100%;}
#agenda table tr {position: relative;}
#agenda table tr td {font-size: 16px; vertical-align: middle;}
#agenda table tr td:first-of-type {align-items: center; background-color: #a6cc39; border-radius: 100px; color: #fff; display: flex; font-weight: bold; height: 80px; justify-content: center; left: -35px; padding: 10px; position: absolute; text-align: center; width: 80px; z-index: 3;}
#agenda table tr td:last-of-type {align-items: center; background-color: #eaebec; border-radius: 20px; display: flex; flex-wrap: wrap; min-height: 80px; padding: 20px 20px 20px 70px; position: relative;}
#agenda table tr td:last-of-type h3 {color: #f4921d; display: block; font-size: 20px; width: 100%;}
#agenda table tr td:last-of-type strong {font-size: 16px; margin-bottom: 10px; width: 100%;}
#agenda table tr td:last-of-type p {font-size: 16px;}
#agenda table tr td:last-of-type .agenda-speakers span {display: block;}
#agenda table tr td:last-of-type .agenda-speakers :is(span, strong, em) {font-size: 12px;}
#agenda table tr td:last-of-type .agenda-speakers span strong {margin-bottom: 0; width: auto;}
#agenda table .break :is(td:first-of-type, td:last-of-type) {background-color: #eff8fd; border-radius: 20px; color: #44c8f5; font-weight: bold; height: unset; justify-content: left; min-height: unset; padding: 10px 10px 10px 70px; position: static; width: 100%;}
#agenda .footnote {margin: 0 auto; max-width: 800px; text-align: right; width: 100%;}





/*------------------------
 * SPEAKERS STYLES
 * ---------------------*/

/* Archive */
.post-type-archive-speakers .title-container {display: block; text-align: center;}
.post-type-archive-speakers .grid-list .post.post-grid {margin-right: 40px; padding-right: 0; width: calc(25% - 30px);}
.post-type-archive-speakers .grid-list .post.post-grid:nth-child(4n) {margin-right: 0;}
.post-type-archive-speakers .grid-list .post .speaker-image {margin-bottom: 10px;}
.post-type-archive-speakers .grid-list .post .speaker-image img {height: auto; width: 100%;}
.post-type-archive-speakers .grid-list .post h2 {margin-bottom: 0;}
.post-type-archive-speakers .grid-list .post h2 a {color: #002b64; font-size: 20px;}
.post-type-archive-speakers .grid-list .post h2 a:hover {color: #f4921d;}
.post-type-archive-speakers .grid-list .post .job-title {font-weight: bold;}
.post-type-archive-speakers .grid-list .post .bio-link {color: #f4921d;}
.post-type-archive-speakers .grid-list .post .bio-link:hover {color: #002b64;}

/* Single */
.speaker-post {display: flex; margin-bottom: 35px; margin-top: 35px;}
.speaker-post .speaker-image {margin-right: 30px; width: 300px;}
.speaker-post .speaker-image img {height: auto; width: 100%;}
.speaker-post .speaker-info {width: calc(100% - 330px);}
.speaker-post .speaker-info .post-title {margin-bottom: 0;}
.speaker-post .speaker-info .job-title {font-size: 20px; font-weight: bold; margin-bottom: 20px;}







/*------------------------
 * RESPONSIVE STYLES
 * ---------------------*/

@media only screen and (max-width: 1050px) {
	/* Class: big-heading */
	.big-heading :is(h2, h2 span) {font-size: 60px;}
	
	/* Footer - logos */
	.footer .vc_col-sm-12 #pub-logo img {max-height: 65px; max-width: 200px;}
	.footer .vc_col-sm-12 #partner-logo img {max-height: 60px; max-width: 120px}
	
	/* Home - hero slide */
	#hero-slide .vc_column-inner h1 {font-size: 60px;}
}

@media only screen and (max-width: 955px) {
	/* Footer - logos */
	.footer .vc_col-sm-12 :is(#pub-logo, #partner-logo) {flex-wrap: wrap;}
}

@media only screen and (max-width: 850px) {
	/* Typography */
	body h1 {font-size: 50px;}
	
	/* Class: big-heading */
	.big-heading :is(h2, h2 span) {font-size: 50px;}
	
	/* Home - hero slide */
	#hero-slide .vc_column-inner h1 {font-size: 50px; max-width: 600px;}
	#hero-slide .vc_column-inner h1 br {display: none;}
	
	/* Home - icon boxes */
	#icon-boxes .vc_col-sm-3 {width: 50%;}
	#icon-boxes .vc_col-sm-3:is(:nth-child(3), :last-of-type) {margin-top: 30px;}
}

@media only screen and (max-width: 810px) {
	/* Speakers - archive */
	.post-type-archive-speakers .grid-list .post.post-grid {width: calc(33% - 25px);}
	.post-type-archive-speakers .grid-list .post.post-grid:nth-child(4n) {margin-right: 40px;}
	.post-type-archive-speakers .grid-list .post.post-grid:nth-child(3n) {margin-right: 0;}
}

@media only screen and (max-width: 769px) {
	/* Class: reverse-col */
	.reverse-col {display: flex; flex-wrap: wrap;}
	.reverse-col .vc_col-sm-6:first-of-type {order: 2;}
	.reverse-col .vc_col-sm-6:last-of-type {order: 1;}
	
	/* Class: big-heading */
	.big-heading :is(h2, h2 span) {text-align: center;}
	
	/* Header - nav */
	.header #nav-container #menu-toggle .fa-bars:before {color: #fff;}
	#popout {background-image: url('/wp-content/uploads/2025/07/maze-cyan.jpg'); background-size: 100%;}
	#popout .menu-main-menu-container .nav-menu li {border-bottom: 2px solid #fff;}
	#popout .menu-main-menu-container .nav-menu li.current-menu-item {background-color: #f4921d;}
	
	/* Home - hero slide */
	#hero-slide {background-position: left bottom !important; min-height: 400px !important;}
	
	/* Home - podcast */
	#podcast #wuw-logo {margin-bottom: 20px;}
	#podcast #wuw-logo img {height: auto; max-width: 300px; width: 100%;}
	#podcast #pod-logos .wpb_wrapper {text-align: center;}
	#podcast #pod-logos .wpb_wrapper p {text-align: left;}
	#podcast #pod-logos .wpb_wrapper h3 {text-align: center !important;}
	
	/* Agenda */
	#agenda table {margin-left: 10px;}
}

@media only screen and (max-width: 660px) {
	/* Speakers - single */
	.speaker-post {flex-wrap: wrap;}
	.speaker-post .speaker-image {margin-bottom: 20px; margin-right: 0; text-align: center; width: 100%;}
	.speaker-post .speaker-image img {max-width: 300px;}
	.speaker-post .speaker-info {width: 100%;}
	.speaker-post .speaker-info :is(.post-title, .job-title) {text-align: center;}
}

@media only screen and (max-width: 600px) {
	/* Home - hero slide */
	#hero-slide {background-position: center bottom !important;}
	#hero-slide .vc_column-inner .vc_col-sm-12 {align-items: start;}
	#hero-slide .vc_column-inner {width: 100%;}
	#hero-slide .vc_column-inner h1 {text-align: center !important;}
	#hero-slide .vc_column-inner p {margin-left: 0; text-align: center;}
	#hero-slide .vc_column-inner p::before {display: none;}
	#hero-slide .vc_column-inner .vc_btn3-container {text-align: center; width: 100%;}
	
	/* Speakers - archive */
	.post-type-archive-speakers .grid-list .post.post-grid {width: calc(50% - 20px);}
	.post-type-archive-speakers .grid-list .post.post-grid:nth-child(3n) {margin-right: 40px;}
	.post-type-archive-speakers .grid-list .post.post-grid:nth-child(2n) {margin-right: 0;}
}

@media only screen and (max-width: 481px) {
	/* Typography */
	body h1 {font-size: 40px;}
	body h2 {font-size: 38px;}
	
	/* Class: big-heading */
	.big-heading :is(h2, h2 span) {font-size: 40px;}
	
	/* Header */
	.header {background-size: 50%;}
	
	/* Home - hero slide */
	#hero-slide .ult-animation h1 {font-size: 36px;}
	#hero-slide .ult-animation p {font-size: 20px;}
	
	/* Home - icon boxes */
	#icon-boxes .vc_col-sm-3 {margin-top: 30px; width: 100%;}
	#icon-boxes .vc_col-sm-3:first-of-type {margin-top: 0;}
}

@media only screen and (max-width: 420px) {
	/* Typography */
	body :is(h1, h2) {font-size: 30px;}
	
	/* Home - hero slide */
	#hero-slide {min-height: unset !important;}
	
	/* Agenda */
	#agenda table tr td {font-size: 14px;}
	#agenda table tr td:last-of-type strong {font-size: 16px;}
	
	/* Speakers - archive */
	.post-type-archive-speakers .grid-list .post.post-grid:nth-child(3n) {margin-right: 0;}
	.post-type-archive-speakers .grid-list .post.post-grid {margin-right: 0; width: 100%;}
}

@media only screen and (max-width: 360px) {
	/* Typography */
	body :is(h1, h2) {font-size: 28px;}
	
	/* Class: big-heading */
	.big-heading :is(h2, h2 span) {font-size: 28px;}
	
	/* Home - hero slide */
	#hero-slide .vc_column-inner h1 {font-size: 38px;}
	#hero-slide .vc_column-inner p {font-size: 18px;}
	
	/* Agenda */
	#agenda table tr td:last-of-type {padding: 20px 20px 20px 60px;}
	#agenda table .break :is(td:first-of-type, td:last-of-type) {padding: 10px 10px 10px 60px}
}