/* Component Tweaks
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.alertify-logs > .show {
    max-width: 400px;
}

/* Structure
–––––––––––––––––––––––––––––––––––––––––––––––––– */
html,
body {
    height: 100%;
}

#root {
    min-height: 100%;
    position: relative;
}

h1 {
    color: #66c2ea;
    font-family: Oswald, sans-serif;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

h5 {
    color: #bcd367;
    font-family: Raleway, sans-serif;
    font-weight: 800;
}

header {
    background: #66c2ea;
}

.header-banner {
    box-sizing: border-box;
    display: block;
    max-width: 100%;
}

.heading {
    margin: 40px 0;
}

h1.line {
    border-top: solid 0.1em #66c2ea;
    margin: 0 auto;
    width: 1em;
}

#main {
    padding-bottom: 12em; /* height of footer */
}

footer {
    background: #bcd367;
    color: #ffffff;
    height: 12em; /* match #main padding-bottom */
    width: 100%;
    position: absolute;
    bottom: 0;
}

@media (min-width: 550px) {
    #main {
        padding-bottom: 10em; /* height of footer */
    }

    footer {
        height: 10em; /* match #main padding-bottom */
    }

}

footer a {
    color: #ffffff;
}

footer > .container {
    position: relative;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
}

.disclaimer {
    font-size: 67%;
    line-height: 1.4;
    margin-top: 1em;
}

.disclaimer > p {
	text-align: justify;
}

.disclaimer > p:last-child {
	margin-bottom: 0;
}

@media (min-width: 750px) {
    .disclaimer {
        margin-top: 2em;
    }
}

/* Banner
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NB: Keep (mostly) in sync with styles in Site.css and bootstrap-custom.css */
.banner {
    height: 80px;
}

.banner .tenant-name-container,
.banner .tenant-logo {
    display: inline-block;
    height: 70px;
    margin: 5px 10px 0;
    vertical-align: middle;
}

.banner .tenant-name-container {
	font-size: 28px;
	font-weight: bold;
	line-height: 68px;
}

.banner .fm-in-conjunction {
    display: inline-block;
    padding: 10px 20px 0;
    vertical-align: top;
}

.banner .fm-in-conjunction > span {
    display: block;
    font-size: 1.2em; /* this value is different to Site.css */
    margin-top: 2px;
    text-align: right;
    width: 100%;
}

/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button[disabled] {
	box-shadow: none;
	cursor: not-allowed;
	opacity: 0.65
}

/* Validation
–––––––––––––––––––––––––––––––––––––––––––––––––– */
label.hasError {
    color: red;
}

input.hasError[type="email"],
input.hasError[type="number"],
input.hasError[type="search"],
input.hasError[type="text"],
input.hasError[type="tel"],
input.hasError[type="url"],
input.hasError[type="password"],
textarea.hasError,
select.hasError {
    border: 1px solid darkred;
}

/* Helpers
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a.disabled,
a.disabled:active,
a.disabled:hover {
    color: #777;
    cursor: not-allowed;
    text-decoration: none;
}

.lead {
    font-size: larger;
}

.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}

.text-primary {
	color: #66c2ea;
}

form.full-width .form-control {
    width: 100%;
}

form.compressed .form-control {
    height: 30px;
}

form.expanded {
    font-size: larger;
}

form.expanded .form-control,
form.expanded button,
form.expanded .button {
    height: 46px;
}

form.expanded button,
form.expanded .button {
    font-size: 15px;
}

label .hint {
    font-weight: normal;
    margin-left: 0.5em;
}
