:root {
	--color-upzg  : #27813f;
	--color-esuvl : #FF2626;
	--color-mupr  : #00AEFA;

    --color-bckg : #FCFAFF;
    --color-srfc : #FFFFFF;

    --hero-bckg : #32A852;

    --font-family : 'Arial', sans-serif;
    --font-size   : 16px;

    --border-radius : 1rem;
}

html, body {
    margin           : 0;
    padding          : 0;
    font-family      : var(--font-family);
    font-size        : var(--font-size);
    background-color : var(--color-bckg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%239C92AC' fill-opacity='0.03' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.hero {
    background : var(--hero-bckg);
}
.color-bckg-upzg {
    background : var(--color-upzg);
}
.color-bckg-esuvl {
    background : var(--color-esuvl);
}
.color-bckg-mupr {
    background : var(--color-mupr);
}

/* Hero */
.hero {
    display         : flex;
    text-align      : center;
    justify-content : center;
    align-items     : center;
    background      : var(--hero-bckg);
    color           : #FFFFFF;
}
.hero-title {
    font-size  : 3rem;
    font-weight: bold;
    text-align : center;
    margin     : 0;
    padding    : 0;
}
.hero-subtitle {
    font-size  : 2rem;
    font-weight: bold;
    text-align : center;
    margin     : 0;
    padding    : 0;
}
.hero-text {
    font-size  : 1rem;
    margin     : 0;
    padding    : 0;
}
.hero-title, .hero-subtitle, .hero-text {
    text-shadow : 1px 1px 3px rgba(0, 0, 0, 1);
}

/* Navigation */
nav {
	position        : fixed!important;
	top             : 0;
	width           : 100%;
	display         : flex;
	justify-content : space-between;
	align-items     : center;
	z-index         : 1050;

	background              : var(--color-upzg);
	-webkit-backdrop-filter : blur(5px);
	backdrop-filter         : blur(5px);
}
.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-toggler {
	border-color : none!important;
	outline      : none!important;
}
.navbar-brand {
	font-weight : bold!important;
}
.nav-link, .navbar-brand {
	color : #F3F3F3!important;
}
.nav-link:hover, .navbar-brand:hover {
	color : #FFFFFF!important;
}
.dropdown-menu-upzg {
    color         : var(--color-bckg);
    border-radius : var(--border-radius)!important;
    z-index       : 1050;
    border        : none;
}
.dropdown-menu-upzg .dropdown-item {
    padding : 0.8rem;
}
.dropdown-menu-upzg .dropdown-item:hover {
    background-color : var(--color-upzg);
    color            : var(--color-bckg);
}
nav, .dropdown-menu-upzg {
    background              : var(--color-upzg);
    -webkit-backdrop-filter : blur(5px);
    backdrop-filter         : blur(5px);
}

/* References scrolling track */
.logo-scroll {
    position : relative;
    overflow : hidden;
    width    : 100%;
    padding  : 2rem 0;
    z-index  : 1;
}

.logo-scroll-track {
    display   : flex;
    animation : scroll 120s linear infinite;
    z-index   : 1;
}

.logo-item {
    flex            : 0 0 200px;
    height          : 80px;
    padding         : 0 2rem;
    display         : flex;
    justify-content : center;
    align-items     : center;
}

.logo-item img {
    height     : 60px;
    width      : auto;
    max-width  : 100%;
    object-fit : contain;
    opacity    : 0.75;
    transition : all 0.3s ease;
    filter     : grayscale(100%);
}

.logo-item img:hover {
    opacity   : 1;
    filter    : grayscale(0);
    transform : scale(1.1);
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-200px * 53)); /* Number of original logos */
    }
}

.logo-scroll:hover .logo-scroll-track {
    animation-play-state : paused;
}

.shadow-border, .screenshot {
	border-radius : var(--border-radius);
	box-shadow    : 0 0 10px rgba(0,0,0,0.5);
}
.screenshot {
	height        : 512px;
	width         : auto;
	border-radius : 1rem;
	box-shadow    : 0 0 10px rgba(0,0,0,0.5);
}

footer {
    display         : flex;
    justify-content : center;
    align-items     : center;
    height          : 5vh;
    background-color: var(--color-upzg);
    color           : var(--color-bckg);
}

.upzg-btn {
    display         : inline-flex;
    align-items     : center;
    justify-content : center;
    gap             : 0.25rem;

    padding         : 0.75rem 1.5rem;
    font-size       : inherit;
    transition      : background-color 0.3s, border-color 0.3s, color 0.3s, transform 0.3s;
    cursor          : pointer;
    border-radius   : 1.5rem!important;

    user-select     : none;

    color            : var(--color-bckg);
    background-color : var(--color-upzg);
    border           : none!important;

    margin           : 0.5rem;

    text-decoration  : none;
}
.upzg-btn:active {
    transform : scale( 0.9 );
}
.upzg-btn:hover {
    color            : var(--color-bckg);
    background-color : var(--color-mupr);
}
.upzg-btn:active {
    color            : var(--color-bckg);
    background-color : var(--color-mupr);
}

.feature-description {
    font-size : 1.2rem;
}

.form-control:focus {
    border-color : var(--color-upzg);
    box-shadow   : 0 0 0 0.25rem rgba(var(--color-1-rgb), 0.25);
}

.error-label {
    color : #FF0000;
}