/*
 * Custom CSS
 */

body{
	font-family:'Atkinson Hyperlegible',sans-serif;
}
:root {
  --bs-body-bg: var(--bs-gray-100);
  --main-color:#4719A9;
  --main-color-hover:#5b19e8;
  --blue:#6ac2bd;
  --blue-hover:#77e0da;
  --orange:#f59b43;
  --navy:#00577d;
  --teal:#689ab1;
  --light-teal:#7bbad6;
}
img {
  max-width: 100%;
  height: auto; }

h1, h2, h3, h4, h5, h6{
	font-weight:bold;
}
div, a, td {
  
  -webkit-transition: all .2s ease-in-out; 
	-moz-transition: all .2s ease-in-out; 
	-o-transition: all .2s ease-in-out; 
	transition: all .2s ease-in-out; 
}

hr{margin: 1.5rem 0;
    color: inherit;
    border: 0;
    border-top: 1px solid var(--navy);
   opacity:1;
}
.margin-bottom-mobile{
	margin-bottom:30px;
}
@media only screen and (min-width: 768px){
	.margin-bottom-mobile{
		margin-bottom:0px;
	}
}	
.home-banner{
	position:relative;
	z-index:1;
	background:#333;
	background-image:url(../img/home-banner.jpg);
	background-size:cover;
	background-position:center center;
	color:#fff;
	height:75dvh;
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.home-banner-logo{
	position:absolute;
	top:20px;
	left:15px;
}
.home-banner-logo img{
	height:50px;
}

.home-banner-menu{
	position:absolute;
	top:50px;
	right:15px;
	text-align:right;
	font-size:1.2rem;
	display:none;
}
.home-banner-menu a{
	color:#fff;
	margin-right:30px;
	text-decoration:none;
}
.home-banner-menu a:hover,
.home-banner-menu a:active,
.home-banner-menu a:focus
{
	color:var(--blue-hover);
	text-decoration:none;
}
.home-banner-mobile{
	position: absolute;
    top: 30px;
    right: 15px;
    width: 30px;
    height: auto;
    text-align: right;
    font-size: 1.2rem;
    display: block;
}
.mobile-button img{
	height:30px auto;
}
@media only screen and (min-width: 768px){
	.home-banner-mobile{
		display: none;
	}
	.home-banner-menu{
		display:block;
	}
}	

.offcanvas-header {
    justify-content: end;
	padding: 2.35rem 1.85rem;
}
.btn-close{
	font-size:1.3rem;
	opacity:.7;
}
.offcanvas{
	background:var(--main-color);
}
.mobile-menu{
	padding-left:30px;
}
.mobile-menu ul{
	list-style-type:none;
    padding:0px;
    margin:0px;
}
.mobile-menu ul li{
    padding-bottom:16px;
}
.mobile-menu a{
	color:#fff;
	font-size:1.4rem;
	font-weight:500;
	text-decoration:none;
}
.btn-close{
--bs-btn-close-color:#fff;
}
.home-banner-title{
	font-size:2rem;
	font-weight:700;
	text-transform:uppercase;
	line-height:1;
	width:100%;
	margin-bottom:20px;
}
.home-banner-text{
	font-size:1.2rem;
	line-height:1.25;
	font-weight:400;
	width:100%;
	margin-bottom:30px;
}

@media only screen and (min-width: 768px){
	.home-banner{
		height:90dvh;
	
	}
	.home-banner-logo{
		position:absolute;
		top:20px;
		left:20px;
	}	
	.home-banner-logo img{
		height:80px;
	}	
	.home-banner-title{
		font-size:4rem;
		width:60%;
	}
	.home-banner-text{
		font-size:1.6rem;
		width:50%;
	}	
}

.outline-white-button{
	display:inline-block;
	margin:0;
	color:#fff;
	font-size:1rem;
	font-weight:700;
	text-align:center;
	padding:12px 25px;
	border-radius:25px;
	border:1px solid #fff;
	text-decoration:none;
	
}
.outline-white-button:hover,
.outline-white-button:focus,
.outline-white-button:active
{
	color:#000!important;
	background:#fff;
	border:1px solid #fff;
	text-decoration:none;
}
.outline-white-button::after{
	font: var(--fa-font-regular);
	content: '\f063';
	  color:#fff;
	  padding-left:11px!important;
    transition: all .2s ease-in-out!important;
}
.outline-white-button:hover::after,
.outline-white-button:active::after,
.outline-white-button:focus::after{
	padding-left:21px!important;
	color:#000;

}

.full-button{
	display:inline-block;
	margin:0;
	color:#fff;
	background:var(--main-color);
	font-size:1rem;
	font-weight:700;
	text-align:center;
	padding:12px 25px;
	border-radius:25px;
	border:1px solid var(--main-color);
	text-decoration:none;
	
}
.full-button:hover,
.full-button:focus,
.full-button:active
{
	color:#fff!important;
	background:var(--main-color-hover);
	border:1px solid var(--main-color-hover);
	text-decoration:none;
}
.full-button::after{
	font: var(--fa-font-regular);
	content: '\f063';
	  color:#fff;
	  padding-left:11px!important;
    transition: all .2s ease-in-out!important;
}
.full-button:hover::after{
	padding-left:21px!important;
	color:#fff;

}


.about-section{
	min-height:70dvh;
	padding:60px 0;
	background:var(--main-color);
	color:#fff;
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
}
.about-section-image{
	text-align:center;
}

.animation{
	height:auto;
	width:400px;
}

.about-section-text{
	font-size:1rem;
	margin-bottom:30px;
	max-width:525px;
}

.about-section-text h1{
	font-size:2.4rem;
	text-transform:uppercase;
	font-weight:bold;
	margin-bottom:20px;
}
.about-section-buttons{
	padding-top:50px;
	margin-top:50px;
	border-top:1px solid var(--navy);
	font-size:1.2rem;
	margin-bottom:30px;
}
.about-section-buttons h3{
	margin-bottom:30px;
	color:#fff;
}



@media only screen and (min-width: 768px){
	.about-section{
		padding:100px 0;
	}
	.about-section-text{
		font-size:1.2rem;
	}

	.about-section-text h1{
		font-size:3.2rem;
	}	
}

.callan-open-doors{
	background:var(--orange);
	min-height:70dvh;
	padding:60px 0;
	color:var(--navy);
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
}
.callan-open-doors-text{
	font-size:1rem;
	margin-bottom:30px;
}
.callan-open-doors-text b{
	color:#fff;
}
.callan-open-doors-text h1{
	font-size:2.4rem;
	text-transform:uppercase;
	font-weight:bold;	
	color:#fff;
	margin-bottom:20px;
}

.callan-open-doors-image{
	text-align:center;
}
.callan-open-doors-image img{
	max-height:600px;
}



@media only screen and (min-width: 768px){
	.callan-open-doors{
		padding:100px 0;
	}
	.callan-open-doors-text{
		font-size:1.2rem;
	}

	.callan-open-doors-text h1{
		font-size:3.2rem;
	}	
}


.blue-button{
	display:inline-block;
	margin:0px 10px 20px 0px;
	color:#fff;
	background:var(--navy);
	font-size:1rem;
	font-weight:700;
	text-align:center;
	padding:12px 20px;
	border-radius:25px;
	border:1px solid var(--navy);
	text-decoration:none;
	
}
.blue-button:hover,
.blue-button:focus,
.blue-button:active
{
	color:#fff!important;
	background:var(--teal);
	border:1px solid var(--teal);
	text-decoration:none;
}
.blue-button::after{
	font: var(--fa-font-regular);
	content: '\f56d';
	  color:#fff;
	  padding-left:11px!important;
    transition: all .2s ease-in-out!important;
}
.blue-button:hover::after{
	padding-left:21px!important;
	color:#fff;

}
.outline-blue-button{
	display:inline-block;
	margin:0px 10px 20px 0px;
	color:var(--navy);
	background:transparent;
	font-size:1rem;
	font-weight:700;
	text-align:center;
	padding:12px 20px;
	border-radius:25px;
	border:1px solid var(--navy);
	text-decoration:none;
	
}
.outline-blue-button:hover,
.outline-blue-button:focus,
.outline-blue-button:active
{
	color:#fff!important;
	background:var(--navy);
	border:1px solid var(--navy);
	text-decoration:none;
}
.outline-blue-button::after{
	font: var(--fa-font-regular);
	content: '\f56d';
	  color:var(--navy);
	  padding-left:11px!important;
    transition: all .2s ease-in-out!important;
}
.outline-blue-button:hover::after{
	padding-left:21px!important;
	color:#fff;

}
.teal-button{
	display:inline-block;
	margin:0px 10px 20px 0px;
	color:#fff;
	background:var(--teal);
	font-size:1rem;
	font-weight:700;
	text-align:center;
	padding:12px 20px;
	border-radius:25px;
	border:1px solid var(--teal);
	text-decoration:none;
	
}
.teal-button:hover,
.teal-button:focus,
.teal-button:active
{
	color:#fff!important;
	background:var(--light-teal);
	border:1px solid var(--light-teal);
	text-decoration:none;
}
.teal-button::after{
	font: var(--fa-font-regular);
	content: '\f56d';
	  color:#fff;
	  padding-left:11px!important;
    transition: all .2s ease-in-out!important;
}
.teal-button:hover::after{
	padding-left:21px!important;
	color:#fff;

}
.funders-and-sponsors{
	background:var(--navy);
	min-height:70dvh;
	padding:60px 0;
	color:#fff;
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
}

.funders-and-sponsors-text{
	font-size:1rem;
	margin-bottom:30px;
	max-width:525px;
}
.funders-and-sponsors h1{
	font-size:2.4rem;
	text-transform:uppercase;
	font-weight:bold;
	margin-bottom:20px;
}

@media only screen and (min-width: 768px){
	.funders-and-sponsors{
		padding:100px 0;
	}
	.funders-and-sponsors-text{
		font-size:1.2rem;
	}

	.funders-and-sponsors h1{
		font-size:3.2rem;
	}	
}
.footer-logo{
	width:200px;
	height:auto;
	margin-bottom:20px;
}
.border-right{
	padding-right:0px;
	border-right: 0px solid #fff;
	margin-right:0px;}
.contact-section{

	padding:30px 0 30px;
	background:var(--main-color);
	color:#fff;
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
}
.contact-section-image{
	text-align:center;
}


.contact-section-text{
	font-size:1rem;
	margin-bottom:30px;
	color:#fff;
}

.contact-section-text h1{
	font-size:1.8rem;
	text-transform:uppercase;
	font-weight:bold;
	margin-bottom:20px;
}

.animation-2{
	height:auto;
	width:180px;
	margin-right:30px;
}
.contact-section-text a{
	text-decoration:none;
	color:var(--blue);
}
.contact-section-text a:hover,
.contact-section-text a:active,
.contact-section-text a:focus
{
	text-decoration:none;
	color:var(--blue-hover);
}
.social-button{
	font-size:2rem; 
	margin-right:20px;
	color:var(--blue);
}
.social-button:hover,
.social-button:active,
.social-button:focus
{
	font-size:2rem; 
	margin-right:20px;
	color:var(--blue-hover);
}
.right{
	text-align:left;
}

@media only screen and (min-width: 768px){
	.contact-section{

	padding:70px 0 50px;
}
	.right{
		text-align:right;
	}
	.contact-section-text{
		font-size:1.2rem;
	}
	.border-right{
	padding-right:30px;
	border-right: 1px solid #fff;
	margin-right:10px;}
}

/*TICKETS PAGE*/

.tickets-banner{
	background-color:var(--orange);
}
.tickets-banner-logo{
	position:absolute;
	top:20px;
	left:15px;
}
.tickets-banner-logo img{
	height:50px;
}


.tickets-logo img{
	width:180px;
}
.tickets-title{
	font-size:1.2rem;
}
.tickets-title h1{
	font-size:4em;
	color:#fff;
}
.ticket-panel{
	background:#fff;
	color:#333;
	padding:25px;
	border-radius:12px;
	margin-bottom:30px;
}
.ticket-panel h2{
	color:var(--navy);
}
.presents{
	color:var(--navy);
}


.ticket-button{
	display:inline-block;
	margin:20px 0px 0px 0px;
	color:#fff;
	background:var(--navy);
	font-size:1rem;
	font-weight:700;
	text-align:center;
	padding:8px 16px;
	border-radius:25px;
	border:1px solid var(--navy);
	text-decoration:none;
	
}
.ticket-button:hover,
.ticket-button:focus,
.ticket-button:active
{
	color:#fff!important;
	background:var(--blue);
	border:1px solid var(--blue);
	text-decoration:none;
}
.ticket-button::after{
	font: var(--fa-font-regular);
	content: '\f061';
	  color:#fff;
	  padding-left:11px!important;
    transition: all .2s ease-in-out!important;
}
.ticket-button:hover::after{
	padding-left:21px!important;
	color:#fff;

}
@media only screen and (min-width: 768px){
	.tickets-banner-logo img{
	height:80px;
}
	.ticket-panel{
		background:#fff;
		color:#333;
		padding:30px;
		border-radius:12px;
		margin-bottom:30px;
	}
	.ticket-button{
	display:inline-block;
	margin:0px 0px 0px 0px;
	color:#fff;
	background:var(--navy);
	font-size:1rem;
	font-weight:700;
	text-align:center;
	padding:12px 20px;
	border-radius:25px;
	border:1px solid var(--navy);
	text-decoration:none;
	
}
}