/*
 * Licensed to Apereo under one or more contributor license
 * agreements. See the NOTICE file distributed with this work
 * for additional information regarding copyright ownership.
 * Apereo licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file
 * except in compliance with the License.  You may obtain a
 * copy of the License at the following location:
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url(../font/OpenSans.ttf) format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'), local('OpenSans-Bold'), url(../font/OpenSans-Bold.ttf) format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local('Open Sans Italic'), local('OpenSans-Italic'), url(../font/OpenSans-Italic.ttf) format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(../font/OpenSans-BoldItalic.ttf) format('truetype');
}
 
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
	blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd,
	q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr,
	th, td, article, aside, canvas, details, figcaption, figure, footer,
	header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0px;
	padding: 0px;
	border: 0px;
	outline: 0px;
	background: transparent;
}

body, h1, h2, h3, h4, h5, h6, p, label, input {
	font-style: normal;
	font-family: "Open Sans";
}

body, p, label, input {
	font-weight: 400;
	font-size: 14px;
}

html {
	height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	background: #f2f2f2;
	height: 100%;
	overflow: hidden; /* avoid "over scrolling" at the top and at the bottom in chrome and safari */
}

h1 {
	color: #d02029;
	font-size: 24px;
	font-weight: 700;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
}

h2 {
	font-size: 18px;
	font-weight: 700;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
}

table {
	border-collapse: collapse;
}

td {
	padding-top: 1px;
	padding-bottom: 1px;	
}

label {
	padding-right: 4px;
}

#header {
	flex-basis: 80px;
	flex-grow: 0;
	flex-shrink: 0;
	padding-left: 10px;
	padding-right: 10px;
	background: white;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

#header > div {
	flex-basis: 1326px;
	flex-grow: 0;
	flex-shrink: 1;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

#logo {
	flex-basis: 233.16px;
	flex-grow: 0;
	flex-shrink: 0;
	padding-top: 3px;
	width: 233.16px; /* required for IE */
	height: auto;
}

#header > div > div.space {
	flex-basis: 10px;
	flex-grow: 1;
	flex-shrink: 1;	
} 

#language {
	flex-basis: 60px;
	position: relative;
	text-align: center;
	vertical-align: middle;
	font-size: 18px;
	font-weight: bold;
}

#language > ul {
	display: none;	
	position: absolute;
	top: 0px;
	left: 0px;
	width: 60px;
	list-style-type: none;
	background: white;
	z-index: 1;
}

#language:hover > ul {
	display: inherit;	
}

#language > ul > li:hover {
	background: black;
}

#language > ul > li > a {
	text-decoration: none;
	color: black;
}

#language > ul > li:hover > a {
	color: white;
}

#container {
	flex-basis: auto; 
	flex-grow: 1;
	flex-shrink: 1;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 7px;
	padding-bottom: 7px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
}

#container > div {
	flex-basis: 1326px;
	flex-grow: 0;
	flex-shrink: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;	
}

#content {
	flex-basis: 10px; /* we need a specific value for the basis, we let it grow anyway */
	flex-grow: 1;
	flex-shrink: 1;
	overflow: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

#serviceui {
	clear: left;
}

#notsupported {
	padding-top: 9px;
	padding-bottom: 9px;	
}

div.box > form > table {
	width: 100%;
	max-width: 600px;
}

div.box > form > table th,
div.box > form > table td {
	padding-top: 1px;
	padding-bottom: 1px;
	width: 50%;
	min-width: 200px;	
}

div.box > form > table td input[type="text"], 
div.box > form > table td input[type="password"] {
	width: calc( 100% - 6px ); /* the 6px are for the border around the input field - this should be enough (we align the element to the left so it's okay if it's more than what is really needed) */
}

input[type="submit"],
input[type="reset"],
a.button {
	color: white;
	background: #cc0000;
	border: 1px solid #cc0000;
	border-radius: 0px;
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 8px;
	padding-right: 8px;
}

a.button {
	text-transform: uppercase;
	text-decoration: none;
}

input:hover[type="submit"],
input:hover[type="reset"],
a.button:hover {
	box-shadow: 0px 0px 22px -2px rgba(0,0,0,0.75);
	z-index: 100;
}

#buttons {
	padding: 7px 0px 7px 0px;
}

#footer {
	flex-basis: 80px;
	flex-grow: 0;
	flex-shrink: 0;
	padding-left: 10px;
	padding-right: 10px;
	color: white;
	background: #414141;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

#footer > div {	
	flex-basis: 1326px;
	flex-grow: 0;
	flex-shrink: 1;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

#msg.errors {
	border: 1px dashed rgb(246,0,24);
	color: rgb(246,0,24);
	padding: 5px 5px 5px 5px;
	margin: 0px 0px 9px 0px;
}
