/* Fonts 
=========*/
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css');
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&display=swap');

/* Rest style 
==============*/
* { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -webkit-tap-highlight-color:rgba(0, 0, 0, 0); }
html, body.up, .up div, .up span, .up applet, .up object, .up iframe, .up h1, .up h2, .up h3, .up h4, .up h5, .up h6, .up p, 
.up blockquote, .up pre, .up a, .up abbr, .up acronym, .up address, .up big, .up cite, .up code, .up del, .up dfn, 
.up em, .up font, .up img, .up ins, .up kbd, .up q, .up s, .up samp, .up small, .up strike, .up strong, .up sub, 
.up sup, .up tt, .up var, .up dl, .up dt, .up dd, .up fieldset, .up form, .up label, 
.up legend, .up table, .up caption, .up tbody, .up tfoot, .up thead, .up tr, .up th, .up td, .up select, 
.up input, .up option { margin: 0; padding: 0; border: 0; outline: 0; }
html { -webkit-text-size-adjust: none; }
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary { display: block; }
.up sub, .up sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline }
.up sup { top: -0.5em; }
.up sub { bottom: -0.25em }
.up button, .up input, .up select, .up textarea { font-size:100%; margin:0; vertical-align:baseline; box-shadow:none !important; }
.up input[type="button"], .up input[type="submit"] { -webkit-appearance: none !important; }
.up :focus { outline: 0; }
.up img { border:0 none; max-width:100%; vertical-align:bottom; }
.up a { text-decoration:none; outline:none; cursor:pointer; }
.up a:focus { text-decoration:none !important; outline:none !important; }
.up img { max-width: 100%; }

/* make buttons play nice in IE */
button,input[type=button]{width:auto;overflow:visible;}

/*Placeholder opacity cross browsers*/
.up input::-webkit-input-placeholder { opacity:1; } 

/* WebKit browsers */
.up input:-moz-placeholder { opacity: 1; }

/* Mozilla Firefox 4 to 18 */
.up input::-moz-placeholder { opacity: 1; }

/* Mozilla Firefox 19+ */
.up input:-ms-input-placeholder { opacity: 1; }

/* Internet Explorer 10+ */
.up textarea::-webkit-input-placeholder { opacity: 1; }

/* WebKit browsers */
.up textarea:-moz-placeholder { opacity: 1; }

/* Mozilla Firefox 4 to 18 */
.up textarea::-moz-placeholder { opacity: 1; }

/* Mozilla Firefox 19+ */
.up textarea:-ms-input-placeholder { opacity: 1; }

/* Internet Explorer 10+ */
.up button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner { border: 0; }


:root{
    --colorP1: #24364e;
    --colorP4: #fff;
    --bold: 700;
    --regular: 400;
    --semibold: 600;
    --primary-font: "Archivo", sans-serif;
    --container-width: 1310px; 
    --container-spacing: max(calc(var(--vw, 1vw)*5),calc((var(--vw, 1vw)*100 - var(--container-width))/2))
}

/* Global Setup
=============== */
html { scroll-behavior: smooth; }
body.up { position:relative; margin:0; padding:0; font: normal 400 16px / 1.67 var(--primary-font); letter-spacing: 0em; color:#24364e; background-color: #ffffff; }
.up .wrapper { width:100%; }
.up main { display: flex; flex-direction: column; }
.up .container { max-width: var(--container-width); margin: 0 auto; padding-right:50px; padding-left:50px; width: 100%; }
.up a{ transition: 0.5s; -webkit-transition: 0.5s; -moz-transition: 0.5s; -o-transition: 0.5s; }

.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
    color: var(--headingColor);
    font-family: var(--headingFontFamily);
    font-weight: var(--headingWeight,var(--bold));
    letter-spacing: var(--headingLetterSpacing,0);
    line-height: var(--headingLineHeight);
    text-transform: var(--headingTransform,none)
}

@media only screen and (max-width: 767px) {
    .h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
        font-size:var(--headingSizeMobile)
    }
}

@media only screen and (min-width: 768px) and (max-width:989px) {
    .h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
        font-size:var(--headingSizeTablet)
    }
}

@media only screen and (min-width: 990px) {
    .h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
        font-size:var(--headingSize)
    }
}

.h1,h1 {
    --headingSize: 60px;
    --headingSizeTablet: 61px;
    --headingSizeMobile: 40px;
    --headingColor: var(--colorP1);
    --headingColorAlt: var(--colorP4);
    --headingLineHeight: 1.14;
    --headingWeight: var(--bold);
    color:var(--colorP4);
}

.h2,h2 {
    --headingSize: 50px;
    --headingSizeTablet: 43px;
    --headingSizeMobile: 36px;
    --headingColor: var(--colorP1);
    --headingColorAlt: var(--colorP4);
    --headingLineHeight: 1.2;
    --headingWeight: var(--regular)
}

.h3,h3 {
    --headingSize: 30px;
    --headingSizeTablet: 27px;
    --headingSizeMobile: 24px;
    --headingColor: var(--colorP1);
    --headingColorAlt: var(--colorP4);
    --headingLineHeight: 1.2;
    --headingWeight: var(--semibold)
}

.h4,h4 {
    --headingSize: 26px;
    --headingSizeTablet: 23px;
    --headingSizeMobile: 20px;
    --headingColor: var(--colorP1);
    --headingColorAlt: var(--colorP4);
    --headingLineHeight: 1.4;
    --headingWeight: var(--semibold)
}

.h5,h5 {
    font-size: var(--headingH5,18px);
    --headingSize: 20px;
    --headingSizeTablet: 19px;
    --headingSizeMobile: 18px;
    --headingColor: var(--colorS2);
    --headingColorAlt: var(--colorS2);
    --headingLineHeight: 1.6;
    --headingWeight: var(--bold)
}

.h6,h6 {
    --headingSize: 16px;
    --headingSizeTablet: 16px;
    --headingSizeMobile: 16px;
    --headingColor: var(--colorE1);
    --headingColorAlt: var(--colorE1);
    --headingLineHeight: 1.6;
    --headingWeight: var(--extrabold);
    --headingTransform: uppercase;
    --headingLetterSpacing: calc((var(--headingSize)/1000)*100)
}



.up .mktoImg, .up .mktoImg div { height: 100%; width: 100%; }
.up a{ color:#ffffff; }
.up a:hover{ text-decoration: underline; }
.up a.btn { align-items: center; background-clip: padding-box; border-radius: 4px; cursor: pointer; display: inline-flex; font: normal 700 16px / 1.25 var(--primary-font); justify-content: center; letter-spacing: 0.025em; padding: 9px 23px; text-align: center; text-decoration: none; text-decoration-thickness: 2px; text-transform: uppercase; text-underline-offset: .25em } 
.up .btn-primary { background-color: #d34120; color: #ffffff;  }
.up .btn-primary:hover { background-color: #e07962; text-decoration: none; }


/* #Header Styles
================================================== */
.up .site-header { height: 60px; display: flex; align-items: center; justify-content: start; position: fixed; transition: all .2s ease-in-out; top: 0; left: 0; right: 0; z-index: 10;  }
.up .site-header.sticky { height: 100px; box-shadow: 0 6px 12px rgba(0,0,0,.16);  }
.up .site-header .logo a { width: 116px; display: flex; }
.up .site-header .container { max-width: 1600px; margin: 0 auto; padding-right:16px; padding-left:16px; width: 100%;  }

/* # Event Hero Section
================================================== */
.up .event-hero-section { position: relative; padding: 140px 0 0; background-position: center top; background-size: cover; background-repeat: no-repeat; color: #fff; }
.up .event-hero-section .event-hero-container { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 20px; }
.up .event-hero-section .event-tag { border: 1px solid var(--colorP4); border-radius: 3px; color: var(--colorP4); font-size: 16px; font-weight: 700; margin-bottom: 40px; padding: 2px 9px 2.5px; width: fit-content; line-height: 1; }
.up .event-hero-section .event-hero-content h1 { margin-bottom: 40px; }
.up .event-hero-section .event-details-list { list-style: none; padding: 0; }
.up .event-hero-section .event-details-list li { display: flex; align-items: center; gap: 15px; margin-bottom: 15px;  }
.up .event-hero-section .event-details-list li strong { color: #ffac12;}
.up .event-hero-section .event-details-list.h4 { font-size: 20px; color: #ffffff;}
.up .event-hero-section .event-details-list .mktoImg{ width: 15px; display: flex; align-items: center; min-width: 15px; }
.up .event-hero-section .form-container { border-radius: 12px; padding: 68px 20px; background-color: #FFFFFF; margin-bottom: -80px !important; box-shadow: 0 6px 12px rgba(0, 0, 0, .17); }
.up .event-hero-section .form-container h4 { margin-bottom: 30px; text-align: center; color: #24364E; }

/* Marketo Form styling */
.up form.mktoForm input[type=url], .up form.mktoForm input[type=text], .up form.mktoForm input[type=date], .up form.mktoForm input[type=tel], .up form.mktoForm input[type=email], .up form.mktoForm input[type=number], .up form.mktoForm textarea.mktoField, .up form.mktoForm select.mktoField { border: 1px solid #b4c7cf; border-radius: 7px !important; height: 63px !important; padding: 20px !important; width: 100% !important; }
.up .mktoForm { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 !important; }
.up .mktoFormRow:nth-child(-n + 3){ width: 48% !important; }
.up .mktoForm .mktoButtonWrap.mktoRound button.mktoButton:hover { background-color: #e07962 !important; color: #fff !important; border-color: #e07962 !important; }
.up form.mktoForm .mktoRadioList label[for], .up form.mktoForm .mktoCheckboxList label[for] { padding: 0 0 .5em .75em !important; }
.up .mktoForm input[type=checkbox] + label:before { top: 11px !important; }

/* # Event Details Section
================================================== */
.up .event-details-section { padding: 60px 0; }
.up .event-details-section .event-details-grid { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 60px; }
.up .event-details-section .event-details-left { max-width: 500px; }
.up .event-details-section .event-details-text { margin-bottom: 20px; }
.up .event-details-section .event-details-list,
.up .event-details-section .event-summary-list  { list-style: none; padding: 0; margin: 0; }
.up .event-details-section .event-details-list li,
.up .event-details-section .event-summary-list li { position: relative; align-items: start; gap: 15px; margin-bottom: 15px; padding-left: 22px; }
.up .event-details-section .event-details-list li::before,
.up .event-details-section .event-summary-list li::before { content: '\f0da'; font-family: 'Font Awesome 6 Free'; font-weight: 900; margin-top: 4px;  font-size: 20px; color: #134dd1; position: absolute; line-height: 1; left: 0; top: 0; }

/* # Speakers Section
================================================== */
.up .speakers-section { padding: 60px 0; }
.up .speakers-section .speakers-box { padding: 40px; border-radius: 12px; background-image: linear-gradient(rgba(240, 242, 246, 1), rgba(240, 242, 246, 1)) !important; }
.up .speakers-section .speakers-box > h4 { margin-bottom: 30px; }
.up .speakers-section .speakers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; text-align: center; }
.up .speakers-section .speaker-profile { display: flex; flex-direction: column; align-items: center; }
.up .speakers-section .speaker-profile h5 { font-size: 22px; }
.up .speakers-section .speaker-profile .speaker-photo { width: 170px; height: 170px; border-radius: 50%; overflow: hidden; border: 4px solid #134dd1; margin-bottom: 16px; }
.up .speakers-section .speaker-profile .speaker-photo img { width: 100%; height: 100%; object-fit: cover; }

/* # Related Content Section
================================================== */
.up .related-content-section { padding: 60px 0; }
.up .related-content-section .related-content-title { margin-bottom: 30px; }
.up .related-content-section .related-content-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.up .related-content-section .content-card { display: block;  background-color: #24364e; border-radius: 10px; overflow: hidden; color: #ffffff; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.up .related-content-section .content-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); text-decoration: none; }
.up .related-content-section .card-image-wrapper { position: relative; }
.up .related-content-section .card-image-wrapper img { width: 100%; display: block; }
.up .related-content-section .card-image-wrapper::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.4); }
.up .related-content-section .card-text-content { padding: 25px; }
.up .related-content-section .card-tag { border: 1px solid var(--colorP4); border-radius: 3px; font-size: 12px; margin-bottom: 40px; order: -1; padding: 2px 5px 2.5px; width: fit-content; }
.up .related-content-section .card-headline { margin-bottom: 40px; color: #ffffff; }

/* # Intro Text Section
================================================== */
.up .intro-text-section { padding: 60px 0; }
.up .intro-text-container { margin: 0 auto; text-align: center; }
.up .intro-text-container h3 { margin-bottom: 30px; }
.up .intro-text-container .it-text-bottom { margin-top: 14px; }

/* # Insights Section
================================================== */
.up .insights-section { padding: 60px 0; }
.up .insights-header { margin-bottom: 30px; }
.up .insights-text-bottom { margin-top: 14px; }
.up .insights-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 24px; }
.up .insights-feature-list { list-style: none; padding: 0; margin: 0; }
.up .insights-feature-list li { margin-bottom: 14px; }
.up .insights-feature-list li:last-child { margin-bottom: 28px; }

/* # Agenda Section
================================================== */
.up .agenda-section { padding: 60px 0; }
.up .agenda-header { text-align: center; margin-bottom: 30px;}
.up .agenda-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.up .agenda-column .day-title { font-size: 22px; }
.up .agenda-section ul { list-style: none; padding: 0; margin: 0; }
.up .agenda-section ul .bottom-spacing { margin-bottom: 14px; }

/* # Registration Details Section
================================================== */
.up .reg-details-section { padding: 60px 0; }
.up .reg-details-container { margin: 0 auto; text-align: center; }
.up .reg-details-container h3 { margin-bottom: 30px; }
.up .reg-details-container .reg-bottom-text { margin-top: 14px; }
.up .reg-details-body { margin-bottom: 38px; }

/* # Reusable Info Grid Section (Accommodations, Transportation)
================================================== */
.up .info-section { padding: 60px 0; }
.up .info-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.up .info-content h3 { margin-bottom: 30px; }
.up .info-content .acc-bottom-text { margin-top: 14px; margin-bottom: 24px; }
.up .info-image img { width: 100%; }
.up .info-grid--image-left .info-image-wrapper { order: -1; }

/* # Footer Section
================================================== */
.up .site-footer{ align-items: center; display: flex; height: 120px; justify-content: center; padding: 20px; }
.up .site-footer .container { display: flex; justify-content: center; }
.up .site-footer .logo a { width: 156px; display: flex; }