@font-face {
	font-family: "IBM Plex Sans";
	src: url("/_kodis-assets/font/IBMPlexSans-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "IBM Plex Sans";
	src: url("/_kodis-assets/font/IBMPlexSans-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	color-scheme: light;
	--kodis-primary: #003064;
	--kodis-primary-hover: #00264f;
	--kodis-accent: #d4004b;
	--kodis-bg: #f4f6f8;
	--kodis-surface: #ffffff;
	--kodis-card: #eef1f3;
	--kodis-border: #d8dee4;
	--kodis-text: #111827;
	--kodis-text-muted: #5b6470;
	--fonts-proportional: "IBM Plex Sans", Arial, Helvetica, sans-serif !important;
	--fonts-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
	--color-primary: var(--kodis-primary) !important;
	--color-primary-dark-1: var(--kodis-primary-hover) !important;
	--color-primary-dark-2: var(--kodis-primary-hover) !important;
	--color-primary-hover: var(--kodis-primary-hover) !important;
	--color-primary-active: var(--kodis-primary-hover) !important;
	--color-primary-contrast: #ffffff !important;
	--color-primary-light-4: rgba(0, 48, 100, 0.22) !important;
	--color-primary-light-5: rgba(0, 48, 100, 0.14) !important;
	--color-primary-light-6: rgba(0, 48, 100, 0.08) !important;
	--color-primary-alpha-10: rgba(0, 48, 100, 0.10) !important;
	--color-primary-alpha-20: rgba(0, 48, 100, 0.20) !important;
	--color-accent: var(--kodis-accent) !important;
	--color-small-accent: rgba(0, 48, 100, 0.08) !important;
	--color-body: var(--kodis-surface) !important;
	--color-box-body: var(--kodis-surface) !important;
	--color-box-header: var(--kodis-card) !important;
	--color-secondary: var(--kodis-border) !important;
	--color-hover: rgba(0, 48, 100, 0.08) !important;
	--color-active: var(--kodis-card) !important;
	--color-button: var(--kodis-card) !important;
	--color-light-border: var(--kodis-border) !important;
	--color-text: var(--kodis-text) !important;
	--color-text-light: var(--kodis-text-muted) !important;
	--color-text-light-2: var(--kodis-text-muted) !important;
	--color-input-text: var(--kodis-text) !important;
	--color-input-background: var(--kodis-surface) !important;
	--color-input-toggle-background: var(--kodis-surface) !important;
	--color-input-border: var(--kodis-border) !important;
	--color-input-border-hover: var(--kodis-primary) !important;
	--color-placeholder-text: var(--kodis-text-muted) !important;
	--border-radius: 6px !important;
}

html,
body,
button,
input,
select,
textarea {
	font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif !important;
	letter-spacing: 0 !important;
}

html,
body {
	background: var(--kodis-surface) !important;
	color: var(--kodis-text);
}

.full.height,
.page-content {
	position: relative;
	z-index: 1;
	background: transparent !important;
}

#navbar {
	position: relative;
	z-index: 3;
	min-height: 52px;
	background: var(--kodis-primary) !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

#navbar .navbar-left > .item,
#navbar .navbar-right > .item,
#navbar .navbar-mobile-right > .item {
	min-height: 52px;
	color: #ffffff !important;
}

#navbar .navbar-left > .item:hover,
#navbar .navbar-right > .item:hover,
#navbar .navbar-mobile-right > .item:hover,
#navbar .navbar-left > .item.active,
#navbar .navbar-right > .item.active {
	background: rgba(255, 255, 255, 0.12) !important;
	color: #ffffff !important;
}

#navbar .navbar-left > .item.active,
#navbar .navbar-right > .item.active {
	box-shadow: inset 0 -4px 0 var(--kodis-accent);
	font-weight: 700;
}

#navbar svg {
	color: currentColor;
}

#navbar .dropdown .menu {
	border-color: var(--kodis-border) !important;
	box-shadow: none !important;
}

#navbar .dropdown .menu .item {
	color: var(--kodis-text) !important;
}

#navbar .dropdown .menu .item:hover,
#navbar .dropdown .menu .item.active {
	background: rgba(0, 48, 100, 0.08) !important;
	color: var(--kodis-primary) !important;
}

.ui.menu .active.item,
.ui.menu .active.item:hover,
.ui.vertical.menu .active.item,
.ui.vertical.menu .active.item:hover,
.ui.secondary.menu .active.item,
.ui.secondary.menu .active.item:hover {
	background: rgba(0, 48, 100, 0.08) !important;
	color: var(--kodis-text) !important;
}

.ui.menu .dropdown.item:hover,
.ui.menu .link.item:hover,
.ui.menu a.item:hover,
.ui.menu details.item summary:hover,
.ui.secondary.menu .dropdown.item:hover,
.ui.secondary.menu .link.item:hover,
.ui.secondary.menu a.item:hover {
	background: rgba(0, 48, 100, 0.08) !important;
	color: var(--kodis-primary) !important;
}

.switch {
	background: var(--kodis-card) !important;
}

.switch .item {
	background: var(--kodis-card) !important;
	color: var(--kodis-text) !important;
}

.switch .item:hover {
	background: var(--color-hover) !important;
	color: var(--kodis-primary) !important;
}

.switch .active.item {
	background: var(--kodis-surface) !important;
	color: var(--kodis-text) !important;
	outline: 1px solid var(--kodis-border) !important;
}

#navbar-logo {
	width: 168px;
	padding: 0 16px !important;
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
}

#navbar-logo img {
	display: block;
	width: 132px !important;
	height: 24px !important;
	max-width: 132px;
	max-height: 24px;
	object-fit: contain;
	object-position: left center;
	content: url("/_kodis-assets/logo/kodis-club-wordmark-white.svg") !important;
}

.ui.primary.button,
.ui.primary.buttons .button {
	background: var(--kodis-primary) !important;
	border: 1px solid var(--kodis-primary) !important;
	border-radius: 4px !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	box-shadow: none !important;
}

.ui.primary.button:hover,
.ui.primary.buttons .button:hover,
.ui.primary.button:focus,
.ui.primary.buttons .button:focus {
	background: var(--kodis-primary-hover) !important;
	border-color: var(--kodis-primary-hover) !important;
	color: #ffffff !important;
}

.ui.button,
.ui.buttons .button {
	border-radius: 4px !important;
	box-shadow: none !important;
}

.ui.action.input .ui.ui.button {
	background: var(--kodis-card) !important;
	border-color: var(--kodis-border) !important;
	color: var(--kodis-text) !important;
}

.ui.action.input .ui.ui.button:hover,
.ui.action.input .ui.ui.button:focus {
	background: var(--color-hover) !important;
	border-color: var(--kodis-primary) !important;
	color: var(--kodis-primary) !important;
}

input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]),
textarea,
select,
.ui.input > input,
.ui.form input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]),
.ui.form textarea,
.ui.form select {
	background: var(--color-input-background) !important;
	color: var(--color-input-text) !important;
	border-color: var(--color-input-border) !important;
	box-shadow: none !important;
}

input::placeholder,
textarea::placeholder {
	color: var(--color-placeholder-text) !important;
	opacity: 1;
}

input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]):focus,
textarea:focus,
select:focus,
.ui.input > input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]):focus,
.ui.form input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]):focus,
.ui.form textarea:focus,
.ui.form select:focus {
	border-color: var(--kodis-primary) !important;
	box-shadow: 0 0 0 2px rgba(0, 48, 100, 0.12) !important;
	color: var(--kodis-text) !important;
}

input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]):disabled,
textarea:disabled,
select:disabled,
input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"])[readonly],
textarea[readonly] {
	background: var(--kodis-card) !important;
	color: var(--kodis-text-muted) !important;
	opacity: 1 !important;
}

.ui.secondary.button,
.oauth-login-link {
	background: var(--kodis-surface) !important;
	border: 1px solid var(--kodis-primary) !important;
	color: var(--kodis-primary) !important;
	font-weight: 700 !important;
}

.ui.secondary.button:hover,
.oauth-login-link:hover {
	background: rgba(0, 48, 100, 0.08) !important;
	color: var(--kodis-primary) !important;
}

.ui.attached.header,
.ui.top.attached.header,
.repository .header-wrapper {
	background: var(--kodis-card) !important;
	border-color: var(--kodis-border) !important;
	color: var(--kodis-text) !important;
}

.ui.segment,
.ui.segments,
.ui.attached.segment,
.ui.table,
.ui.repository.list .item,
.flex-list .flex-item {
	border-color: var(--kodis-border) !important;
	box-shadow: none !important;
}

.ui.table thead th {
	background: var(--kodis-card) !important;
	color: var(--kodis-text) !important;
	font-weight: 700 !important;
}

a,
.ui.breadcrumb a,
.repo-title a {
	color: var(--kodis-primary);
}

a:hover,
.ui.breadcrumb a:hover,
.repo-title a:hover {
	color: var(--kodis-primary-hover);
}

.full.height:has(.page-content.user.signin),
.full.height:has(.page-content.home.kodis-forgejo-public-home) {
	padding-bottom: 0;
}

.page-content.home.kodis-forgejo-home-page {
	box-sizing: border-box;
	min-height: calc(100vh - 96px);
	min-height: calc(100svh - 96px);
	padding: clamp(40px, 7vw, 80px) clamp(24px, 8vw, 120px) 48px;
	display: flex;
	align-items: flex-start;
	background: transparent !important;
}

.page-content.user.signin,
.page-content.home.kodis-forgejo-public-home {
	isolation: isolate;
}

.page-content.user.signin::before,
.page-content.user.signin::after,
.page-content.home.kodis-forgejo-public-home::before,
.page-content.home.kodis-forgejo-public-home::after {
	content: "";
	position: fixed;
	z-index: 0;
	inset: auto 0 0;
	height: 42vh;
	min-height: 280px;
	pointer-events: none;
	clip-path: polygon(0 28%, 100% 8%, 100% 100%, 0 100%);
}

.page-content.user.signin::before,
.page-content.home.kodis-forgejo-public-home::before {
	background-image: url("/_kodis-assets/wallpaper/wallpaper-forgejo.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.page-content.user.signin::after,
.page-content.home.kodis-forgejo-public-home::after {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(0, 48, 100, 0));
}

.page-content.user.signin > *,
.page-content.home.kodis-forgejo-public-home > * {
	position: relative;
	z-index: 1;
}

.kodis-forgejo-home {
	max-width: 720px;
}

.kodis-forgejo-home h1 {
	margin: 0 0 16px;
	color: var(--kodis-primary);
	font-size: clamp(42px, 7vw, 84px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0;
}

.kodis-forgejo-home p {
	margin: 0;
	color: var(--kodis-text-muted);
	font-size: clamp(20px, 2.2vw, 28px);
	line-height: 1.35;
	font-weight: 400;
	letter-spacing: 0;
}

.page-content.user.signin {
	box-sizing: border-box;
	min-height: calc(100vh - 96px);
	min-height: calc(100svh - 96px);
	padding: clamp(32px, 6vw, 64px) clamp(24px, 8vw, 120px) 48px;
	display: block;
	position: relative;
	z-index: 2;
}

.page-content.user.signin > .ui.grid {
	display: block !important;
	width: min(100%, 460px) !important;
	max-width: 460px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.page-content.user.signin .column {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.page-content.user.signin .ui.container.fluid {
	width: 100%;
	background: var(--kodis-surface) !important;
	border: 1px solid var(--kodis-border) !important;
	border-radius: 6px !important;
	overflow: hidden;
}

.page-content.user.signin .ui.top.attached.header {
	border: 0 !important;
	border-radius: 0 !important;
	font-size: 18px;
	font-weight: 700;
}

.page-content.user.signin .ui.attached.segment {
	background: var(--kodis-surface) !important;
	border: 0 !important;
	border-top: 1px solid var(--kodis-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

#oauth2-login-navigator-inner {
	gap: 12px !important;
}

footer {
	position: relative;
	z-index: 2;
	background: var(--kodis-primary) !important;
	color: var(--kodis-border) !important;
	border-top: 0 !important;
}

footer.page-footer a,
footer.page-footer .ui.dropdown,
footer.page-footer .flex-text-inline,
footer.page-footer svg {
	color: var(--kodis-card) !important;
}

footer.page-footer a:hover,
footer.page-footer .ui.dropdown:hover,
footer.page-footer .flex-text-inline:hover {
	color: #ffffff !important;
}

footer.page-footer .ui.dropdown .menu {
	background: var(--kodis-surface) !important;
	border-color: var(--kodis-border) !important;
	box-shadow: none !important;
}

footer.page-footer .ui.dropdown .menu .item {
	color: var(--kodis-text) !important;
}

footer.page-footer .ui.dropdown .menu .item:hover,
footer.page-footer .ui.dropdown .menu .item.active {
	background: rgba(0, 48, 100, 0.08) !important;
	color: var(--kodis-primary) !important;
}

@media (max-width: 760px) {
	.page-content.user.signin::before,
	.page-content.user.signin::after,
	.page-content.home.kodis-forgejo-public-home::before,
	.page-content.home.kodis-forgejo-public-home::after {
		height: 38vh;
		min-height: 240px;
		clip-path: polygon(0 16%, 100% 0, 100% 100%, 0 100%);
	}

	#navbar-logo {
		width: 148px;
	}

	#navbar-logo img {
		width: 116px !important;
		height: 22px !important;
	}

	.page-content.home.kodis-forgejo-home-page {
		padding: 40px 24px 64px;
	}

	.page-content.user.signin {
		padding: 40px 24px 64px;
	}
}
