@font-face {
    font-family:Inter;
    src:url(../fonts/Inter/Inter-Regular.woff2);
}

@font-face {
    font-family:Inter Bold;
    src:url(../fonts/Inter/Inter-ExtraBold.woff2);
}

@font-face {
    font-family:Montserrat;
    src:url(../fonts/Montserrat/Montserrat-Regular.ttf);
}

* {
    font-family:Inter;
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

/* GENERAL STYLES */

html {
    scroll-behavior:smooth;
}

body {
    opacity:0;
    animation:fadeIn ease-out 0.5s forwards;
    background-color:#000000;
    width:90%;
    z-index:100;
    margin:auto;
    margin-top:10px;
    margin-bottom:10px;
    border: 2px solid #6d6d6d;
    border-radius:10px;
    border-collapse:separate;
    border-spacing:0;
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

/* HEADER AND NAME BOX STYLES */

header {
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:left;
    height:fit-content;
    padding:20px;
    top:0;
    z-index:-100;
    border-top-left-radius:10px;
    border-top-right-radius:10px;
    background-image:url("../images/night_sky_banner.jpg");
    background-position:50% 40%;
    background-repeat:no-repeat;
    background-size:120%;
}

.self_image {
    width:140px;
    border:2px solid #6d6d6d;
    border-radius:50%;
}

#header_text {
    color:#ffffff;
    text-align:center;
}

#name_title {
    font-family:Inter Bold;
    font-size:40px;
    margin:5px;
}

#description_title {
    font-family:Inter Bold;
    font-size:18px;
}

/* NAV BAR STYLES */

nav {
    display:flex;
    justify-content: space-between;
    overflow:hidden;
    position:relative;
    width:auto;
    height: 60px;
    border-top:2px solid #6d6d6d;
    border-bottom:2px solid #6d6d6d;
    background-color:#22242c;
}

ul {
    display:flex;
    flex-direction: row;
    gap:10px;
    margin:0;
    padding:0;
    list-style-type: none;
    mix-blend-mode:difference;
}

.logo_image {
    display:flex;
    aspect-ratio:1/1;
    width:50px;
    margin:3px;
    border:2px solid #6d6d6d;
    border-radius:50%;
}

.logo_image:hover {
    
}

.nav_link {
    display:flex;
    position:relative;
    padding: 20px;
    font-size:14px;
    text-decoration: none;
    color:white;
}

.nav_link::after {
    content:'';
    position:absolute;
    width:0;
    height:3px;
    background-color:white;
    bottom:0px; 
    left:0;
    right:0;
    margin:auto;
    border-radius:10px;
    opacity:0;
    transition: width ease-in-out 0.25s, opacity ease-in-out 0.25s;
}

.nav_link:hover::after{
    width:100%;
    opacity:1;
}

.nav_link.active::after {
    width: 40%;
    opacity: 1;
}

.nav_link.active:hover::after {
    width: 100%;
}

.dev_login_link {
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content: center;
    margin:3px;
    border:2px solid #6d6d6d;
    border-radius:50%;
    background-color: black;
}

#dev_login_icon {
    font-size:1.3em;
    color:white;
}

/* WEBSITE BODY STYLES */

main {
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:start;
    position:relative;
    width:auto;
    height:auto;
    z-index:-1;
    background-color: #333333;
}

.main_info {
    display:flex;
    flex-direction:column;
    gap:10px;
    width:75%;
    height:100%;
    padding:10px;
    background-color: #262626;
    border-radius:10px;
    margin:10px;
    margin-right:5px;
}

.home_welcome_box {
    display:flex;
    flex-direction:column;
    height:fit-content;
    width:100%;
    padding:10px;
    align-items:center;
    justify-content:center;
    border-left:2px solid orange;
    border-right:2px solid orange;
    background:rgba(186, 98, 17, 0.2);
}

.welcome_title {
    color:orange;
    font-size: 34px;
}

.project_title {
    color:white;
    padding:5px;
}

.project_scroll {
    position: relative;
    padding: 0px 30px;
    /* margin: 10px; */
}

.left_arrow {
	position: absolute;
	left: 0;
	top:50%;
	transform: translateY(-50%);
	width:30px;
	height:30px;
	color:white;
}

.right_arrow {
	position: absolute;
	right: 0;
	top:50%;
	transform: translateY(-50%);
	width:30px;
	height:30px;
	color:white;
}

.scroll-images {
    position: relative;
    padding: 20px 20px 20px 0px;
    height: auto;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: hidden;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.scroll-images::-webkit-scrollbar {
    width: 5px;
    height: 8px;
    background-color: #aaa;
}

.scroll-images::-webkit-scrollbar-thumb {
    background-color: black;
}

button {
    background-color: transparent;
    border: none;
    outline: none;
    cursor: pointer;
    font-size: 25px;
}

.card {
	flex: 0 0 auto;
	box-shadow:0px 0px 8px black;
	flex-direction:column;
	background-color: #404040;
	border-radius:10px;
	padding-left:10px;
	padding-right:10px;
	margin: 1px 10px;
	height:250px;
	width:236px;
	transition: transform .2s ease-in-out, margin-left .2s ease-in-out, margin-right .2s ease-in-out;
}

.card:hover {
	transform: scale(1.1);
	margin-left:20px;
	margin-right:20px;
}

.card_image {
	width:100%;
	height:45%;
/* 	border:2px solid grey; */
	border-top-left-radius:10px;
	border-top-right-radius:10px;
}

.card_text {
	margin:10px;
	margin-top:5px;
	margin-bottom:10px;
	font-size:14px;
}

.card_title, .content {
	color:white;
	overflow:hidden;
}

.card_title {
	background-color: #595959;
	padding:5px;
	text-align:center;
	/* margin:5px; */
	border-radius:10px;
}

.content {
	text-align:left;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp:3; /* number of lines to show */
	-webkit-box-orient: vertical;
}

.source_button {
	background-color:#4169E1;
	height:24px;
	width:90%;
	margin:10px;
	margin-top:0;
	border:0;
	border-radius:10px;
}

.source_button_text {
	color:white;
	font-size:12px;
}

.news_info {
    display:flex;
    flex-direction:column;
    width:25%;
    height:100%;
    margin:10px;
    margin-left:5px;
    background-color: #404040;
    border-radius:10px;
    padding:10px;
}

.news_section_title, .announcement_box {
    color:white;
    align-self:center;
    text-align: center;
}

.announcement_box {
    display:flex;
    justify-content:center;
    flex-direction:column;
    background-color:#1a1b20;
    width:auto;
    height:fit-content;
    margin:2px;
    border-radius:10px;
    padding:10px;
}

.announcement_title_box {
    background:rgba(249, 249, 249, 0)
}

.announcement_title {
    margin:5px;
    
}

.announcement_description {
    text-align: center;
    font-size:14px;
}

footer {
    display:flex;
    flex-direction:row;
    justify-content:left;
    align-items:start;
    position:relative;
    width:auto;
    height:8em;
    background-color:#101116;
    border-top:2px solid #6d6d6d;
    border-bottom-left-radius:10px;
    border-bottom-right-radius:10px;
}