/* /////////////////////////////

	1. Basic Styles
	2. Navbar
	3. Buttons
	4. Hero
	5. Marketing
	6. Testimonials
	7. Pricing
	8. Call to Action
	9. Footer
	10. Media Queries
	11. Animation

   //////////////////////////*/

/* #352F44 */
/* #3E374F */
/* #5C5470 */
/* #B9B4C7 */
/* #FAF0E6 */

:root {
	--darkest-color: #352f44;
	--darker-color: #3e374f;
	--dark-color: #5c5470;
	--light-color: #faf0e6;
}

body {
	font-family: "Roboto", sans-serif;
	color: #faf0e6;
	background-color: var(--darkest-color);

	/* prevent horizontal scrolling */
	overflow-x: clip;
}

h1 {
	font-size: 2em;
	font-weight: bolder;
}

h2 {
	font-size: 44px;
	font-weight: 700;
}

h3 {
	font-size: 24px;
	font-weight: 500;
}

h5 {
	font-size: 16px;
}

p {
	margin-top: 1em;
	margin-bottom: 1em;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: var(--light-color);
}

ul {
	list-style-type: none;
	padding-left: 0px;
	margin: auto;
}

b {
	font-weight: 700;
}

section {
	padding: 50px 0px;
}

.qr {
	width: 50%;
}

.btn-group {
	padding: 50px;
}

.container {
	max-width: 100%;
	margin: 20px 40px;
}

.index-container {
	max-width: 60%;
	margin: 20px auto;
}

.index-grid-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.glow {
	text-shadow:
		1px 1px 10px #3c6dff,
		1px 1px 10px #ffcece;
	/* text-align:center; */
}

.hero-section {
	padding: 50px 0px;
}

.title-block {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	text-align: center;
}

.title-block p {
	font-size: 20px;
	font-weight: 300;
	/* color: #8da2b5; */
	color: var(--light-color);
	margin-bottom: 0px;
}

#divider {
	height: 2px;
	width: 100%;
	background: blue;
	background: linear-gradient(90deg,
			hsl(0, 0%, 20%),
			hsl(0, 0%, 70%),
			hsl(0, 0%, 20%));
}

.about-us-img-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 30px;
}

.about-us-logo {
	/* width: 20%; */
	/* height: auto; */
	object-fit: contain;
	margin: 30px;
}

.challenge-info {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 10px;
}

.icon {
	width: 20px;
	height: 20px;
	margin-right: 7px;
	filter: invert(100%);
}

.featured {
	grid-column: 1 / 3;
	text-align: center;
}

.featured .challenge-title {
	display: block;
	text-align: center;
}

.countdown {
	display: flex;
	justify-content: space-evenly;
	margin-top: 20px;
	margin-bottom: 30px;
}

.countdown-desc {
	margin-top: 50px;
	font-size: 18px;
}

.index-countdown-desc {
	font-size: 18px;
	margin: 30px 0;
}

.countdown-container {
	background-color: var(--darker-color);
	padding: 30px;
	border-radius: 10px;
	width: 20%;
}

.countdown-value {
	font-size: 5rem;
	border-bottom: 1px solid white;
}

.countdown-label {
	font-size: 1.2rem;
	margin-top: 15px;
}

.countdown-ucc-page {
	display: flex;
	justify-content: space-evenly;
	margin-top: 45px;
	margin-bottom: 30px;
	width: 60%;
}

.countdown-ucc-page .countdown-container {
	/* background-color: var(--darker-color); */
	background-color: rgba(62, 55, 79, 0.6);
	padding: 30px;
	border-radius: 10px;
	width: 20%;
	opacity: 0.7;
}

.segment-container {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	scroll-snap-align: start;
	gap: 100px;
}

.segment-container--column {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	scroll-snap-align: start;
	gap: 100px;
}

.organiser-segment-container {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.vision-info {
	display: flex;
	flex-direction: column;
	width: 40%;
}

.vision-info p {
	overflow-wrap: break-word;
	font-size: 20px;
	text-align: center;
}

#vision-statement {
	font-size: 50px;
	line-height: 1;
}

.info-img {
	max-width: 100%;
	width: 500px;
}

.show-icon {
	list-style-type: disc;
	/* list-style-image: url(assets/icons/cpu.png); */
	/* filter: invert(100%); */
}

.details-list {
	font-size: 20px;
	margin-left: 50px;
}

.target-participant {
	font-size: 20px;
	margin: 20px 0;
}

.challenge-section-title {
	/* margin: 40px; */
	margin-bottom: 20px;
}

.prizes-desc {
	width: 40%;
	font-size: 20px;
}

.prizes-info {
	display: flex;
	justify-content: center;
	gap: 60px;
}

.prize-info {
	font-size: 20px;
}

.prize-value {
	font-size: 50px;
}

.prize-info-aifi {
	font-size: 25px;
	margin-bottom: 20px;
}

.prize-value-aifi {
	font-size: 30px;
	font-weight: 600;
}

.prizes-container {
	height: 100vh;
	margin: 0 100px;
	display: flex;
}

.prizes-graphic-container {
	display: flex;
	justify-content: space-evenly;
	/* gap: 50px; */
	width: 60%;
}

.prize-graphic {
	text-align: center;
	width: 100%;
	border-right: 1px dotted white;
	padding-inline: 20px;
}

.equation {
	filter: invert(100%);
}

.organiser-container-challenge {
	width: 80%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background-color: white;
	border-radius: 20px;
	margin: 10px auto;
	text-align: center;
}

.organiser-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background-color: white;
	border-radius: 20px;
	text-align: center;
	align-items: center;
	grid-column: 1 / 3;
}

/* TIMELINE */
::selection {
	color: #fff;
	background: #3ea0e2;
}

.wrapper {
	width: 100%;
	max-width: 1080px;
	margin: 50px auto;
	padding: 0 20px;
	position: relative;
}

.wrapper .center-line {
	position: absolute;
	height: 80%;
	width: 4px;
	background: #fff;
	left: 50%;
	top: 20px;
	transform: translateX(-50%);
}

.wrapper .row {
	display: flex;
}

.wrapper .row-1 {
	justify-content: flex-start;
}

.wrapper .row-2 {
	justify-content: flex-end;
}

.wrapper .row section {
	background: var(--dark-color);
	border-radius: 5px;
	width: calc(50% - 40px);
	padding: 20px;
	position: relative;
}

.wrapper .row section::before {
	position: absolute;
	content: "";
	height: 15px;
	width: 15px;
	background: var(--dark-color);
	top: 28px;
	z-index: -1;
	transform: rotate(45deg);
}

.row-1 section::before {
	right: -7px;
}

.row-2 section::before {
	left: -7px;
}

.row section .timeline-icon,
.center-line .scroll-icon {
	position: absolute;
	background: #aaa;
	height: 40px;
	width: 40px;
	text-align: center;
	line-height: 40px;
	border-radius: 50%;
	color: #3ea0e2;
	font-size: 17px;
	box-shadow:
		0 0 0 4px #fff,
		inset 0 2px 0 rgba(0, 0, 0, 0.08),
		0 3px 0 4px rgba(0, 0, 0, 0.05);
}

.center-line .scroll-icon {
	bottom: 0px;
	left: 50%;
	font-size: 25px;
	transform: translateX(-50%);
}

.row-1 section .timeline-icon {
	top: 15px;
	right: -60px;
}

.row-2 section .timeline-icon {
	top: 15px;
	left: -60px;
}

/* .row section .details, */
/* .row section .bottom{ */
/*   display: flex; */
/*   align-items: center; */
/*   justify-content: space-between; */
/* } */

.row section .details {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.row section .details .title {
	font-size: 22px;
	font-weight: 600;
}

.row section p {
	margin: 10px 0 17px 0;
}

/* .row section .bottom a{ */
/*   text-decoration: none; */
/*   background: #3ea0e2; */
/*   color: #fff; */
/*   padding: 7px 15px; */
/*   border-radius: 5px; */
/*   /* font-size: 17px; */
*/
/*   font-weight: 400; */
/*   transition: all 0.3s ease; */
/* } */
/* .row section .bottom a:hover{ */
/*   transform: scale(0.97); */
/* } */

@media(max-width: 790px) {
	.wrapper .center-line {
		left: 40px;
	}

	.wrapper .row {
		margin: 30px 0 3px 60px;
	}

	.wrapper .row section {
		width: 100%;
	}

	.row-1 section::before {
		left: -7px;
	}

	.row-1 section .timeline-icon {
		left: -60px;
	}
}

@media (max-width: 440px) {

	.wrapper .center-line,
	.row section::before,
	.row section .timeline-icon {
		display: none;
	}

	.wrapper .row {
		margin: 10px 0;
	}
}

/* ==============================================
   2. Navbar 
===============================================*/

.custom-navbar {
	/* background-color: #ffffff!important; */
	background-color: var(--darkest-color);
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.09);
	height: 70px;
	max-height: 70px;
}

.navbar-toggler {
	font-size: 38px;
	background-color: transparent;
}

.navbar-toggler:focus {
	text-decoration: none;
	outline: none;
}

.navbar-toggler-icon {
	color: var(--darkest-color);
}

.navbar-collapse {
	/* background-color: #ffffff; */
	background-color: var(--darkest-color);
}

.nav-custom-link {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.05em;
	margin-top: 5px;
}

.navbar a {
	/* color: #53627C !important; */
	color: var(--light-color) !important;
}

.nav-right {
	float: right;
}

/* ==============================================
   3. Buttons
===============================================*/

.btn {
	font-size: 16px;
	font-weight: 400;
	border-radius: 3px !important;
	box-shadow:
		0 2px 3px 0 rgba(0, 0, 0, 0.05),
		0 1px 2px 0 rgba(0, 0, 0, 0.08);
	cursor: pointer;
}

.btn:hover {
	text-decoration: none;
}

.btn-regular {
	/* background-color: #0095f7; */
	background-color: var(--darkest-color);
	color: #ffffff;
	padding: 15px 30px;
	letter-spacing: 0.1em;
	/* margin-top: 25px; */
	margin: 25px 25px;
	display: inline-block;
	transition: transform 250ms;
}

.btn-regular:hover,
.btn-regular:focus-visible {
	/* background-color: #0191f0; */
	background-color: var(--darker-color);
	color: #ffffff;

	transform: scale(1.1);
}

.btn-demo {
	color: #ffffff;
	background-color: #6772e5;
	letter-spacing: 0.1em;
	padding: 15px 48px;
	display: inline-block;
	width: 100%;
	margin-top: 20px;
}

.btn-demo:hover {
	color: #ffffff;
	background-color: #636ee1;
}

.btn-demo-small {
	font-size: 12px;
	background-color: #6772e5;
	padding: 1px 4px;
}

.btn-demo-small:hover {
	background-color: #636ee1;
}

.btn-demo-small a {
	color: #ffffff !important;
}

.btn-buy {
	color: #ffffff;
	background-color: #0095f7;
	letter-spacing: 0.1em;
	padding: 15px 48px;
	display: inline-block;
	width: 100%;
	margin-top: 20px;
}

.btn-buy:hover {
	background-color: #0191f0;
	color: #ffffff;
}

/* ==============================================
   4. Hero
===============================================*/

#hero {
	background-image: url("assets/images/banner1.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	height: 100vh;
	padding: 50px 0;
	/* Override section style of "100px 0" */

	/* Enable the change of background opacity. */
	position: relative;
	isolation: isolate;
}

/* Black transparent overlay */
#hero::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: black;
	z-index: -1;
	opacity: 0.5;
}

#ucc-ai-quest-2023-hero {
	background-image: url("assets/images/banner8.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 100vh;

	/* Enable the change of background opacity. */
	position: relative;
	isolation: isolate;
}

/* Black transparent overlay */
#ucc-ai-quest-2023-hero::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: black;
	z-index: -1;
	opacity: 0.7;
}

.hero-container {
	min-height: 80vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	justify-content: center;
	scroll-snap-align: start;
}

#ucc-ai-quest-2023-hero .hero-container {
	margin-top: 80px;
}

#ucc-ai-quest-2023-hero h1 {
	font-size: 80px;
}

.hero h1 {
	font-size: 70px;
}

.hero p {
	font-size: 28px;
	font-weight: 400;
	color: white;
	margin-top: 15px;
	/* margin-bottom: 0px; */
	padding: 0px;
}

.#hero span {
	font-weight: 400;
	color: #0095f7;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ==============================================
   5. Challenges
===============================================*/

#challenges p {
	font-size: 20px;
	font-weight: 300;
	/* color: #8da2b5; */
	color: #fff;
	margin-bottom: 0px;
	padding: 0px;
}

#challenges span {
	font-weight: 400;
	color: #0095f7;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.content-box {
	padding: 60px 20px;
}

/* ==============================================
   6. Testimonials
===============================================*/

#testimonials {
	background-color: #f6f8f9;
	border-top: 1px solid #f8f9fb;
	border-bottom: 1px solid #f8f9fb;
}

.testimonial-box {
	background-color: #5c5470;
	box-shadow:
		0 0 1px 0 rgba(0, 12, 32, 0.04),
		0 10px 16px 0 rgba(10, 31, 68, 0.06);
	border-radius: 20px;
	padding: 20px 30px;
}

.testimonial-box h6 {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.05em;
	/* margin-top: 5px; */
	margin-bottom: 0px;
}

.testimonial-box p {
	font-size: 16px;
	font-weight: 300;
	margin-top: 25px;
	line-height: 1.5;
	padding: 0px;
}

.testimonial-box i {
	color: #ffffff;
}

.testimonial-box small {
	font-size: 12px;
	color: #fff;
	display: inline-block;
}

.testimonial-box span {
	font-size: 14px;
	color: #ffffff;
}

.challenge-logo {
	display: inline;
	max-width: 100px;
	/* margin-top: 5px; */
	/* margin-bottom: 10px; */
}

.challenge-title {
	display: flex;
	gap: 30px;
	padding: 10px 0 20px 0;
	border-bottom: 1px solid #edf1f2;
	margin-bottom: 15px;
}

/* ==============================================
   9. Footer
===============================================*/

footer {
	background-color: #292c31;
	padding: 60px 0;
	color: #62656a;
}

footer h5 {
	color: #aeb3bd;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

footer p {
	font-size: 12px;
	font-weight: 300;
	color: #62656a;
	text-align: justify;
	padding: 0px;
}

footer li {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-bottom: 10px;
}

footer a {
	color: #62656a;
}

footer a:hover {
	color: #0095f7;
	text-decoration: none;
}

footer i {
	font-size: 25px;
	color: #62656a;
	margin-right: 10px;
}

footer i:hover {
	color: #0095f7;
}

footer small {
	color: #62656a;
	float: right;
}

.external-links {
	color: #0095f7;
}

/* ==============================================
   9. Media Queries
===============================================*/

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
	h2 {
		font-size: 34px !important;
		margin-bottom: 20px;
		line-height: 1.6;
	}

	.title-block h2,
	p {
		/* text-align: left; */
		/* padding: 0px 20px; */
	}

	#call-to-action h2,
	p {
		/* text-align: left!important; */
		/* padding: 0 20px; */
	}

	#call-to-action {
		background-image: none;
		background-color: #0095f7;
	}

	footer {
		padding: 60px 25px;
	}

	footer h5 {
		font-size: 18px;
		margin-top: 30px;
	}

	footer li {
		font-size: 16px;
		margin-bottom: 15px;
	}

	footer p {
		font-size: 16px;
	}

	footer i {
		font-size: 30px;
		margin-right: 20px;
	}

	footer small {
		float: left;
		margin-top: 20px;
	}

	.wrapper .row section {
		width: 100%;
	}
}

@media (max-width: 768px) {
	#hero h1 {
		font-size: 50px !important;
		margin-bottom: 20px;
		/* background-color: rgba(0, 0, 0, 0.7); */
		padding: 10px;
		border-radius: 10px;
	}

	#hero p {
		font-size: 20px !important;
	}

	.qr {
		display: none;
	}

	.challenge-info {
		flex-direction: column;
	}

	.challenge-title {
		flex-direction: column;
	}

	.countdown {
		gap: 20px;
	}

	.countdown-container {
		padding: 10px;
	}

	.countdown-value {
		font-size: 3rem;
	}

	.countdown-label {
		font-size: 1rem;
	}

	.segment-container {
		flex-direction: column;
		gap: 70px;
		text-align: center;
	}

	.vision-info {
		width: 100%;
		align-items: center;
	}

	.vision-info p {
		padding: 10px;
	}

	.center {
		text-align: center;
	}

	.prizes-info {
		flex-direction: column;
		gap: 10px;
		text-align: center;
		padding: 10px;
	}

	.prizes-desc {
		width: 100%;
	}

	.prizes-graphic-container {
		flex-direction: column;
		gap: 50px;
	}

	.prize-graphic {
		border-right: none;
		/* border-bottom: 1px solid white; */
	}

	.details-list {
		margin-left: 30px;
	}

	.show-icon {
		list-style-type: none;
		margin: 0;
		/* 	padding: 0; */
	}

	.index-grid-container {
		grid-template-columns: 1fr;
	}

	.featured,
	.organiser-container {
		grid-column: auto;
	}

	.countdown {
		flex-direction: column;
		align-items: center;
	}

	.countdown .countdown-container {
		width: 50%;
		margin-bottom: 10px;
	}

	.countdown-ucc-page {
		flex-direction: column;
		align-items: center;
	}

	.countdown-ucc-page .countdown-container {
		width: 50%;
		margin-bottom: 10px;
	}
}

@media (max-width: 991px) {
	.nav-right {
		float: left;
	}

	.nav-custom-link {
		border-bottom: 1px solid #eee;
	}

	.navbar-nav {
		width: 100%;
	}

	.navbar-nav .nav-link {
		padding: 20px 0;
		text-align: left;
	}

	.btn-demo-small {
		background-color: #ffffff;
		border: 0px;
		padding: 0px;
		box-shadow: none;
	}

	.btn-demo-small:hover {
		background-color: #ffffff;
		border: 0px;
		padding: 0px;
		box-shadow: none;
	}

	.btn-demo-small a {
		color: #53627c !important;
	}

	.nav-custom-link {
		font-size: 13px;
	}

	.icon-mobile {
		font-size: 18px;
		float: right;
	}

	.navbar-collapse {
		border-bottom: 1px solid #efefef;
	}

	.nav-logo-mobile {
		margin: auto;
		padding-right: 50px;
	}

	.nav-logo-desktop {
		display: none;
	}

	.index-container {
		max-width: 80%;
	}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.icon-mobile {
		display: none;
	}

	.nav-logo-mobile {
		display: none;
	}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.hero-content {
		margin-top: 100px;
	}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
	.pricing-box h3 {
		font-size: 17px;
	}

	.pricing-box p {
		font-size: 14px;
	}

	.pricing-box li {
		font-size: 12px;
	}

	.btn-buy {
		font-size: 12px;
		padding: 15px 20px;
	}

	.btn-demo {
		font-size: 12px;
		padding: 15px 20px;
	}

	.profile-picture {
		width: 50px;
		height: 50px;
	}

	.testimonial-box h6 {
		font-size: 14px;
		/* margin-left: 10px; */
	}

	.testimonial-box span {
		font-size: 12px;
	}

	.testimonial-box small {
		font-size: 12px;
		margin-top: 4px;
		/* margin-left: 10px; */
	}
}

/* ==============================================
   11. Animation
  ===============================================*/

section .animate {
	transition: 500ms;
}

.sec-1 .animate {
	opacity: 0;
	transform: translateX(-50%);
}

.sec-1.show-animate .animate {
	opacity: 1;
	transform: translateX(0);
}

.sec-2 .animate {
	opacity: 0;
	transform: translateX(50%);
}

.sec-2.show-animate .animate {
	opacity: 1;
	transform: translateX(0);
}

.sec-3 .animate {
	opacity: 0;
	transform: scale(0.7);
}

.sec-3.show-animate .animate {
	opacity: 1;
	transform: scale(1);
}

.sec-4 .animate {
	opacity: 0;
	transform: translateX(-50%);
}

.sec-4.show-animate .animate {
	opacity: 1;
	transform: translateX(0);
}

.sec-5 .animate {
	opacity: 0;
	transform: translateX(50%);
}

.sec-5.show-animate .animate {
	opacity: 1;
	transform: translateX(0);
}

.sec-6 .animate {
	opacity: 0;
	transform: translateY(50%);
}

.sec-6.show-animate .animate {
	opacity: 1;
	transform: translateY(0);
}
