/*-------------------------------------------------- */
/* --------- THEME --------------------------------- */
/*-------------------------------------------------- */

	:root {

		/* --- BRAND --- */
	    --Brand01: #14344c;
	    --Brand02: #4cccde;
	    --Brand03: #2791c3;
	    --Brand04: #8591BF;
	    --Brand05: #8ED3E6;
	    --Brand06: #b1e6f2;


	    /* --- SUBSCRIBE --- */
	    --Subscribe01: #FFCC60;
	    --Subscribe02: #dac162;


	    /* --- TEXT COLOR --- */
	    --Txt_Header: #FFFFFF;
	    --Txt_Subheader: #BFBFBF;
	    --Txt_Body: #bdbdbd;
	    --Txt_Footer: #4D4D4D;


	    /* --- BACKGROUNDS --- */
		--Background01: rgb(4 7 16); 
	    /*--Background02: rgb(10 16 26);*/
	    --Background02: rgb(17 24 36);
	   

	    /* --- RADIUS --- */
	    --Radious1: 2rem; /* Buttons */
	    --Radious2: 0.25rem; /* Other */
	    --Radious3: 2rem; /* Other */



	  /* Typography */
	  --text_base_size: 1rem;
	  --text_scale_ratio: 1.2;
	  --text_xs: calc(var(--text_base_size) / var(--text_scale_ratio) / var(--text_scale_ratio));
	  --text_sm: calc(var(--text_xs) * var(--text_scale_ratio));
	  --text_md: calc(var(--text_sm) * var(--text_scale_ratio));
	  --text_lg: calc(var(--text_md) * var(--text_scale_ratio));
	  --text_xl: calc(var(--text_lg) * var(--text_scale_ratio));
	  --text_xxl: calc(var(--text_xl) * var(--text_scale_ratio));

		
	}




/*-------------------------------------------------- */
/* --------- CORE ELEMENTS ------------------------- */
/*-------------------------------------------------- */

	/* ---------- Structural Elements ---------- */

/* Core Elements */
html {
  font-family: "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, sans-serif;
  font-size: var(--text_base_size);
}

	head{
		color: white;
	    background-color: #121212;
	    padding: 0;
	    margin: 0;
	    font-family: Arial, sans-serif;
	}
	body{
		 padding: 0;
	    margin: 0;
	    background-color: var(--Background01);
	}

	header{}
	footer{}
	nav{}
	section{}
	article{}
	aside{}
	main{}
	div{}






	/* ---------- Text Content ---------- */
	h1 {

	    margin: 0;
	}
	h2 {
		font-family: Microsoft Yi Baiti;
	    margin: 0;
	    font-size: 2rem;
	    color: var(--Txt_Header);
	}
	h3 {
		font-family: Microsoft Yi Baiti;
	    margin: 0;
	    font-size: 1rem;
	}

	h4{}
	h5{}
	h6{}
	p {
	    font-size: 1.15rem;
	    margin: 0;
	    color: var(--Txt_Body);
	    line-height: 1.5;
	}
	span{}

a {
    text-decoration: unset;
  color: inherit;
    background-color: unset;
    font-weight: unset;
    font-size: unset;
}



	blockquote{}
	cite{}
	code{}
	em{}
	strong{}
	br{}
	hr{}




	/* ---------- List Elements ---------- */

	ul{} /*(Unordered List)*/
	ol{} /*(Ordered List)*/
	li{} /*(List Item)*/
	dl{} /*(Description List)*/
	dt{} /*(Description Term)*/
	dd{} /*(Description Details)*/





	/* ---------- Table Elements ---------- */

	table{
		width: 100%;
	    margin: 1rem auto;
	    border-collapse: separate;
	    border-spacing: 0;
	    border-radius: 10px;
	    overflow: hidden;
	   
	}
	tr{ /*(Table Row)*/


	} 
	th{ /*(Table Header)*/
	   /* border-bottom: 1px solid #333;
	    border-right: 1px solid #333;
	    font-size: 1rem;*/
	} 
	td{ /*(Table Data)*/
	   /* border-bottom: 1px solid #333;
	    border-right: 1px solid #333;
	    color: var(--Txt_Header);*/
	} 
	th,td {
			
	}
	tr:last-child td {
	    border-bottom: none;
	}
	tr td:last-child, th:last-child {
	    border-right: none;
	}
	tr:nth-child(even) {
	   
	}
	tr:hover {
	    
	}

	thead{}
	tbody{}
	tfoot{}






	/* ---------- Form Elements ---------- */

	form{}
	input, textarea,select {
	    width: 100%;
	    padding: 0.9rem;
	    box-sizing: border-box;
	    border: 1px solid #ced4da;
	    border-radius: 0.4rem;
	    font-size: 1rem;
	    background-color: var(--Background01);
	    color: white;
	     resize: vertical;
	}
	button {
	    padding: 0.8rem;
	    border: none;
	    border-radius: 0.3rem;
	    cursor: pointer;
	    font-size: 1rem;
	    width: 100%;
	    box-sizing: border-box;
	}

	select{}
	option{}
	label {
	    display: block;
	    color: var(--Txt_Subheader);
	    margin-bottom: 0.6rem;
	    text-align: left;
	}
	fieldset{}
	legend{}

	



	

	







/*-------------------------------------------------- */
/* --------- TEXT STYLES --------------------------- */
/*-------------------------------------------------- */

.Highlight01 {
	color: var(--Brand06);
	padding: 1rem;
}








/*-------------------------------------------------- */
/* --------- NAVIGATION ---------------------------- */
/*-------------------------------------------------- */
img#nav_hamburger_icon {
    height: 100%;
}
#nav_hamburger{
	display: none;
}
.Nav_bar_left{
	display: inline-flex;
    left: 0rem;
    position: absolute;
    gap: 2rem;
    padding-left: 1rem;
}
.NavOpt{
	color: var(--Txt_Subheader);
}
.NavOpt:hover{
	color: var(--Txt_Header);
}
#brand_logo_nav {
	display: block;
	position: relative;
	height: 3rem;
	padding: 0.25rem;
	padding-left: 0.5rem;
	padding-right: 1rem;
}

.social-links {
    display: inline-flex;
    right: 0rem;
    position: absolute;
    gap: 2rem;
    padding-right: 2rem;
}
/* Style for the navbar */
.navbar {
    width: 100%;
    background-color: var(--Background01);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4;
    border-style: solid;
    border-width: 0rem;
    border-bottom-width: 1px;
    border-color: var(--Brand01);
    height: 4rem;
}

.navbar-inner {
	display: flex;
	align-items: center; /* Center items vertically */
	margin: 0 auto; /* Center the navbar horizontally */
}

.logo a {
	font-size: 1.5rem; /* Adjust size as needed */
	text-decoration: none; /* Remove underline */
}


#AppTitle_div{
	position: relative;
}

#AppTitle_div:hover{
	opacity: 1;
	cursor: pointer;
}
















/*-------------------------------------------------- */
/* --------- FOOTER ------------------------------- */
/*-------------------------------------------------- */
#brand_logo_footer {
	display: block;
	position: relative;
	height: 3rem;
	padding: 0.25rem;
	padding-right: 1rem;
}
#Foot_Top {
    border-style: solid;
    border-color: var(--Brand02);
    border-width: 0;
    border-bottom-width: 1px;
    padding-bottom: 1rem;
}












/*-------------------------------------------------- */
/* --------- BUTTONS ------------------------------- */
/*-------------------------------------------------- */
.More_Btn {
	    color: var(--Txt_Subheader);
    padding: 0.5rem;
    border-radius: 0.5rem;
    width: 6rem;
    text-align: center;
    position: absolute;
    background-color: var(--Brand01);
    bottom: 2rem;
 

}
.More_Btn:hover{
	color: var(--Txt_Header);
	cursor: pointer;
	background-color: var(--Brand03); /* Increases brightness on hover */
}




.Subscribe1{
	color: #FFCC60;
}





.PopExitBtn {
	position: relative;
	display: grid;
	float: right;
	align-items: center;
	justify-content: right;
	text-align: right;
}
.Cancel_Btn { /*Delete btn style*/
	opacity: 0.5;
	position: relative;
	right: 3%;
	top: -6%;
	color: white;
}
.Cancel_Btn:hover { /*Delete btn style hover*/
	opacity: 1;
	cursor: pointer;
}

.button_01 {
	color: #6ae0f1;
    border-color: #6ae0f1;
    background-color: #0a101a;
    padding: 0.5rem;
    padding-bottom: 0.6rem;
    border-style: solid;
    border-width: 0.05rem;
    border-radius: 0.5rem;
    width: 9rem;
    margin-top: 1rem;
    text-align: center;
    margin-left: 1rem;
    position: relative;
    left: -0.5rem;
}

.button_01:hover{
	color: #c4f8ff;
    border-color: #c4f8ff;
    background-color: #0b273b;
	cursor: pointer;
}






.button_02 {
    color: var(--Brand02);
    border-color: var(--Brand02);
    padding: 0.5rem;
    border-style: solid;
    border-width: 0.05rem;
    border-radius: 0.5rem;
    width: 11rem;
    margin-top: 1rem;
    text-align: center;
    position: relative;
    left: -4rem;
    background-color: var(--Background01);
}

.button_02:hover{
	color: var(--Brand06);
    border-color: var(--Brand06);
	
	cursor: pointer;
}


















/*-------------------------------------------------- */
/* ------- ALIGNMENT CLASSES ----------------------- */
/*-------------------------------------------------- */

.center {
	margin: auto;
	width: 4rem;
	padding: 0.8rem;
}

.AlignContentCenter { /*Align content of div to center*/
	display:flex; 
	align-items:center;
	justify-content:center; 
}
.horizontal_align {
  display: flex;
  justify-content: center;
}
.center_vertically {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}















/*-------------------------------------------------- */
/* ----------- PAGE LAYOUT ------------------------- */
/*-------------------------------------------------- */


.Heading {
    border-bottom: 0.2rem solid transparent;
    border-image-slice: 1;
    margin-bottom: 2.5rem;
    text-align: center;
}


#Content_container{ /*Contains main page content*/
	position: relative;
	top: 4rem;
	z-index: 1;
	background-color: var(--Background02) ;
	grid-template-columns: 1fr 1fr;
}

.content_box{
	margin: auto;
	padding: 1rem;
	padding-bottom: 4rem;
	padding-top: 4rem;
	text-align: center;
}


.content{
	max-width: 80rem;
	margin: auto;

    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}








/*-------------------------------------------------- */
/* ----------- CONTACT FORM ------------------------ */
/*-------------------------------------------------- */

.contact-form {
    display: grid;
    grid-gap: 1rem;
}
.form-group {
    margin-bottom: 1rem;
}








/*-------------------------------------------------- */
/* ----------- POPUPS ------------------------------ */
/*-------------------------------------------------- */

.PopupBackground { /*Popup background*/
	background-color: rgba(0,0,0,0.6);
	width: 100%;
	height: 150%;
	top: 0;
	left: 0;
	position: fixed;
	z-index: -1;
	backdrop-filter: blur(0.8rem);
}



#ThanksPopup{
	display: none; /*--Create Transactions popup--*/
}

.PopUpBoxCenterPosition { /*Center Popup position*/
	top: 0;
	left: 0;
	position: fixed;
	width: 100%;
	height: 120%;	
	z-index: 22;	
}

.PopupContentContainer{ /*Center Popup content position*/
	margin: 18rem auto;
	width: 35rem;
}

.Main_Pop {
    justify-content: center;
    align-items: center;
    text-align: center;
    background: rgb(6,6,8,0.9);
    width: 50rem;
    height: 9rem;
    border: 1px solid transparent;
    border-image: linear-gradient(to right, #ffffff, #99e7ff);
    border-image-slice: 1;
    border-radius: 0.8rem;
}

.PopMessage{
	justify-content: center;
    align-items: center;
    text-align: center;
    text-align: center;
    margin: 3rem auto;
    width: 80%;
}




/*--*/

.frost {
    background-color: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    z-index: 2;
    backdrop-filter: blur(2rem);
    -webkit-backdrop-filter: blur(2rem);
    display: none;
}





/* ------------ FAQ --------------- */
#FAQ_head{
	padding-bottom: 3rem;
}
.container {
       text-align: left;
    margin: 0 auto;
}
h1 {
    text-align: center;
    color: #ffffff;
 
}
.faq-item {
	border-width: 0.1px;
	border-style: solid;
	border-color: var(--Brand01);
	margin-bottom: 1rem;
	border-radius: 0.7rem;
	background-color: var(--Brand01);
}
.faq-question {
    padding: 1rem;
    cursor: pointer;
	    font-size: 1.2rem;
	    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
	border-radius: 0.7rem;
}
.faq-question:hover {
    background-color: var(--Brand03);
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    background-color: var(--Background01);
    padding: 0 1rem;
    transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.5s ease;
	border-bottom-left-radius: 0.7rem;
	border-bottom-right-radius: 0.7rem;
    opacity: 0;
    color: white;
}
.faq-item.active .faq-answer {
    max-height: 22rem;
    padding: 1rem;
    opacity: 1;
}
.toggle-icon {
    font-size: 2rem;
    line-height: 1;
    transition: transform 0.3s ease;
}
.faq-item.active .toggle-icon {
    transform: rotate(45deg);
}












/* -------------------------------------------*/
/* ------------ FEATURES -------------------- */
/* -------------------------------------------*/


.two_cell{
	display: flex;
	    gap: 6rem;
}



.feature_img{
	width: 8rem;
	aspect-ratio:1;
}
.feature_box {
	/*aspect-ratio: 0.66;*/
	width: 19rem;
	height: 28rem;
	position: relative;

	box-sizing: border-box;
	border-radius: 2rem;
	border-width: 0.1rem;
	display: inline-grid;
}

.feature_container{
	display: flex;
  flex-wrap: wrap;
  gap: min(1rem,1.5vw);
  justify-content: center;
  align-items: center;
}

.feature_content{
	padding: min(2rem,8%);
}




.test2 {
    text-align: center;
    align-content: center;
    
}
	#background_video {
    width: 100%;
    filter: blur(0.4rem) brightness(0.7);
    /* filter: brightness(0.5); */
    scale: 1.02;
}
#MyName {
    text-align: center;
    /* background: -webkit-linear-gradient(left, #4cccde, #f6f8ff); */
    background: var(--Brand06);
    -webkit-background-clip: text;
    -webkit-text-fill-color: var(--Brand06);
    font-size: 8.5rem;
    font-family: Microsoft Yi Baiti;
    color: white;
}

.fe_img{
	border-radius: 1rem;
										width: 100%;
									}
								
									
									.feature_box_n {
									    aspect-ratio: 1; 
									    width: 26rem;
									    
									    position: relative;
									 
									    box-sizing: border-box;
									    border-radius: 2rem;
									    border-width: 0.1rem;
									    display: inline-grid;
									}
									.bg1{
										background-color: var(--Background01);
									}
									.bg2{
										background-color: var(--Background02);
									}







									/*------*/
									.test2 {
    text-align: center;
    align-content: center;
    
}

								
							
									
									.feature_box_n {
									    aspect-ratio: 1; 
									    width: 32rem;
									    
									    position: relative;
									  
									    box-sizing: border-box;
									    border-radius: 2rem;
									    border-width: 0.1rem;
									    display: inline-grid;
									}




.subscribe_bg {
              background-color: #07172a;
            color: white;

        }
      

        .recomended_sub{    position: relative;
    top: -2rem;
    border-color: #00deff;
}

/*-------------------------------------------------- */
/* --------- REFINEMENTS (desktop + mobile) --------- */
/*-------------------------------------------------- */

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img { max-width: 100%; height: auto; }
video { max-width: 100%; }

p { font-size: 1.05rem; line-height: 1.7; }

/* Readable line length; long copy reads better left-aligned than centred */
.content p { max-width: 62rem; margin-left: auto; margin-right: auto; }
.two_cell p { text-align: left; }

.two_cell { align-items: center; justify-content: center; }

/* Keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
.faq-question:focus-visible {
	outline: 2px solid var(--Brand02);
	outline-offset: 2px;
}
input:focus, textarea:focus, select:focus { border-color: var(--Brand02); }

/* Nav */
.navbar { background-color: rgba(4, 7, 16, 0.85); backdrop-filter: blur(0.6rem); -webkit-backdrop-filter: blur(0.6rem); }
.NavOpt { transition: color 0.2s ease; }
.social-links h3 { letter-spacing: 0.04em; }

/* Hero */
#MyName { font-size: clamp(3.5rem, 11vw, 8.5rem); line-height: 1; }
#HeadContactButton { font-size: clamp(1.1rem, 3vw, 2rem); }
.cover_btns { gap: 1rem; flex-wrap: wrap; padding: 0 1rem; }

/* Buttons: size to their text instead of a fixed width with offset hacks */
.button_01 {
	width: auto; min-width: 9rem; margin: 1rem 0 0; left: 0;
	padding: 0.5rem 1.4rem 0.6rem; box-sizing: border-box;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.button_01 h3 { white-space: nowrap; }
.button_02 { width: auto; min-width: 11rem; left: 0; padding: 0.5rem 1.4rem; box-sizing: border-box; }

/* Feature cards */
.feature_box { width: min(100%, 19rem); height: auto; min-height: 26rem; border-style: solid; border-color: var(--Brand01);
	transition: transform 0.2s ease, border-color 0.2s ease; }
.feature_box:hover { transform: translateY(-4px); border-color: var(--Brand03); }
.feature_box .More_Btn { position: static; margin-top: 1.5rem; transition: background-color 0.2s ease, color 0.2s ease; }
.feature_box_n { width: min(100%, 32rem); }
.fe_img { max-width: 100%; height: auto; }

/* Pricing cards (home + price page) */
.plan_container { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; padding-top: 3rem; }

/* Footer */
#Foot_Bottom { flex-wrap: wrap; gap: 1rem 2rem; }
div#foot_legal { flex-wrap: wrap; gap: 0.75rem 2rem; width: auto; }

/* Popups: fixed rem widths overflowed small screens */
.PopupContentContainer { width: min(35rem, 92vw); margin: 30vh auto; }
.Main_Pop { width: min(50rem, 92vw); height: auto; min-height: 9rem; box-sizing: border-box; }

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
	.feature_box:hover { transform: none; }
}