#welcome.welcome-public {
	position: relative;
	min-height: 100vh;
	overflow: hidden;
	background: linear-gradient(-45deg, #187ea8 50%, var(--dio-color2));
}

#welcome.welcome-public::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("/public/images/V2/cover-pattern.png");
	background-position: center;
	background-size: cover;
	opacity: 1;
	pointer-events: none;
}

#welcome.welcome-public > * {
	position: relative;
	z-index: 1;
}

#welcome.welcome-public .welcome-public-login {
	padding: 20px;
	text-align: right;
}

#welcome.welcome-public .welcome-public-login-btn {
	display: inline-block;
	padding: 0.75rem 1.25rem;
	border-radius: 999px;
	background-color: var(--dio-color3);
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(34, 44, 86, 0.18);
}

#welcome.welcome-public .welcome-public-login-btn:hover,
#welcome.welcome-public .welcome-public-login-btn:focus {
	color: #fff;
	background-color: #e47d14;
	text-decoration: none;
}

#welcome.welcome-public .page-content {
	padding-bottom: 3rem;
}

#welcome .welcome-hero-dark {
	min-height: 270px;
}

@media (max-width: 1399.98px) {
	#welcome .welcome-hero-dark {
		min-height: 0;
	}
}

#welcome .ribbon-box {
	height: 100%;
	display: flex;
	flex-direction: column;
}

#welcome .ribbon-box .card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

#welcome .ribbon-box .card-text {
	flex: 1 1 auto;
}

#welcome .ribbon-box .card-img-top {
	margin-top: auto;
}
