@import url('https://fonts.googleapis.com/css2?family=Montserrat&display=swap');

:root {
	--max-width: 1260px;
	--spacing: 120px;
	--grid-columnns: 12;
	--gradient: linear-gradient(45deg, #7821cd, #401c64);
	--white: #fff;
	--purple: #7821cd;
	--purple-hover: #471f6f;
	--black: #0f021b;
	--light-black: #1f132b;
	--light-grey: #d8d8d8;
	--dark-grey: #333333;
}

a {
	text-decoration: none;
	color: var(--white);
}

a:hover {
	text-decoration: none;
	color: var(--white);
}

@media screen and (max-width: 1350px) {
	:root {
		--max-width: 800px;
		--spacing: 80px;
	}
}

@keyframes boop {
	0% {
		transform: rotate(0deg) scale(1);
	}
	50% {
		transform: rotate(12deg) scale(0.95);
	}
	100% {
		transform: rotate(0deg) scale(1);
	}
}

body {
	font-family: 'Montserrat', sans-serif;
	margin: 0px;
}

.main-container {
	min-height: calc(100vh - 59px - calc(var(--spacing) * 2));
}

.fade-in {
	opacity: 0;
	transform: translateY(30px);
}

.fade-in-visible {
	opacity: 1;
	transform: none;
	transition: opacity 0.6s ease-out, transform 0.75s ease-out;
	visibility: visible;
}

.background-container {
	width: 100%;
	background: var(--gradient);
}

.title-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: var(--max-width);
	padding-top: var(--spacing);
	padding-bottom: var(--spacing);
	margin: auto;
}

.title-text {
	color: var(--white);
	font-size: 31px;
	font-weight: bold;
	padding-bottom: 10px;
}

.title-text-big {
	color: var(--white);
	font-size: 70px;
	font-weight: bold;
	padding-bottom: 10px;
}

.dog-container {
	position: relative;
}

#dog {
	position: relative;
	width: auto;
	height: 400px;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
}

#dog-button {
	position: absolute;
	width: 53px;
	height: 39px;
	margin-left: auto;
	margin-right: auto;
	top:  209px;
	left: 79px;
	cursor: pointer;
}

.credit-text {
	text-align: center;
	font-size: 12px;
	padding-bottom: 10px;
	color: var(--white);
}

.item {
	width: 100%;
}

.grid {
	max-width: var(--max-width);
	margin: auto;
	padding-top: var(--spacing);
	padding-bottom: var(--spacing);
	display: grid;
	grid-template-columns: repeat(var(--grid-columnns), 1fr);
}

.item-title {
	color: var(--black);
	text-align: center;
	font-weight: bold;
	font-size: 48px;
	margin-bottom: 10px;
}

.item-text {
	color: var(--light-black);
	font-size: 19px;
	text-overflow: ellipsis;
	margin-bottom: 10px;
}

.item-image {
	width: 100%;
	height: auto;
}

.button-container {
	margin-top: 20px;
	margin-bottom: 10px;
	display: flex;
	justify-content: center;
}

.button {
	padding: 16px 32px 16px 32px;
	background-color: var(--purple);
	font-size: 20px;
	border-radius: 28px;
	color: var(--white);
	text-decoration: none;
	transition: 0.3s;
}

.button:hover {
	transition: 0.3s;
	background-color: var(--purple-hover);
}

#servers {
	background-color: var(--light-grey);
}

.img-characters {
	grid-column-start: 1;
	grid-column-end: span 7;
}

.desc-characters {
	grid-column-start: 9;
	grid-column-end: span 4;
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	justify-content: center;
}

.img-servers {
	grid-column-start: 7;
	grid-column-end: span 6;
}

.desc-servers {
	grid-column-start: 1;
	grid-column-end: span 5;
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	justify-content: center;
}

.footer {
	width: 100%;
	background-color: var(--dark-grey);
}

.footer-left-container {
	grid-column-start: 1;
	grid-column-end: span 5;
}

.flag-container {
	display: flex;
	justify-content: flex-start;
}

.flag {
	height: 30px;
	width: auto;
	padding-right: 5px;
}

.footer-text {
	color: var(--white);
	font-size: 16px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.footer-right-container {
	grid-column-start: 9;
	grid-column-end: span 4;
}

.social-icons {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.social-text {
	font-size: 16px;
	margin-left: 10px;
}

#social-text-right {
	text-align: right;
}

.social-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 10px;
}