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: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
body { line-height: 1; }
nav ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
body { font-family: Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.4em; background: #eee; }

#container { width: 960px; margin: 0 auto; }

@media only screen and (max-width: 960px) { 
  #container { width: 100%; }
  #content { -webkit-border-bottom-right-radius: 0px; -webkit-border-bottom-left-radius: 0px; -moz-border-radius-bottomright: 0px; -moz-border-radius-bottomleft: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; } 
}

body {
  background: url(../images/bg-tile.gif); /* Old browsers */
}

a:link, a:visited {
  color: #257bb2;
}

a:hover {
  color: #a0b757;
}

p {
  margin-bottom: 1.4em;
}

header {
  overflow: hidden;
  padding: 40px 0;
}

#logo {
  display: block;
  width: 250px;
  height: 52px;
  background: url(../images/apereo-logo.png) no-repeat;
  text-indent: -999em;
  float: left;

  margin-right: 40px;
  border-right: 1px solid rgba(255,255,255,0.25);
}

header h1 {
  display: none;
}

#content {
  overflow: hidden;
  background: #fff;
  padding: 20px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 8px 0 rgba(0,0,0,0.15);
  box-shadow: 0 0 8px 0 rgba(0,0,0,0.15);
}

#msg {
  padding: 20px;
  margin-bottom: 40px;
}

#msg.errors {
  border: 1px dotted #BB0000; 
  color: #BB0000; 
  padding-left: 100px; 
  background: url(../../../images/error.png) no-repeat 20px center;
}

#msg.success { border: 1px dotted #390; color: #390; padding-left: 100px; background: url(../../../images/success.png) no-repeat 20px center; }
#msg.info { border: 1px dotted #008; color: #008; padding-left: 100px; background: url(../../../images/info.png) no-repeat 20px center; }
#msg.question { border: 1px dotted #390; color: #390; padding-left: 100px; background: url(../../../images/question.png) no-repeat 20px center; }
#msg.warn { border: 1px dotted #960; color: #960; padding-left: 100px; background: #ffbc8f url(../../../images/info.png) no-repeat 20px center; }

#login {
  width: 320px;
  float: left;
  margin-right: 20px;
}

#login h2 {
  font-weight: normal;
  font-size: 1.4em;
  margin-bottom: 20px;
}

#login .row {
  padding: 10px 0;
}

#login label {
  display: block;
  margin-bottom: 2px;
}

#login .check label {
  display: inline;
}

#login input[type=text], #login input[type=password] {
  font-size: 1.4em;
  padding: 5px;
}

#login .btn-submit {
  background: #2aa4a5;
  border: 0;
  padding: 10px 20px;
  font-weight: bold;
  color: white;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

#login .btn-reset {
  background: #eee;
  padding: 10px 20px;
  border: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

#login .btn-submit:hover, #login .btn-reset:hover {
  cursor: pointer;
}

#login .btn-submit:hover {
  background: #30bfbf;
}

#login .btn-reset:hover {
  background: #d4d4d4;
}

#sidebar {
  width: auto;
  height: 100%;
}

#sidebar-content {
  padding-left: 20px;
}

#list-languages h3 {
  margin-bottom: 1.4em;
}

#list-languages ul li {
  list-style: none;
  display: inline-block;
  margin-right: 2em;
}

footer {
  padding: 20px;
  color: black;
}

footer a:link, footer a:visited {
  color: black;
}

@media only screen and (max-width: 960px) { 
  header { padding: 20px; }
  #container { width: 100%; }
  #content { 
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
  } 
}

@media only screen and (max-width: 799px) { 
  header { padding: 10px;}
  #logo { width: 156px; height: 32px; background-size: 156px 32px; margin-right: 20px; }
  #login { float: none; width: 100%; }
  #fm1 .row input[type=text], 
  #fm1 .row input[type=password] { width: 100%; padding: 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
  #fm1 .row .btn-submit { outline: none; -webkit-appearance: none; -webkit-border-radius: 0; border: 0; background: #2aa4a5; color: white; font-weight: bold; width: 100%; padding: 10px 20px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
  #fm1 .row .btn-reset { display: none; }
  #sidebar { margin-top: 20px; }
  #sidebar .sidebar-content { padding: 0; }
}