@font-face {
	font-family: oxygen;
	src: url(../fonts/Oxygen-Regular.ttf);
}

@font-face {
	font-family: lobster;
	src: url(../fonts/Lobster-Regular.ttf);
}

body {
	margin: 0;
	background-color: #204060;
	color: #ffffb3;
	font-family: oxygen;
}

h1 {
	font-family: lobster;
}

h2 {

}

html, body {
  overflow-x:hidden 
} 

.article a {
	color: #FFFFB3;/*#ffffb3;*/
	text-decoration: none;/*underline;*/
	font-style: italic;

	overflow-x:hidden;
}

a {
	text-decoration: none;
}

.title {
	margin-left: 7%;
	font-size: 4em;
	text-shadow: 4px 0px 0px #43A3DB;
	/*margin-bottom: 3%;*/
}

@media screen and (max-width: 1700px) {
	.title{
		font-size: 3em;
	}
}

@media screen and (max-width: 768px) {
	.title{
		font-size: 2em;
	}
}

.article {
	margin-left: 7%;
	margin-right: 7%;
	/*margin-top: 50px;*/
	font-size: 100%
}

.article h2 {

}

#links_wrapper {
	display: flex;
	justify-content: center;
	font-size: 200%;
	margin-top: 3%;
	margin-bottom: 3%;
	flex-wrap: wrap;
}

#discord_wrapper {
	/*background-color: #000000;*/
	border: solid #ffffb3;
	border-radius: 10px;
	display: flex;
	flex-flow: column;
	padding: 2%;
	margin-left: 2%;
	margin-right: 2%;
	/*flex-basis: 20%;*/
	max-width: 337px;
	margin-bottom: 10px;
}

#icon_join_wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	/*flex: 1;*/
}

#discord_title {
	/*white-space: nowrap;*/
	/*margin: 10%;*/
	margin-bottom: 10%;
}

#discord_icon {
	/*border: solid #ffffb3;*/
	max-width: 100px;
	border-radius: 100%;
}

#join_wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 40%;
}

#discord_join {
	background-color: #ffffb3;
	color: #204060;
	display: flex;
	border-radius: 5px;
	border: solid #ffffb3;
	margin: 30%;
	align-items: center;
	justify-content: space-around;
	width: 90%;
	height: 45%;
	margin-left: 10%;
	transition: 0.3s;
}

#discord_join:hover {
	filter: brightness(90%);
}

.greentext {
	color: #99c32b;
}

.code {
	padding: 0.2em 0.4em;
  margin: 0;
  font-size: 85%;
  background-color: rgb(110 118 129 / 40%);
  border-radius: 6px;
  font-family: ui-monospace, monospace;
  color:#bbbbbb;
}

.important {
	border-radius: 6px;
	animation: importantColors 3s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-play-state: running;
}

@keyframes importantColors {
  0% {
    background: #EE6055;
  }
  10% {
    background: #FF9B85;/*#FFD97D;*/
  }
  20% {
  	background: #FF9B85;
  }
  70% {
    background: transparent;
  }
  100% {
    background: #EE6055;
  }
}

#title_menu_wrapper {
	width: 100%;
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}

#menu {
	font-size: 200%;
	padding-top: 10px;
	padding-right: 10px;
	cursor: pointer;
}

.article li {
	margin-bottom: 10px;
}

.article li a {
	/*color: black;*/
}

span {
	overflow-wrap: break-word;
}


.modal-img {
	border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
}

.modal-img:hover {
	opacity: 0.7;
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

/* Modal Content (Image) */
.modal-content {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
}

/* Caption of Modal Image (Image Text) - Same Width as the Image */
.modal-caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
  height: 150px;
}

/* Add Animation - Zoom in the Modal */
.modal-content, #caption {
  animation-name: zoom;
  animation-duration: 0.6s;
}

@keyframes zoom {
  from {transform:scale(0)}
  to {transform:scale(1)}
}

/* The Close Button */
.close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  transition: 0.3s;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
  .modal-content {
    width: 100%;
  }
}

.emoji {
	width: 16px;
}

/* Cards styling */
.cards-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
	gap: 20px;
	margin: 20px 0;
}

.card {
	background-color: rgba(255, 255, 179, 0.1);
	border: 1px solid rgba(255, 255, 179, 0.3);
	border-radius: 8px;
	padding: 20px;
	transition: all 0.3s ease;
}

.card:hover {
	background-color: rgba(255, 255, 179, 0.15);
	border-color: rgba(255, 255, 179, 0.5);
}

.card-title {
	color: #ffffb3;
	margin: 0 0 15px 0;
	font-size: 1.3em;
	font-weight: bold;
	border-bottom: 1px solid rgba(255, 255, 179, 0.3);
	padding-bottom: 10px;
}

.card-content {
	color: #ffffb3;
}

.card-description {
	margin: 0 0 15px 0;
	line-height: 1.5;
	opacity: 0.9;
}

.card-description a {
	color: #43A3DB;
	text-decoration: none;
}

.card-description a:hover {
	text-decoration: underline;
}

.document-links {
	margin: 10px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.document-links .document-group-label {
	font-weight: bold;
	margin-right: 10px;
	color: #ffffb3;
}

.document-links .document-group {
	margin-right: 15px;
	font-style: italic;
}

/* Add separators between different document groups */
.document-links + .document-links {
	border-top: 1px solid rgba(255, 255, 179, 0.2);
	padding-top: 12px;
	margin-top: 12px;
}

/* Style for document group labels */
.document-group-label {
	font-weight: bold;
	margin-right: 10px;
	color: #ffffb3;
	font-size: 0.9em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.document-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 12px;
	background-color: rgba(67, 163, 219, 0.2);
	border: 1px solid #43A3DB;
	border-radius: 4px;
	color: #43A3DB;
	text-decoration: none;
	font-size: 0.9em;
	transition: all 0.3s ease;
}

.document-link:hover {
	background-color: #43A3DB;
	color: #204060;
}

.document-link.primary-link {
	background-color: rgba(67, 163, 219, 0.3);
	border-color: #43A3DB;
}

.document-link.image-link {
	background-color: rgba(153, 195, 43, 0.2);
	border-color: #99c32b;
	color: #99c32b;
}

.document-link.image-link:hover {
	background-color: #99c32b;
	color: #204060;
}

.document-link i {
	font-size: 0.8em;
}

.link-text {
	/*white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 150px;*/
}

.archive-btn {
	background: none;
	border: none;
	padding: 6px 8px;
	border-radius: 4px;
	cursor: pointer !important;
	transition: all 0.3s ease;
	font-size: 0.9em;
}

.archive-btn.local-archive {
	color: #99c32b;
	border: 1px solid rgba(153, 195, 43, 0.3);
}

.archive-btn.local-archive:hover {
	background-color: #99c32b;
	color: #204060;
}

.archive-btn.external-archive {
	color: #43A3DB;
	border: 1px solid rgba(67, 163, 219, 0.3);
}

.archive-btn.external-archive:hover {
	background-color: #43A3DB;
	color: #204060;
}

.archive-btn i {
	font-size: 0.8em;
}

/* Responsive design for cards */
@media screen and (max-width: 768px) {
	.cards-container {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.card {
		padding: 15px;
	}

	.document-links {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.link-text {
		max-width: 200px;
	}
}

@media screen and (max-width: 480px) {
	.cards-container {
		gap: 10px;
	}

	.card {
		padding: 12px;
	}

	.card-title {
		font-size: 1.1em;
	}

	.document-link {
		padding: 4px 8px;
		font-size: 0.8em;
	}

	.link-text {
		max-width: 120px;
	}
}
