﻿
/* Declare font face */
@font-face {
	font-family: 'Roboto';
	src: url('../fonts/Roboto-Regular.ttf');
}

/* Set body font */
body {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
}

/* Set padding to keep content from hitting the edges */
body {
	padding-top: 75px;
	padding-left: 15px;
	padding-right: 15px;
}

/* For navbar */
nav .navbar-brand {
	font-size: 20px;
}
.navbar-nav .nav-link {
	padding-left: 10px;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
	max-width: 280px;
}

/* Size adjustments */
@media (min-width: 975px) {
	.navbar-expand-custom {
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}

		.navbar-expand-custom .navbar-nav {
			flex-direction: row;
		}

			.navbar-expand-custom .navbar-nav .nav-link {
				padding-right: .5rem;
				padding-left: .1rem;
			}

			.navbar-expand-custom .navbar-nav .nav-item {
				padding-right: .5rem;
				padding-left: .1rem;
			}


		.navbar-expand-custom .navbar-collapse {
			display: flex !important;
		}

		.navbar-expand-custom .navbar-toggler {
			display: none;
		}
}

/* Custom navbar styling */
.custom-navbar {
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    margin-left: auto;
    margin-right: auto;
}

/* Logo container styling */
.logo-container {
    width: 225px;
    height: 60px;
    padding-top: 5px;
    background-color: white;
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transform: skew(-20deg);
    -ms-transform: skew(-20deg);
    transform: skew(-20deg);
}

/* Logo image styling */
.logo-image {
    width: 200px;
    height: 50px;
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transform: skew(20deg);
    -ms-transform: skew(20deg);
    transform: skew(20deg);
}

/* Transparent border button */
.transparent-border {
    border: 0px solid transparent;
}

/* White icon */
.icon-white {
    color: #FFF;
}

/* Validation styling - CSP compliant (no inline styles) */
.validation-summary-errors ul li:empty,
.empty-validation-item,
.validation-summary-errors ul li:not(:has(*)):not([class]):empty,
.validation-summary-errors ul li:first-child:last-child:empty,
.validation-summary-errors ul:empty,
.validation-summary-errors ul li[style],
.validation-summary-errors:has(ul:empty) {
    display: none !important;
}

/* Additional validation styles for consistent appearance */
.validation-summary-errors {
    color: #dc3545;
    margin-bottom: 15px;
    padding: 10px;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    background-color: #f8d7da;
}

.validation-summary-valid {
    display: none;
}

/* Field validation errors */
.field-validation-error {
    color: #dc3545;
    font-size: 0.875rem;
    display: block;
    margin-top: 5px;
}

/* Input validation errors */
.input-validation-error {
    border-color: #dc3545;
    padding-right: calc(1.5em + 0.75rem);
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

/* Validation message styling */
[data-valmsg-for] {
    color: #dc3545;
    font-size: 0.875rem;
}

/* Hide empty validation messages */
.field-validation-valid {
    display: none;
}

/* Ensure lists in validation summaries are properly styled */
.validation-summary-errors ul {
    margin-bottom: 0;
    padding-left: 20px;
}

/* Explicitly handle ASP.NET validation placeholders */
.validation-summary-errors li[style*="display:none"],
.validation-summary-errors li[style*="display: none"] {
    display: none !important;
}

/* Add spacing for validation messages for better readability */
span.field-validation-error {
    display: block;
    margin-top: 5px;
    margin-bottom: 5px;
}

/* Make sure required error indicators are visible */
span.field-validation-error.text-danger,
span.text-danger {
    color: #dc3545 !important;
}
