:root {
	--white: #FFF;
	--green: #44d62c;
	--orange: #f28601;
	--blue: #009ace;
	--dark-blue: #101820;
}

html {
  scroll-behavior: smooth;
}

body {
}

/* ----------------------------------------------------- Background Styles ------------------------------------------------- */
a .bg-light-grey:hover {
	background-color: var(--orange);
}
.bg-orange { 
	background-color: var(--orange);
}
.bg-blue { 
	background-color: var(--blue);
}
.bg-dark-blue { 
	background-color: var(--dark-blue);
}
.bg-dark-blue-gradient {
  background: radial-gradient(
    circle at top center,
    #0e2850 0%,
    #060c16 100%
  );
}
.background-centered {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.background-left {
	background-position: left; 
	padding: 8%;
}
.content-right {
	padding-left: 25%;
}
.min-height {
	/*min-height: 55vh;*/
	min-height: 35vw;
}
.min-height-intro {
	min-height: 22vw;
}

.um-profile a:hover { 
	color: var(--navy) !important;
}
/* ----------------------------------------------------- Menu Styles ------------------------------------------------- */

.menu ul {
	padding: 0px;
	margin: 0;
}
.menu li {
	list-style: none;
	display: inline-block;
	padding: 3px 15px;
	margin-left: 10px;
	background-image: none;
	margin-bottom: 10px;
}
.menu a {
	color: var(--white);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
}
.menu a:hover {
	color: var(--pink);
	text-decoration: none !important;
}
footer a:hover {
	color: var(--navy);
}
footer a {
	color: var(--navy);
}
/* ----------------------------------------------------- Header And Banner Image Styles ---------------------------------------------------------------- */

header {
	/*position: absolute;*/
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	/*padding: 50px 5%;*/
}

.logo {
	width: 45%;
	max-width: 560px;
	min-width: 180px;
	margin-top: 2%;
	margin-bottom: 2%;
}
.logo-mobile {
	display: none;
}


.banner-image {
	width: 100%;
	height: auto;
	min-height: 65vh;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
}

.header-wrapper {
    position: relative;
    overflow: hidden;
}

.banner-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.gradient-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 1;
}
.gradient-overlay::before {
  content: "";
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: radial-gradient(circle at top center,
    rgba(0,180,240,0.4) 20%,
    rgba(20,80,200,0.3) 40%,
    rgba(0,0,0,0.6) 100%
  );
}
.gradient-overlay::after {
  content: "";
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: radial-gradient(circle at bottom center,
    rgba(90,30,160,0.3) 0%,
    rgba(0,0,0,0.8) 100%
  );
}



.content-layer {
    position: relative;
    z-index: 2;
}


.banner-image-text {
    position: absolute;
    color: var(--white);
    font-weight: 400;
    font-size: 35px;
    line-height: initial;
	padding-top: 3%;
}

.banner-image-text p {
	font-size: 25px;
}

.contact-info {
	text-align: right;
}

.social-column {
  gap: 1rem;
}

.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: white 1px solid; 
  color: white !important;
  font-size: 1.2rem;
  transition: background-color 0.3s ease, transform 0.2s ease;
  text-decoration: none !important;
}

.social-icon:hover {
  background-color: var(--green);
  transform: scale(1.05);
}

/* ----------------------------------------------------- Show Section Styles ---------------------------------------------------------------- */



/* Vertical line shared style */
.vertical-line {
    width: 2px;
    background-color: #00FF57;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

/* Top line overlaps header */
.top-line {
    height: 150px;
    top: -40px;
    z-index: 2;
}

/* Bottom line continues below */
.bottom-line {
    height: 150px;
    bottom: -30px;
    z-index: 2;
}

/* Green outlined box */
.outlined-box {
    border: 2px solid #00FF57;
    padding: 2rem 1rem;
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    z-index: 3;
}

/* Event box styles */
.show-box {
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    padding: 2rem;
}


/* Button inside card */
.show-box a.btn {
    font-weight: 500;
    padding: 0.5rem 1.25rem;
}

.show-logo {
	height: 200px;
  width: auto;
}

.contact-section {
  background: radial-gradient(circle at top, #0d3a66 0%, #090c1f 100%);
  color: #fff;
  padding: 80px 20px;
  position: relative;
}

.contact-section .form-wrap {
  background-color: #00082b;
}

.contact-section .contact-info {
  background-color: #0f1f23;
  color: #fff;
}

.contact-section .contact-info a {
  color: #fff;
  text-decoration: none;
}

.contact-section .contact-info a:hover {
  text-decoration: underline;
}

.contact-section .text-success {
  color: #5be70e !important;
  font-weight: 600;
}


.contact-section .social-icons a {
  font-size: 1.2rem;
  display: inline-block;
  margin-right: 10px;
  transition: opacity 0.3s ease;
}

.contact-section .social-icons a:hover {
  opacity: 0.7;
}

}


/* ----------------------------------------------------- Sticky Side Button Styles ---------------------------------------------------------------- */
li#ssb-btn-0, li#ssb-btn-1, li#ssb-btn-2, li#ssb-btn-3 {
	padding: 0 !important;
}

/* ----------------------------------------------------- Generic Content Styles ---------------------------------------------------------------- */

.content-padding {
	padding: 5%;
}
.content-padding-sm {
	padding: 2.5%;
}
.content-margin {
	margin: 5% 0;
}
.mobile-display {
		display: none;
	}


/* ----------------------------------------------------- Button and A Styles ---------------------------------------------------------------- */

.btn-outline {
	border-radius: 0px;
  background-color: transparent;
  padding: 10px 30px;
  color: #fff !important;
  border: 1px solid white;
  margin-top: 15px;
  font-weight: 600;
	display: inline-block;
}
.btn-outline:hover {
   border-radius: 0px;
  background-color: white;
  padding: 10px 30px;
  color: var(--green) !important;
  border: 1px solid white;
  margin-top: 15px;
  font-weight: 600;
	display: inline-block;
}

.nf-form-content button, .nf-form-content input[type="button"], .nf-form-content input[type="submit"] {
	background-color: var(--green) !important;
	color: white !important; 
	cursor: pointer;
	width: 100% !important;
	border: none !important; 
	text-transform: uppercase;
}
.nf-form-content button:hover, .nf-form-content input[type="button"]:hover, .nf-form-content input[type="submit"]:hover {
	color: white !important;
	background-color: var(--blue) !important;
}
.nf-before-form-content {
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px 5px;
}

.nf-field-element input {
	border: none !important;
	border-bottom: var(--blue) 1px solid !important;
    color: var(--blue) !important;
	background-color: transparent !important;
}

.nf-field-element textarea {
	border: none !important;
	border-bottom: var(--blue) 1px solid !important;
    color: var(--blue) !important;
	background-color: transparent !important;
}

.nf-before-form-content {
	display: none !important;
}
/* ----------------------------------------------------- Content Styles ---------------------------------------------------------------- */
.overlapping-images {
	position: absolute;
	z-index: 999;
	margin-top: -40px;
	max-width: 90%;
	margin-left: 5%;
	max-height: 550px;
}

/* ----------------------------------------------------- Ultimate Member Styles ---------------------------------------------------------------- */
label {
	margin-bottom: .35rem !important;
}
/*make fields float right for teacher reg form*/
.um-field-label {
	margin: 0 20px 0 0 !important;
	display: inline-block !important;
}
.um-field-area {
	width: 70%;
	float: right;
}
/*revert fields to 100% width for login form*/
#um_field_25_username .um-field-area {
	width: 100%;
	float: none;
}
#um_field_25_user_password .um-field-area {
	width: 100%;
	float: none;
}
/*revert fields to 100% width for exhibitor registration form*/
.um-57 .um-field-area {
	width: 100%;
	float: none;
}
/*revert fields to 100% width for forgetten password form*/
.um-password .um-field-area {
	width: 100%;
	float: none;
}
/*revert fields to 100% width for Your Booking form on Exhibitor Portal*/
.um-account-tab-booking .um-field-area {
	width: 100%;
	float: none;
}


.um-field-block {
	color: var(--navy) !important;
}

/*styles for profile when user logged in*/
.um-profile .um-profile-body {
	max-width: 1200px !important;
}
.um-profile .um-profile-body .um-field-area {
	width: 62%;
}

/*styles of fields when viewing profile*/
.um-profile .um-form .um-profile-body .um-field-area {
	width: 100%;
	float: none;
}

.um-account-profile-link a {
	font-size: 15px !important;
	font-weight: bold !important;
}
.um-profile.um .um-profile-headericon a {
	color: #666 !important;
	font-weight: bold !important;
}
/* ---- Hide buttons in account tabs  ---- */
.um input[value~=Hidden] {
	display: none !important;
}

/* -------------------- Sponsor tag  -------------------- */
/*hide 'sponsor' field title*/
.um-member-metaline-event_sponsor strong {
	display: none !important;
}
.um-member-metaline-event_sponsor {
	background-color: var(--red);
	color: #fff;
	padding: 10px !important;
	font-weight: bold;
	font-size: 15px !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo {
	padding: 40px 0 10px 0 !important;
}
.um-member-meta-main {
	margin-top: -52px !important;
	position: absolute;
  	top: 0;
	margin-left: -1px;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-meta-main .um-member-meta {
	padding-bottom: 0 !important;
	border: 0 !important;
}
.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-meta-main .um-member-meta.no-animate {
	margin: 0 !important;
}
.um-directory .um-members-wrapper .um-members {
	margin-top: 50px !important;
}

/* ----------------------------------------------------- Footer Styles ---------------------------------------------------------------- */

footer p, footer a {
	font-size: 14px;
}


/* ----------------------------------------------------- 2200px + ---------------------------------------------------------------- */

@media only screen and (min-width : 2200px) {
}


/* ----------------------------------------------------- Smaller than 2200px ----------------------------------------------------- */

@media only screen and (max-width : 2200px) {
}


/* ----------------------------------------------------- Smaller than 1800px ----------------------------------------------------- */

@media only screen and (max-width : 1800px) {
}


/* ----------------------------------------------------- Smaller than 1750px ----------------------------------------------------- */

@media only screen and (max-width : 1750px) {
	
	video-header {
		height: 65vw;
	}
}


/* ----------------------------------------------------- Smaller than 1650px ----------------------------------------------------- */

@media only screen and (max-width : 1650px) {	
}


/* ----------------------------------------------------- Smaller than 1550px ----------------------------------------------------- */

@media only screen and (max-width : 1550px) {
	.um-profile .um-profile-body .um-field-area {
		width: 57%;
	}

}


/* ----------------------------------------------------- Smaller than 1450px ----------------------------------------------------- */

@media only screen and (max-width : 1450px) {
	/*.location-button p {
		font-size: 15px;
	}*/
	.dates p {
		font-size: 15px;
	}
}


/* ----------------------------------------------------- Smaller than 1350px ----------------------------------------------------- */

@media only screen and (max-width : 1350px) {
	.slider-image {
		width: calc(50% - 10px);
		min-width: calc(50% - 10px);
	}
	/*.dates {
		margin-left: -20px;
	}*/
	.min-height {
		min-height: 40vw;
	}
}


/* ----------------------------------------------------- Smaller than 1300px ----------------------------------------------------- */

@media only screen and (max-width : 1300px) {
	.um-field-area {
		width: 65%;
	}
	.um-profile .um-profile-body .um-field-area {
		float: none;
	}
	/*.location-button p {
		font-size: 13px;
	}*/
} 


/* ----------------------------------------------------- Smaller than 1200px - Bootstrap XL ----------------------------------------------------- */

@media only screen and (max-width : 1200px) {
	.sm-screen-hidden {
		display: none;
	}
	.mobmenur-container {
		top: 35px !important;
	}
	.min-height {
		min-height: 43vw;
	}
	video-header {
		height: 70vw;
	}
	
}

/* ----------------------------------------------------- Smaller than 1125px ----------------------------------------------------- */

@media only screen and (max-width : 1125px) {
	.um-field-area {
		width: 62%;
	}
	.location-button {
		height: 55px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.min-height {
		min-height: 48vw;
	}
	
}

/* ----------------------------------------------------- Smaller than 1080px ----------------------------------------------------- */
@media only screen and (max-width : 1080px) {
	.caption-wrap .caption {
 	   font-size: 30px;
	}
}

/* ----------------------------------------------------- Smaller than 1024px - iPad landscape ----------------------------------------------------- */

@media only screen and (max-width : 1024px) {	
	.um-field-area {
		float: none;
		width: 100%;
	}
	
		.top-line {
  		height: 120px;
	}
		.bottom-line {
  		height: 120px;
	}


}

/* ----------------------------------------------------- Smaller than 991px ------------------------------------------------------ */

@media only screen and (max-width : 991px) {
	.overlapping-images {
		position: relative;
		margin-top: 0;
	}
	.mobmenur-container {
		top: 30px !important;
	}
	.min-height {
		min-height: 56vw;
	}
	.quick-link {
		height: 65px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

}

/* ----------------------------------------------------- Smaller than 870px ------------------------------------------------------ */

@media only screen and (max-width : 870px) {	
	.aitl-reg iframe {
		height: 4250px;
	}
	.min-height {
		min-height: 71vw;
	}
	video-header {
		height: 70vw;
	}

}

/* ----------------------------------------------------- Smaller than 800px ------------------------------------------------------ */

@media only screen and (max-width : 800px) {	
	
	
}


/* ----------------------------------------------------- Smaller than 768px - iPad portrait ------------------------------------------------------ */

@media only screen and (max-width : 768px) {
	.mobile-center {
		text-align: center !important;
	}
	.mobile-left {
		text-align: left !important;
	}
	.metaslider .caption-wrap {
	    width: 90% !important;
	}
	.mobile-hidden {
		display: none;
	}
	.mobile-padding {
		padding: 7%;
	}
	.location-header {
		margin-bottom: 50px;
	}
	.dates {
		width: 90%;
		position: absolute;
		margin-top: 125px;
	}
	.mobmenur-container {
		top: 10px !important;
		margin-right: 0 !important;
	}
	.min-height {
		min-height: 60vh;
	}
	.sponsor img {
  		max-width: 210px;
	}
	.content-right {
		padding-left: 35%;
	}
	.content-right .btn-pink, .content-right .btn-navy {
		padding: 10px;
	}
	.background-left {
		background-position: top left -25px;
	}
	banner-image {
		height: 75vh;
	}
	
	.banner-image-text p {
	font-size: 18px;
}
	.top-line {
  		height: 75px;
	}
		.bottom-line {
  		height: 75px;
			bottom: -38px;
	}
	
	.social-section {
	 display: none !important;
}


}


/* ----------------------------------------------------- Smaller than 700px ------------------------------------------------------ */

@media only screen and (max-width : 700px) {



}

/* ----------------------------------------------------- Smaller than 600px ----------------------------------------------------- */

@media only screen and (max-width : 600px) {
	.location-header {
  		margin-bottom: 60px;
	}

}


/* ----------------------------------------------------- Smaller than 540px ------------------------------------------------------ */

@media only screen and (max-width : 540px) {	

}


/* ----------------------------------------------------- Smaller than 500px ------------------------------------------------------ */

@media only screen and (max-width : 450px) {
	.dates {
	  	width: 80%;
	 	margin-top: 78vw;
	  	margin-left: 8%;
	}
	.location-header {
	  	margin-bottom: 100px;
	}


}