/* 
	PurpleKrypt
	This CSS file contains CSS used by the home page
*/

/* #home_background {
	min-height: calc(100vh - 150px);
	background: #EB4034;
	background: linear-gradient(192deg,rgba(235, 64, 52, 1) 0%, rgba(0, 0, 0, 1) 98%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#eb4034",GradientType=1); 
	
	padding-top: 20vh;
	padding-bottom: 10vh;
	display: flex;
    justify-content: center; 
	
	border-radius: 0px 0px 50px 50px;
} */


/* #home_background {
    min-height: calc(100vh - 450px);

    background:
        linear-gradient(192deg, rgba(235, 64, 52, 0.7) 0%, rgba(0, 0, 0, 0.85) 98%),
        url("../schl_imgs/muh_compound_small_students.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    padding-top: 28vh;
    padding-bottom: 12vh;

    display: flex;
    justify-content: center;

    border-radius: 0 0 50px 50px;
}

#logo_circle{
    width: 240px;
    height: 240px;
    margin: 0 auto;
	padding: 20px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

#home_main_image {
    display: block;
    max-width: 500px;
    width: 200px; 
    height: auto; 
	margin-bottom: 0px;
	scale: 2;
	margin: 0px auto;
	
	opacity: 0;
	animation: fade_in_up 0.5s forwards;
	animation-delay: 0.2s;
}

#home_main_text {
	color: #ffffff;
	white-space: pre-line;
	font-size: 50px;
	padding-top: 0px;
	margin-top: 20px;
	margin-bottom: 60px;
	text-align: center;
	text-shadow: 0 0 10px #eb4034, 0 0 20px #eb4034, 0 0 30px #eb4034;
	
	opacity: 0;
	animation: fade_in_up 0.5s forwards;
	animation-delay: 0.3s;
} */


#home_background {
    position: relative;
    overflow: hidden;

    min-height: calc(100vh - 450px);

    background:
        radial-gradient(
              circle 55px at var(--mouse-x, 50%) var(--mouse-y, 50%),
		rgba(235, 64, 52, 0.65) 0%,
		rgba(235, 64, 52, 0.45) 15%,
		rgba(235, 64, 52, 0.20) 30%,
		rgba(235, 64, 52, 0.07) 50%,
		transparent 75%
        ),
        linear-gradient(
            192deg,
            rgba(235, 64, 52, 0.7) 0%,
            rgba(0, 0, 0, 0.85) 98%
        ),
        url("../schl_imgs/muh_compound_small_students.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    padding-top: 28vh;
    padding-bottom: 12vh;

    display: flex;
    justify-content: center;

    border-radius: 0 0 50px 50px;
}

#home_background::before {
    content: "";
    position: absolute;

    width: 450px;
    height: 450px;

    left: var(--mouse-x, 50%);
    top: var(--mouse-y, 50%);

    transform: translate(-50%, -50%);

    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(235, 64, 52, 0.12) 25%,
        rgba(235, 64, 52, 0.05) 45%,
        transparent 70%
    );

    pointer-events: none;
    z-index: 1;

    transition:
        left 0.08s ease-out,
        top 0.08s ease-out;
}

#home_background > div {
    position: relative;
    z-index: 2;
}

#home_background > div {
    position: relative;
    z-index: 2;
}


/* Content stays above the glow */
#home_background > div {
    position: relative;
    z-index: 2;

    transform-style: preserve-3d;
}


/* Logo gets the 3D movement */
#home_main_image {
    display: block;
    max-width: 500px;
    width: 200px;
    height: auto;
    margin: 0 auto;
    scale: 2;

    opacity: 0;

    animation: fade_in_up 0.5s forwards;
    animation-delay: 0.2s;

    /* JS controls these */
    transform:
        translate3d(
            var(--logo-x, 0px),
            var(--logo-y, 0px),
            0
        )
        rotateX(var(--logo-rotate-x, 0deg))
        rotateY(var(--logo-rotate-y, 0deg));

    transition: transform 0.15s ease-out;
}


/* Text moves slightly less than logo */
#home_main_text {
    color: #ffffff;
    white-space: pre-line;
    font-size: 50px;
    padding-top: 0px;
    margin-top: 20px;
    margin-bottom: 60px;
    text-align: center;

    text-shadow:
        0 0 10px #eb4034,
        0 0 20px #eb4034,
        0 0 30px #eb4034;

    opacity: 0;

    animation: fade_in_up 0.5s forwards;
    animation-delay: 0.3s;

    transform:
        translate3d(
            var(--text-x, 0px),
            var(--text-y, 0px),
            0
        );

    transition: transform 0.2s ease-out;
}


/* Don't run fancy mouse effects on touch devices */
@media (hover: none) {
    #home_background::before {
        display: none;
    }

    #home_main_image,
    #home_main_text {
        transform: none !important;
    }
}





#home_main_button {
	text-align: center;
	margin: 10px auto;
	margin-top: 100px;
	width: 200px;

}

#home_algo_grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin-top: 10px;
	max-width: 1024px;
}

/* Animation assigning */
#home_algo_glow_box_1 {
	opacity: 0;
	animation: fade_in_up 0.5s forwards;
	animation-delay: 0.4s;

}
	
#home_algo_glow_box_2 {
	opacity: 0;
	animation: fade_in_up 0.5s forwards;
	animation-delay: 0.5s;
}

.home_algo_glow_box {
	border: 2px solid #ffffff;
	border-radius: 10px;
	padding: 20px;
	text-align: center;
	display: flex;
    justify-content: center; 
	
	-webkit-box-shadow:0px 0px 18px 2px rgba(247, 33, 25,0.38) , 0px 0px 18px 2px rgba(247, 33, 25,0.38) inset;
	-moz-box-shadow: 0px 0px 18px 2px rgba(247, 33, 25,0.38) , 0px 0px 18px 2px rgba(247, 33, 25,0.38) inset;
	box-shadow: 0px 0px 18px 2px rgba(247, 33, 25,0.38) , 0px 0px 18px 2px rgba(247, 33, 25,0.38) inset;
	
	-webkit-transition: all 0.2s ease;
    	-moz-transition: all 0.2s ease;
    	-o-transition: all 0.2s ease;
    	-ms-transition: all 0.2s ease;
    	transition: all 0.2s ease;
}

.home_algo_glow_text {
	white-space: pre-line;
	font-size: 24px;
	text-shadow: 0 0 10px #eb4034, 0 0 20px #eb4034, 0 0 30px #eb4034;
	font-family: 'roboto_regular';
	padding-top: 3px;
	color: #ffffff;
}

.home_ROSET_graphical_grid {
	display: grid;
    grid-template-columns: repeat(3, 1fr); 
    grid-template-rows: repeat(3, 1fr); 
    gap: 20px;
	margin: 70px 160px;
	font-size: 24px;
  
}

.home_ROSET_graphical_grid_obj_w {
	padding: 40px;
	background-color: transparent;
	color: #aaaaaa;
	text-align: center;
	border: 2px solid #aaaaaa;
	border-radius: 10px;
	display: block;
	margin: 0px;
	
	
	box-shadow: 1px 16px 29px -4px rgba(0,0,0,0.75);
	-webkit-box-shadow: 1px 16px 29px -4px rgba(0,0,0,0.75);
	-moz-box-shadow: 1px 16px 29px -4px rgba(0,0,0,0.75);
	
	-webkit-transition: all 0.2s ease;
    	-moz-transition: all 0.2s ease;
    	-o-transition: all 0.2s ease;
    	-ms-transition: all 0.2s ease;
    	transition: all 0.2s ease;
}

.home_ROSET_graphical_grid_obj_w:hover {
	color: #ffffff;
	border: 2px solid #ffffff;
	transform: scale(1.05);
	
}

.home_ROSET_graphical_grid_obj_b {
	padding: 40px;
	background-color: transparent;
	color: #eb4034;
	text-align: center;
	border: 2px solid #eb4034;
	border-radius: 10px;
	display: block;
	margin: 0px;
	
	box-shadow: 1px 16px 29px -4px rgba(0,0,0,0.75);
	-webkit-box-shadow: 1px 16px 29px -4px rgba(0,0,0,0.75);
	-moz-box-shadow: 1px 16px 29px -4px rgba(0,0,0,0.75);
	
	-webkit-transition: all 0.2s ease;
    	-moz-transition: all 0.2s ease;
    	-o-transition: all 0.2s ease;
    	-ms-transition: all 0.2s ease;
    	transition: all 0.2s ease;
}

.home_ROSET_graphical_grid_obj_b:hover {
	color: #cc00ff;
	border: 2px solid #cc00ff;
	transform: scale(1.05);
}

.image-container img {
    display: none;  /* Hide all images initially */
    opacity: 0;
    transition: opacity 1s ease-in-out;  /* Fade-in and fade-out animation */
}

.image-container img.show {
    display: block;  /* Show the image when it has the 'show' class */
    opacity: 1;
}

.image-container img.fade-out {
    opacity: 0;  /* Fade out effect */
}

#span_2{
 grid-column: span 2;
}

#home_API_pic {
	max-height: 400px; 
	margin-right: 50px;
}

#home_API_desc {
	font-size:22px; 
	padding-right:150px;
}


#home_values .light_card_no_padding {
    position: relative;
	background-color: transparent;
	
}

#home_values .light_card_no_padding .image_full {
    display: block;
    width: 100%;
}

#home_values .light_card_no_padding h3 {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    color: #ffffff;
	text-shadow: 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 30px #000000;
    text-align: center;
    width: 90%;
    z-index: 2;
}

#home_values .light_card_no_padding h3_d {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    color: #ffffff;
	text-shadow: 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 30px #000000;
    text-align: center;
    width: 90%;
    z-index: 2;
}


#home_contact_box {
	font-family: "roboto_bold";
}


/* For Mobile */
@media screen and (max-width: 1000px) {
	
	#home_main_text {
		font-size: 45px;
	}
	.home_algo_glow_text {
		padding-top: 2px;
		font-size: 24px;

	}
	
	#algo_des {
		display: grid;
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.home_ROSET_graphical_grid {
		margin: 70px 0px;
		font-size: 20px;
  
	}
	
	#home_API_pic {
		max-height: auto; 
		max-width: 70%; 
		margin: 0px auto;
		margin-bottom: 15px;
	}

	#home_API_desc {
		font-size:20px; 
		text-align: center;
		margin: 0px auto;
		padding: 5px
	}
}



/* ========================================= 
Policies HORIZONTAL SCROLL 
========================================= */ 

#home_news_box {
	margin-top: 30px;
}
.news_scroll_wrapper { 
 position: relative;
 display: flex;
 align-items: center;
 width: 100%; 
 margin-top: 0px;
 } 

.news_scroll { 
 display: flex;
 gap: 20px; width: 100%;
 overflow-x: auto;
 scroll-behavior: smooth;
 scrollbar-width: none;
 padding: 10px 5px;
 } 

.news_scroll::-webkit-scrollbar { 
 display: none;
 } 
 
/* Policies cards */ 
.news_card { 
	flex: 0 0 300px;
    width: 300px;
 
	padding: 20px;

    border: 1px solid #d2d2d2;
    background-color: #ffffff;
    border-radius: 20px;

    margin: 0px 10px;
	
	-webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    transition: all 0.2s ease;


} 
 
.news_card:hover { 
	
	background-color: #fafafa;

} 

/* Scroll buttons */ 
.news_scroll_button { 
 position: absolute;
 z-index: 5; 
 width: 40px;
 height: 40px; 
 border: 1px solid #505050;
 border-radius: 50%;
 background: white; 
 color: #202020;
 font-size: 22px; 
 line-height: 1; 
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease; } 

.news_scroll_button:hover { 
 background-color: #202020; 
 color: white; 
 } 

.news_left { 
 left: -32px; 
} 

.news_right { 
 right: -32px; 
} 

/* Mobile */
@media (max-width: 700px) { 
	.news_card { 
	 flex: 0 0 85%; 
	} 

	.news_scroll_button { 
	 width: 35px; 
	 height: 35px; 
	 font-size: 18px; 
	} 

	.news_left { 
	 left: -32px; 
	} 

	.news_right { 
	right: -32px; 
	} 

}


/* =========================================
   Policies POPUP
========================================= */

.news_popup {
    position: fixed;
    inset: 0;
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, 0.55);

    padding: 20px;
    box-sizing: border-box;

    opacity: 0;
    visibility: hidden;

    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}

.news_popup.show {
    opacity: 1;
    visibility: visible;

    transition: opacity 0.2s ease, visibility 0s linear 0s;
}

.news_popup_box {
    position: relative;

    width: 100%;
    max-width: 700px;
    max-height: 90vh;

    overflow-y: auto;

    background: #ffffff;
    border-radius: 20px;

    padding: 40px;
    box-sizing: border-box;

    opacity: 0;
    transform: scale(0.97);

    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

.news_popup.show .news_popup_box {
    opacity: 1;
    transform: scale(1);
}

/* Close button */

.news_popup_close {
    position: absolute;
    top: 12px;
    right: 15px;

    width: 38px;
    height: 38px;
	padding-bottom: 5px;

    border: none;
    border-radius: 50%;

    background: #eeeeee;
    color: #202020;

    font-size: 28px;
    line-height: 1;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: 0.2s ease;
}

.news_popup_close:hover {
    background: #202020;
    color: #ffffff;
}


/* Popup heading */

.news_popup_box h2 {
    margin: 0 50px 20px 0;
	font-size: 30px;
}


/* Popup image */

.news_popup_box img {
    display: block;

    width: 100%;
    max-height: 400px;

    object-fit: contain;

    border-radius: 12px;

    margin-bottom: 5px;
}


/* Popup details */

#news_popup_details {
	 white-space: pre-line;
    font-size: 15px;
    line-height: 1.7;
}


/* Hidden data inside each Policies item */

.news_popup_data {
    display: none;
}

.home_info_dhiv {
    font-size: 20px;
    line-height: 36px;
    font-family: "faruma_bold";
    font-weight: bold;

}

.home_info_eng {

}

/*Core Values*/

#core_values_box .light_card_no_padding {
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#core_values_box .light_card_no_padding img {
    transition: transform 0.4s ease;
}

#core_values_box .light_card_no_padding h3,
#core_values_box .light_card_no_padding h3_d {
    transition: font-size 0.25s ease;
}

#core_values_box .light_card_no_padding:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
}

#core_values_box .light_card_no_padding:hover img {
    transform: scale(1.06);
}

#core_values_box .light_card_no_padding:hover h3,
#core_values_box .light_card_no_padding:hover h3_d {
	font-size: 40px;
}

/* Mobile */

@media (max-width: 700px) {

    .news_popup {
        padding: 12px;
    }

    .news_popup_box {
        padding: 30px 20px;
        border-radius: 15px;
    }

    .news_popup_box img {
        max-height: 300px;
    }

}






@media screen and (max-width: 700px) {
	
	#home_main_text {
		font-size: 40px;
	}
	.home_algo_glow_text {
		padding-top: 3px;
		font-size: 24px;
	}

	.home_ROSET_graphical_grid {
		margin: 10px 0px;
		font-size: 18px;
		grid-template-columns: repeat(2, 1fr); 
  
	}
	
	#home_main_image {
		width: 80px; 
    }

	#home_ROSET_graphical_grid_opensource {
		 grid-column: span 2;
	}
	
}

@media screen and (max-width: 500px) {
	#home_main_text {
		font-size: 32px;
	}
	
	.home_algo_glow_text {
		padding-top: 3px;
		font-size: 22px;
	}
	
	#home_algo_grid {
		margin: auto;
		max-width:220px;
		grid-template-columns: 1fr ;
	}
	
}

/* animations */
@keyframes fade_in_up {
        from {
			opacity: 0;
            transform: translate(0, 100px);
        }
        to {
			opacity: 1;
            transform: translate(0, 0px);
        }
 }
 
 @keyframes fade_in_right {
        from {
			opacity: 0;
            transform: translate(-100px, 0px);
        }
        to {
			opacity: 1;
            transform: translate(0px);
        }
 }
 
 @keyframes fade_in_left {
        from {
			opacity: 0;
           transform: translate(100px, 0px);
        }
        to {
			opacity: 1;
            transform: translate(0px);
        }
 }