/* RESET --------------------------------- */
/* reset some properties for elements since defaults are not crossbrowser - http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/ */
html,
body,
div,
span,
h1,
h2,
h3,
p,
a,
img,
ul,
li,
fieldset,
form,
label,
legend {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}
:focus {
  outline: 0;
}
ul {
  list-style: none;
  font-size: 1.1em;
  padding: 0 0 18px 40px;
}

/* browser default font-size is 16px which is too big so we make it 16px x 62.5% = 10px */
body {
  font: normal 400 62.5%/1 Verdana, sans-serif;
  min-width: 960px;
  color: #091f28;
}

/*
 - used to clear or contain floats within a non-floated container
 - this ruleset is used by UAs that handle :after - not IE - see ie_cas.css for IE fix
http://www.positioniseverything.net/easyclearing.html and http://www.ejeliot.com/blog/59 */
header:after,
#content:after,
footer:after,
.clearfix:after {
  content: '.';
  clear: both;
  display: block;
  height: 0;
  visibility: hidden;
}

/* CONTENT --------------------------------- */
html,
body,
#container {
  min-height: 100vh;
}
#content {
  clear: both;
  height: calc(100vh - 50px);
  min-height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#content h2 {
  margin: 0 0 0.5em 0;
  font-size: 1.3em;
  font-weight: 400;
  color: #030917;
  padding: 4px 0;
}
#content h3 {
  font: 1em arial, helvetica, sans-serif;
  font-weight: 400;
  color: #030917;
}

#content p {
  line-height: 1.5;
  font-size: 1.1em;
  padding: 0 0 18px;
  color: #444a59;
}
/* HEADER --------------------------------- */
.gtv-header {
  /* Currently it's only needed for message pages */
  display: none;  
  position: fixed;
  left: 0;
  right: 0;
  background: #0d2f5a;
  border: 0;
}

.gtv-header .navbar-brand {
  display: inline-block;
  padding: 0 15px;
  height: 50px;
}
.gtv-header .navbar-brand .icon{
  width: 50px;
  height: 50px;
}

/* LOGO --------------------------------- */

.gtv-branding .row {
  text-align: center;
}

.gtv-branding .text-logo {
  width: 555px;
  margin-bottom: 16px;
}

/* LOGIN --------------------------------- */
#login {
  text-align: center;
}

.btn-primary {
  background-color: #0d2f5a;
  color: #fff;
  border: 1px solid #0d2f5a;
}

.btn-primary:hover {
  background-color: #0b2343;
  border-color: #0b2343;
}

.btn-primary:focus,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:active:focus,
.btn-primary:focus.active {
  background-color: #0b2343;
  border-color: #0b2343;
}

.btn-primary[disabled]:focus,
.btn-primary[disabled]:hover,
.btn-primary[disabled]:active,
.btn-primary[disabled]:active:focus,
.btn-primary[disabled]:focus.active {
  background-color: #0b2343;
  border-color: #0b2343;
}

.btn-secondary {
  color: #0d2f5a;
  border: 1px solid #0d2f5a;
  background-color: #fff;
}

.btn-secondary:hover {
  color: #0b2343;
  border-color: #0b2343;
}

.btn-secondary:focus,
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:active:focus,
.btn-secondary:focus.active {
  color: #0b2343;
  border-color: #0b2343;
}

.gtv-link {
  color: #0d2f5a;
}

.gtv-link:hover {
  color: #0b2343;
}

.gtv-link:focus {
  outline: 1px solid #0b2343;
}

#reset-password {
  font-size: initial;  
}

.btn {
  padding: 8px 16px;
  border-radius: 3px;
}

.btn:focus,
.btn:active,
.btn:active:focus,
.btn:focus.active {
  outline: 0;
}

/* FOOTER --------------------------------- */
footer {
  text-align: center;
}

footer #copyright {
  color: #0d2f5a;
}

/* MESSAGES --------------------------------- */
#cas #cookie-popup {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: #fff;
  background: #0d2f5a;
  font-size: 13px;
  font-family: sans-serif;
  display: none;
  padding: 8px;
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
}
#cas #cookie-popup a {
  opacity: 0.8;
  color: #fff;
}
#cas #cookie-popup a:hover {
  opacity: 1;
  text-decoration: underline;
}
#cas #cookie-popup .btn-accept {
  margin-left: auto;
  padding: 0px 4px;
}

.alert {
  border-radius: 3px;
  font-size: initial;
}

.alert-danger {
  background-color: #f2dede;
  border-color: #c9252d;
  color: #c9252d;
}

#content .alert-danger h2, 
#content .alert-danger p {
  color: inherit;
}

.message-page .alert {
  text-align: center;
}

.message-page .alert-info,
.message-page .alert-success {
  background: inherit;
  border: none;
}

.message-page a {
  color: #2b7ade;
}

.message-page a:hover {
  color: #0c2343;
}

.message-page a:focus {
  outline: 1px solid #2b7ade;
}
/* show header and
   remove min-height of content to avoid needless scroll
 */
.message-page .gtv-header {
  display: block;  
}

.message-page #content {
  min-height: auto;
}

.info,
.errors,
.success {
  clear: both;
  margin: 18px 0;
  padding: 20px 20px 20px 100px;
  font-size: 10px;
  line-height: 1.5;
}
.info {
  border: 1px dotted 008;
  background: #eff url(../images/info.gif) no-repeat 20px 18px;
  color: #008;
}
.errors {
  border: 1px dotted #d21033;
  background: #fed url(../images/error.gif) no-repeat 20px 18px;
  color: #d21033;
  padding-bottom: 40px;
}
.success {
  border: 1px dotted #390;
  background: #dfa url(../images/confirm.gif) no-repeat 20px 18px;
  color: #390;
}

/* static messages */
#content #msg p {
  padding: 0;
}

/* FORMS --------------------------------- */
.form-group {
  margin-bottom: 16px;
}

.form-control {
  padding: 8px 16px;
  border-radius: 3px;
  border: 1px solid #acb2bf;
  color: #444a59;
}

.form-control:focus {
  border-color: #0d2f5a;
  outline: 0;
  box-shadow: none;
}

label {
  cursor: pointer;
  font-size: 1.1em;
  color: #444a59;
}
input {
  border-width: 1px;
  font-family: Verdana, sans-serif;
  font-size: 1.1em;
  color: #444a59;
  padding: 3px;
  min-height: 1.5em;
}

.fm-v div.row {
  float: left;
  margin: 0;
  padding: 0.5em 0;
  width: 100%;
}
.fm-v div.row label {
  float: left;
  width: 100%;
  line-height: 1.5;
}
.fm-v div.row input.btn-submit {
  display: block;
  margin: 0;
}

/* highlight errors */
input.error {
  background: #fff;
  border-color: #c9252d;
}

/* mark as required */

.error {
  background: #ffefef;
}
