 :root {
            --vivo-blue: #0056b3;
            --vivo-light-blue: #007bff;
            --vivo-gradient: linear-gradient(135deg, #0056b3 0%, #007bff 100%);
            --vivo-dark: #001a33;
        }

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Thin.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Extralight.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Demibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Extrabold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'VivoSansGlobal';
  src: url('../fonts/vivoSansGlobal-Heavy.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
}


		 *:focus {
    box-shadow: none !important;
}
		.container-fluid.remove-gutter-x{
			--bs-gutter-x: 0 !important;
		}
        body {
           font-family: 'VivoSansGlobal', sans-serif;
  font-weight: 400; 
            overflow-x: hidden;
            background-color: #000000;
            color: #fff;
        }
		
		.primary-text{
			color: #5069ff;
		}
        .logoImage{
			width:85px;
			padding-left: 10px;
		}
        .navbar {
            background: #000000;
            box-shadow: 0 1px 15px rgba(0, 0, 0, 0.1);
            padding: 8px 0;
        }
        
        .navbar-brand {
            font-weight: 700;
            color: var(--vivo-blue);
            font-size: 1.8rem;
        }
        
        .nav-link {
            font-weight: 500;
            margin: 0 10px;
            color: #333;
            transition: all 0.3s;
            position: relative;
			  font-size: 16px;
    font-weight: 400;
        }
		
		.text-white{
			color:#ffffff;
		}
        
        .nav-link:hover {
            color: #ffffff;
			  
        }
        
		
		.navbar-light .navbar-nav .nav-link{
			color:#ffffff;
		}
		
		.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover{
			color:#ffffff;
		}
		.navbar-expand-lg .navbar-nav .nav-link{
			        padding-right: 1rem;
        padding-left: 1rem;
		}
		.navbar-light .navbar-toggler-icon{
			    background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e) !important;
		}
		.navbar-light .navbar-toggler{
			border:none;
			border:0;
		}
		@media screen and (max-width: 650px) {
		nav.navbar .navbar-collapse{
			padding:15px;
		}
		}
		.btn-header-right {

color:#5069ff;
      font-size: 36px;
    font-weight: 900;
            border: none;
            border-radius: 0;
            transition: all 0.3s;
			height: 76px;
    margin-top: -8px;
    margin-bottom: -8px;
	letter-spacing:1px;
}

		
		.carousel-indicators{
			justify-content: flex-end !important;
			margin-right: 7% !important;
			
		}
		.carousel-indicators [data-bs-target] {
			width:60px !important;
			margin-right: 10px !important;
			background-color: #2e7dff;
			
		}

    @media screen and (max-width: 750px) {
			.carousel-indicators [data-bs-target] {
			width:30px !important;
			margin-right: 0px !important;
			
		}
		}
    
        .btn-vivo {
            background: var(--vivo-gradient);
            color: white;
            border: none;
            padding: 10px 25px;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s;
        }
        
        .btn-vivo:hover {
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(0, 86, 179, 0.3);
        }
		.divider-line{
			height:1px;
			background:#404040;
			margin-bottom:80px;
		}
		.sub-hero{
			padding-top:80px;
			padding-bottom:40px;
		}
		
		
		.sub-hero .sub-hero-text{
			font-size:36px;
			font-weight: 600;
		}
		
		@media screen and (max-width: 650px) {
			.sub-hero{
			padding-top:25px;
			padding-bottom:12px;
			}
			.sub-hero .sub-hero-text{
			font-size:26px;
		}
		.divider-line{
			margin-bottom:30px;
		}
		}
		
		
		.sub-hero .sub-hero-text .red-text{
			color: #5069ff;
		}
		
		.home-reg-block{
			padding-top:110px;
			padding-bottom:80px;
			background:#000;
			color: #fff;
			background-image: url('https://vivo-2025-campaign.blr1.cdn.digitaloceanspaces.com/assets/participation_form_updated.webp');
			background-size: cover;
		}
		
		.home-reg-block a{
			color:#fff;
		}
		.concert_image{
			display:none;
		}

	@media screen and (max-width: 650px) {
		.concert_image{
			display:block;
		}
		.home-reg-block {
		padding-top:0px;
			padding-bottom:0px;
			background: transparent !important;
		}
	}
	.vivo-form-input, .vivo-form-input:focus {
		background: rgba(0, 0, 0, 0.7);
    padding: 15px;
    border-radius: 8px;
	border-color: #ffffff;
	color: white;
	}
	

.vivo-form-input::placeholder {
  color: white;
  opacity: 1;
}


.vivo-form-input::-webkit-input-placeholder {
  color: white;
}

	
.timeline-section{
			padding-top:80px;
			padding-bottom:40px;
		}
.timeline-section h2{
	margin-bottom:40px;
}

.timeline-section .divider-line{
			height:1px;
			background:#404040;
			margin-bottom:80px;
		}
.timeline-block{
background: #5069FF;
background: linear-gradient(98deg, rgba(80, 105, 255, 1) 0%, rgba(80, 105, 255, 1) 0%, rgba(23, 58, 122, 1) 100%);
padding:10px;
position: relative;
}


.timeline-block .corner {
  position: absolute;
  width: 90px;
  height: 40px;
  border: 3px solid transparent;
  pointer-events: none; /* prevent interaction issues */
}



/* Top-right - Red */
.timeline-block .corner-tr {
  top: 0;
  right: 0;
  border-color: #fff;
  border-left: none;
  border-bottom: none;
}

/* Bottom-left - Green */
.timeline-block .corner-bl {
  bottom: 0;
  left: 0;
  border-color: #fff;
  border-top: none;
  border-right: none;
}

.timeline-block .timeline-block-inner {
	padding-top: 45px;
    padding-bottom: 15px;
}

.timeline-block .date{
	font-size: 54px;
    line-height: 30px;
    font-weight: 700;
}
.timeline-block .month{
    font-weight: 500;
}
.timeline-bottom-text{
	font-size:22px;
}

@media screen and (max-width: 650px) {
	.timeline-section{
			    padding-top: 35px;
    padding-bottom: 0px;
		}
		.timeline-section h2 {
    margin-bottom: 20px;
}
.timeline-section .divider-line {
    margin-bottom: 40px;
}
.timeline-bottom-text {
    font-size: 18px;
}
	.timeline-block .corner {
	  width: 120px;
  height: 40px;
	}
	.d-none-650{
		display:none;
	}
}


.jury-section{
			padding-top:80px;
			padding-bottom:40px;
		}
.jury-section .jury-name{
	font-size:24px;
	font-weight:500;
	margin-bottom:10px;
}

.jury-section .jury-desc{
	font-size:14px;
}



@media screen and (max-width: 650px) {
	.jury-section .w-65{
		width:65%;
	}
.jury-section{
			padding-top:0px;
			padding-bottom:40px;
		}
}

.awards-section{
			padding-top:80px;
			padding-bottom:40px;
		}
		
.awards-section .main-jury-winner{
	font-size:24px;
	font-weight:500;
	margin-bottom:10px;
}

.awards-section .jury-winner{
	font-size:18px;
	font-weight:500;
	margin-bottom:10px;
}

.blog-section{
			padding-top:80px;
			padding-bottom:40px;
		}
.blog-section h2 {
    margin-bottom: 40px;
}

.blog-section .blg_head{
	font-size:24px;
	font-weight:500;
	margin-bottom:20px;
}

.blog-section .blg_desc{
	font-size:16px;
	color:#919191
}



.engagement-section{
			padding-top:80px;
			padding-bottom:40px;
		}
.engagement-section h2 {
    margin-bottom: 40px;
}
.engagement-block{
	padding:40px 20px 20px 20px;
	    background: #5069FF;
background: linear-gradient(98deg, rgba(80, 105, 255, 1) 0%, rgba(80, 105, 255, 1) 0%, rgba(23, 58, 122, 1) 100%);
	margin-bottom:30px;
}
.engagement_count{
	font-weight:900;
	font-size:42px;
	line-height:30px;
}
.engagement_desc{
	font-weight:500;
}
.engagement_bottom_txt{
	font-size:18px;
}

.footer-txt {
    padding-top: 80px;
    padding-bottom: 40px;
	border-bottom: 1px solid #404040;
}

.footer-txt p {
    font-size: 36px;
    font-weight: 600;
}

.footer-txt .blue-text {
    color: #5069ff;
}

footer {
    padding-top: 80px;
    padding-bottom: 40px;
}

footer .divider-line{
	margin-bottom:20px;
}

.categories-section{
			padding-top:80px;
			padding-bottom:40px;
		}
.categories-section h2{
	margin-bottom:40px;
}

.categories-section .divider-line{
			height:1px;
			background:#404040;
			margin-bottom:30px;
		}
		.carousel-tabs-h4{
			display:none;
			        color: #2e7fff;
        margin-bottom: 20px;
        font-size: 20px;
        font-weight: 700;
		}

		
		/* Style Owl Carousel navigation arrows */
.owl-carousel .owl-nav {
  position: absolute;
  top: 42%;
  left: 0;
  right: 0;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none; 
  z-index: 10;
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
  background-color: transparent;
  color: white;
  font-size: 3rem;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  pointer-events: all; /* Enable clicking on the buttons */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Optional: spacing from edge */
.owl-carousel .owl-nav button.owl-prev {
  margin-left: 10px;
}

.owl-carousel .owl-nav button.owl-next {
  margin-right: 10px;
}


/* Container for image */
.image-wrapper {
  position: relative;
  overflow: hidden;
}

/* Actual image */
.image-wrapper img {
  width: 100%;
  display: block;
  border-radius: 10px;
}

/* Black overlay */
.image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5); /* 50% black */
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 1;
}

/* Remove overlay on center image */
.owl-carousel .center .image-overlay {
  opacity: 0;
}

/* Apply scale to all items by default */
.owl-carousel .item {
  transform: scale(0.9);
  transition: transform 0.3s ease;
  opacity: 0.7; /* Optional: slightly fade side items */
}

/* Scale up the active center item */
.owl-carousel .center .item {
  transform: scale(1);
  opacity: 1;
}

/* Hide content by default */
.slide-content {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  text-align: center;
  color: white; /* Adjust for your design */
}

/* Show content only on center item */
.owl-carousel .center .slide-content {
  opacity: 1;
  transform: translateY(0);
}

.slide-content p {
	margin-top:40px;
	font-size:22px;
}
.carousel-tabs a{
	    font-size: 24px;
    text-decoration: none;
    color: #747474;
    font-weight: 700;
}
.carousel-tabs a.active{
    color: #5069ff;
}



.images-section{
			padding-top:80px;
			padding-bottom:40px;
		}
		
		
		.images-section h2 {
   line-height: 54px;
}

.images-section h2 .blue-text {
    color: #5069ff;
	font-size:30px;
	font-weight:800;
	letter-spacing:4px;
}



.images-section .image-block {
  position: relative;
}

.images-section .image-block .top-left-content {
  position: absolute;
  top: 1px;
  left: 1px;
  color: white; /* Optional for visibility */
  background: #000; /* Optional background */
  padding: 5px 10px;
  border-radius: 4px;
}

.images-section .image-block .bottom-left-content {
  position: absolute;
  bottom: 17px;
  left: 1px;
  color: white; /* Optional for visibility */
  background: #000; /* Optional background */
  padding: 5px 10px;
  border-radius: 4px;
}

.images-section .image-block .bottom-right-content {
  position: absolute;
    bottom: 20px;
    right: 4px;
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
}

.images-section .image-block .top-center-content{
    position: absolute;
    bottom: 20px;
    top: 0px;
    color: white;
    padding: 5px 5px;
    background: linear-gradient(
  to bottom,
  rgba(0, 0, 0, 1) 0%,
  rgba(0, 0, 0, 1) 5%,
  rgba(0, 0, 0, 0.95) 20%,
  rgba(0, 0, 0, 0.85) 40%,
  rgba(0, 0, 0, 0.65) 60%,
  rgba(0, 0, 0, 0.45) 80%,
  rgba(0, 0, 0, 0.25) 95%,
  rgba(0, 0, 0, 0) 100%
);
    width: 100%;
    height: 140px;
    color: #5069ff;
    text-align: center;
    font-size: 48px;
	font-weight:700;
}

.images-section .image-user-name{
	font-weight: 500;
    font-size: 12px;
    margin-bottom: 0px;
}

.images-section .image-user-photo{
    font-size: 10px;
    margin-bottom: 0px;
	color: #9b9b9b;
}

.images-collection-bottom{
	margin-bottom:80px;
}

.vivo-form-select {
  height: 58px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 8px;
  border: 1px solid #ffffff;
  color: white;
  padding-right: 2.5rem; /* space for arrow */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='14' height='10' viewBox='0 0 14 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23ffffff' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 14px 10px;
  font-size: 14px;
}


.submit-button{
	background: #5069ff;
    color: #fff;
    border: 1px solid #5069ff;
    padding: 10px 40px 8px 40px;
    border-radius: 4px;
}
.font14{
	font-size:14px !important;
}
.pt3{
    padding-top: 3px !important;
}

.add-image-btn {
    background: #5069ff;
    color: #fff;
    border: 1px solid #5069ff;
    padding: 10px 10px 8px 10px;
    border-radius: 4px;
}


#uploaded-images {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
}

.preview-image-wrapper {
  position: relative;
  width: 90px;
  height: 90px;
  flex: 0 0 auto;
}

.preview-image-wrapper img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 6px;
}

.preview-image-wrapper .remove-btn {
  position: absolute;
  top: -5px;
  right: -5px;
  background: white;
  border: 1px solid #ccc;
  border-radius: 50%;
  font-size: 10px;
  cursor: pointer;
  padding: 2px 5px;
  line-height: 1;
  color: red;
}

.form-control:disabled, .form-control[readonly] {
    background-color: transparent;
    opacity: 1;
}

div:where(.swal2-container).swal2-center>.swal2-popup{
	background:#000 !important;
}
.swal2-html-container, .swal2-title{
	color: #fff !important;
}


	@media screen and (max-width: 650px) {
.categories-section{
			padding-top:35px;
			padding-bottom:40px;
		}
		.categories-section h2{
	margin-bottom:25px;
}
.owl-carousel .owl-nav{
	top: 26% !important;
}
.categories-section .divider-line {
    margin-bottom: 30px;
}
.carousel-tabs{
	display:none !important;
}
.carousel-tabs-h4{
			display:block;
		}
		.slide-content p {
	margin-top:30px;
	font-size:16px;
}

.awards-section{
			padding-top:10px;
			padding-bottom:40px;
		}
		
.awards-section .w-7 {
        width: 70%;
    }
	.images-section {
    padding-top: 10px;
    padding-bottom: 40px;
}
.images-section h2 {
    line-height: 45px;
}
		
		.blog-section {
    padding-top: 15px;
    padding-bottom: 40px;
}
.engagement-section {
    padding-top: 0px;
    padding-bottom: 40px;
}
.engagement-section h2 {
    font-size: 22px;
	margin-bottom: 20px;
}
.footer-txt {
    padding-top: 0px;
    padding-bottom: 20px;
    border-bottom: 1px solid #666666;
}
.footer-txt p {
    font-size: 24px;
    font-weight: 600;
}
footer {
    padding-top: 25px;
    padding-bottom: 40px;
}
}	

.jury-small-block-amir .hover-img-block{
	display: none !important;
}

.jury-small-block-amir:hover .hover-img-block{
	display: block !important;
}
.jury-small-block-amir:hover .hover-img-none{
	display: none !important;
}


.jury-small-block-rakesh .hover-img-block{
	display: none !important;
}

.jury-small-block-rakesh:hover .hover-img-block{
	display: block !important;
}
.jury-small-block-rakesh:hover .hover-img-none{
	display: none !important;
}


.jury-small-block-vineet .hover-img-block{
	display: none !important;
}

.jury-small-block-vineet:hover .hover-img-block{
	display: block !important;
}
.jury-small-block-vineet:hover .hover-img-none{
	display: none !important;
}


.jury-big-block-zoya .hover-img-block{
	display: none !important;
}

.jury-big-block-zoya:hover .hover-img-block{
	display: block !important;
}
.jury-big-block-zoya:hover .hover-img-none{
	display: none !important;
}

.awards-txt-block{
	padding-top: 50px;
	padding-bottom: 40px;
	    background: #5069FF;
    background: linear-gradient(98deg, rgba(80, 105, 255, 1) 0%, rgba(80, 105, 255, 1) 0%, rgba(23, 58, 122, 1) 100%);
	color:#fff;
	margin-bottom:20px;
}
.awards-txt-block p {
	font-size:28px;
	font-weight:700;
}



/* Popup background */
.image-modal {
  display: none; /* hidden by default */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* Popup image */
.image-modal img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 10px;
}

/* Close button */
.image-modal .close-btn {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}

.form-control{
	font-size: 14px;
}