@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

body {
	margin: 0;
	padding: 0;
	width: 100%;
	font-family: 'Rubik', sans-serif;
}

h1 {
	font-family: 'Oswald', sans-serif;
}

.default-width {
	max-width: 992px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	margin-bottom: 0;
	padding-inline: 16px;
}

.header {
	width: 100%;
	height: 76px;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
	position: sticky;
	top: 0;
	background-color: white;
	z-index: 100;
}

.header > .default-width {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-a {
	display: block;
	height: 100%;
	display: flex;
	align-items: center;
	text-decoration: none;
	width: fit-content;
}

.header-a > span {
	font-family: 'Oswald', sans-serif;
	color: darkorange;
	font-weight: bold;
	font-size: 1.75rem;
}

.header-links {
	display: flex;
	gap: 16px;
	height: 100%;
}

.header-links > a {
	padding-top: 3px;
	display: block;
	height: 100%;
	box-sizing: border-box;
	text-decoration: none;
	align-content: center;
	color: black;
	border-bottom: 3px solid transparent;
	transition: .2s border-bottom;
}

.header-links > a:hover {
	border-bottom: 3px solid darkorange;
}

.header-links > a:active {
	color: grey;
}

.banner {
	position: relative;
	width: 100%;
	height: 256px;
	z-index: -1;
}

.banner > .banner-bg {
	width: 100%;
	height: 100%;
	filter: brightness(80%);
	object-fit: cover;
	background-color: orange;
}

.banner-text {
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: white;
	margin: 0;
}

.content {
	box-shadow: 0 -8px 8px -8px rgba(0, 0, 0, 0.25);
	width: 100%;
	z-index: 0;
	padding-top: 32px;
	padding-bottom: 32px;
}

.text-container {
	margin: 0;
	width: 100%;
}

.gallery-container {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.card {
	min-width: 400px;
	flex: 1;
	box-shadow: 0 6px 10px -6px rgba(0, 0, 0, 0.15);
	padding-bottom: 16px;
	position: relative;
	display: block;
	text-decoration: none;
	color: black;
	transition: .2s all;
}

.card-img {
	object-fit: cover;
}

.card:hover {
	box-shadow: 0 8px 12px -8px rgba(0, 0, 0, 0.25);
}

.card:active {
	background-color: rgb(240, 240, 240);
}

.card:hover:before {
    content: '';
    position: absolute;
    bottom: 0; 
    right: 0;
    border-bottom: 64px solid orange;
    border-left: 64px solid white;
    width: 0;
}

.card:before {
    content: '';
    position: absolute;
    bottom: 0; 
    right: 0;
    border-bottom: 0px solid orange;
    border-left: 0px solid white;
    width: 0;
    transition: 0.2s all;
}

.card:active:before {
    border-left: 64px solid rgb(240, 240, 240);
}

.card-img {
	width: 100%;
	height: 256px;
	background-color: darkorange;
}

.card-title {
	margin-inline: 32px;
}

.card-desc {
	margin-inline: 32px;
}

.flex-container {
	display: flex;
	width: 100%;
	gap: 12px;
	flex-wrap: wrap-reverse;
}

.flex-container > * {
	flex: 1;
}

.secondary-flex {
	flex: 0;
	min-width: 360px;
}

.general-img {
	width: 100%;
}

.big-link {
	margin-bottom: 12px;
	display: block;
	font-size: 2rem;
	color: darkorange;
	font-weight: bold;
}

.inline-icon {
	height: 1rem;
	display: inline-block;
	transform: translateY(1.5px);
	margin-inline: 1px;
}

@media only screen and (max-width: 600px) {
	.card {
		min-width: 100%;
	}

	.header-a > span {
		font-size: 1.3rem;
	}

	.header-links {
		font-size: .9rem;
	}
}
