/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

.no-underline,
.no-underline a {
    text-decoration: none;
}

.hover-underline,
.hover-underline a {
	text-decoration: none;
}

.hover-underline:hover,
.hover-underline:focus,
.hover-underline a:hover,
.hover-underline a:focus {
	text-decoration: underline;
}

.group:after {
  content: "";
  display: table;
  clear: both;
}

@media (max-width: 768px) {
	#masthead .inside-header {
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	
	#masthead .site-logo {
		flex: 1 0 75%;
	}
	
	#masthead .mobile-menu-control-wrapper {
		flex: 1 0 25%;
		flex-wrap: nowrap;
		justify-content: flex-end;
		order: 3;
	}
	
	#masthead .mobile-menu-control-wrapper a, 
	#masthead .mobile-menu-control-wrapper button  {
		min-width: 40px;
		max-width: 40%;
		text-align: center;
	}
	
	#generate-slideout-menu .main-nav > ul {
		padding-right: 0;
	}
	
	#generate-slideout-menu .main-nav > ul > li > a {
		padding: 4px 20px
	}
}

.main-navigation .main-nav > ul {
	column-gap: 20px;
	padding-right: 40px;
}

#menu-primary-menu > li > a {
	position: relative;
}

#menu-primary-menu > li > a::after {
	background-color: #1566a6;
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	will-change: width;
	width: 0%;
	transition: width 300ms ease-in-out;
}

#menu-primary-menu > li > a:hover::after {
	width: 100%;
}

#menu-primary-menu .sub-menu li a {
	padding: 12px 16px;
}

@media (min-width: 769px) {
	#masthead .main-navigation ul ul {
		width: auto;
		min-width: 220px;
	}
	
	#masthead .sub-menu li a {
		white-space: nowrap;
	}
}

/* Navigation Animated SVG (not currently implemented) */

@keyframes drawLine {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes drawLineReverse {
	from {
		stroke-dashoffset: 0;
	}
	to {
		stroke-dashoffset: 1000;
	}
}

.squig-path {
	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;
}

.squig-svg {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	transform: translateY(25%);
}

#menu-primary-menu > li:hover .squig-svg .squig-path {
	animation: drawLine 1s forwards;
	animation-timing-function: ease-in-out;
}

#menu-primary-menu > li:not(:hover) .squig-svg .squig-path {
	animation: drawLineReverse 500ms forwards;
	animation-timing-function: ease-in-out;
}

/* Conference template */

/* .conference-template-default p:has(iframe[src^="https://www.youtube.com/embed"]) {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.conference-template-default iframe[src^="https://www.youtube.com/embed"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
} */

.type-conference .wp-block-separator {
	border-top: 0;
	height: 0;
}

.conference-template-default .site-main h3 {
	color: #666;
}

.sponsors-block .sponsors-item {
	padding-top: 28px;
}

.sponsors-block .sponsors-item {
	border-bottom: 1px solid #c9c9c9;
}

.sponsors-block .sponsors-item p {
	display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: center;
}

/* Topical agenda */

.ta-table {
	display: flex;
    flex-direction: column;
	margin-bottom: 15px;
}

.ta-row {
	display: flex;
}

.ta-item-collection {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.ta-item,
.ta-time {
	align-items: center;
	border: 1px solid #d5d7d8;
	display: flex;
	flex-direction: column;
	font-size: 15px;
    justify-content: center;
	min-height: 80px;
	padding: 16px 8px;
	text-align: center;
}

.ta-time {
	background-color: #0073ad;
	color: #fff;
	font-weight: 700;
	flex: 0 0 116px;
	padding-left: 4px;
	padding-right: 4px;
}

.ta-item {
	flex: 1;
}

.ta-row:not(:first-child) .ta-item:empty  {
	display: none;
}

.ta-row:first-child .ta-item,
.ta-row:first-child .ta-time {
	min-height: 44px;
}

.ta-row:not(:first-child) .ta-item:empty {
	display: none;
}

.ta-item > * {
	color: var(--item-color, #111);
	font-weight: 500;
	line-height: 1.4em;
	overflow-wrap: break-word;
}

.ta-item p {
	margin-bottom: 0.7em;
}

.ta-item > p:last-of-type {
	margin-bottom: 0;
}

@media (min-width: 1025px) {
	.ta-item-collection {
		flex-direction: row;
	}
	
	.ta-item,
	.ta-time {
		font-size: 19px;
		padding: 20px 16px;
	}
	
	.ta-time {
		flex: 0 0 150px;
	}
	
	.ta-row:not(:first-child) .ta-item:empty {
		display: block;
	}
	
	
	.ta-row:first-child .ta-item,
	.ta-row:first-child .ta-time {
		min-height: 60px;
	}
}

/* Detailed agenda */

.detailed-agenda {
    width: 100%;
    border: 1px solid #ccc;
    margin: 20px 0;
}

.detailed-agenda-header,
.detailed-agenda-row {
    display: flex;
    border-bottom: 1px solid #ccc;
}

.detailed-agenda-header {
    background-color: #d9edf7;
    font-weight: bold;
}

.detailed-agenda-header .detailed-agenda-left {
	padding: 10px;
	width: 120px;
}

.detailed-agenda-header .detailed-agenda-right {
	padding: 10px;
}

.detailed-agenda-row .detailed-agenda-left {
	background-color: #fbfbfb;
	font-weight: 600;
	padding: 10px;
	width: 120px;
}

.detailed-agenda-row .detailed-agenda-right {
	flex: 1;
}

.detailed-agenda-row .detailed-agenda-right h2 {
	font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
	font-size: 1.2em;
	font-weight: 600;
    margin: 0;
    padding: 10px;
}

.detailed-agenda-content {
	padding: 10px;
}

/* Cookie Banner */

body .cky-consent-bar .cky-banner-btn-close img {
    filter: brightness(0%) saturate(100%) invert(97%) sepia(3%) hue-rotate(86deg) contrast(100%) !important;
	height: 16px;
	width: 16px
}

/* Floating action button */

#page .floating-action-button {
	display: none;
}

@media (min-width: 769px) {
	#page .floating-action-button {
		display: block;
		position: sticky;
		float: right;
		bottom: 30px;
		right: 88px;
	}
}

.filter-menu {
	list-style-type: none;
	margin: 0;
}

.filter-menu li:not(:last-child) {
	margin-bottom: 10px;
}

.filter-menu a {
	color: #1466a4;
	display: inline-flex;
    font-size: 15px;
    letter-spacing: 0.03em;
    font-weight: 700;
    text-transform: uppercase;
    padding: 10px 28px;
    border-radius: 60px;
}

.filter-menu a:hover,
.filter-menu a:focus,
.filter-menu a.is-active {
	background-color: var(--global-color-8);
    color: var(--base-3);
}

#video-container iframe {
	display: block;
}

#page .gform_wrapper input:not([type="submit"]),
#page .gform_wrapper textarea,
#page .gform_wrapper select {
	border: 1px solid #c4c4ce;
}

#page .gform_wrapper input[type="submit"] {
    font-size: 15px;
    letter-spacing: 0.03em;
    font-weight: 700;
    text-transform: uppercase;
    padding: 10px 32px;
	background-color: #fff;
    border-radius: 60px;
	border: 1px solid #0066a3;
    color: #0066a3;
}

#page .gform_wrapper input[type="submit"]:hover,
#page .gform_wrapper input[type="submit"]:focus {
	background-color: #0066a3;
	color: #fff;
}

.tns-nav {
	display: flex;
    justify-content: center;
    column-gap: 12px;
}

.tns-nav button {
	width: 16px;
    height: 16px;
    border: 1px solid #fff;
    border-radius: 50%;
    padding: 0;
    background-color: #fff;
}

.testimonial-body {
	display: block;
	max-width: 32ch;
    font-size: 24px;
    line-height: 1.2em;
    text-align: center;
    margin: 28px auto 20px;
}

.testimonial-author {
	display: block;
	font-size: 19px;
    text-align: center;
    margin-bottom: 20px;
}

@media (min-width: 769px) {
	.testimonial-body {
		font-size: 44px;
	}
	
	.testimonial-author {
		font-size: 30px;
	}
}

div.cky-consent-container {
	max-width: 100%;
	width: 470px;
}

.cky-footer-wrapper div:last-of-type {
	display: none !important;
}

#footer .wp-block-social-links {
	margin-bottom: 0;
}

#footer .wp-social-link {
	border-radius: 0;
}

#footer .wp-block-search__inside-wrapper {
	background-color: #fff;
    border-radius: 40px;
    overflow: hidden;
}

#footer .wp-block-search__input {
	background-color: #fff;
	border-color: #fff;
	border-radius: 40px;
}

#footer .wp-block-search__button {
	background-color: #fff;
	margin-left: 0;
}

#footer .wp-block-search__button svg {
	fill: #999;
}