/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


*{
  margin:0;
  padding:0;
}
html, body{ 
  font-family: 'Roboto', sans-serif;
  height:100%; 
}
h1{ font-size: x-large; font-weight: bold; }
h2{ font-size: large; font-weight: bold;}
h3{ font-size: large;}
h4{ font-size: medium; font-weight: bold;}
h4{ font-size: medium;}
h6{ font-size: small; font-weight: bold;}

a:link, a:visited {
  text-decoration: none;
}
a:hover, a:active {
  text-decoration: underline;
}
a:link, a:visited, a:hover, a:active {
  color: #ED1C24;
}
button.nodefault, input[type="submit"].nodefault{
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
}


body{
  background-color: #F5F5F5;
  color:#000;
  display:flex;
  flex-direction: column;
}
header#site-top, #main .content, footer#site-bottom{
  margin:0 auto;
  width:98%;
}

.header-wrapper{
  background: #ED1C24;
  height:100px;
  position: relative;
  width:100%;
  z-index:100;
}
header#site-top{
  box-sizing: border-box;
  color:#111;
  height:100%;
  padding: 10px;
  position: relative;
  
}
header#site-top .homelink{
  text-decoration: none;
}

header#site-top .logo{
  display:inline-block;
}
header#site-top .logo img{
  display:inline-block;
  height: 80px;
}
header#site-top #user_panel{
  align-items: end;
  bottom: 0;
  display: flex;
  position: absolute;
  right: 5px;
}
header#site-top #user_panel.anon{
  bottom: 10px;
  right: 20px;
}


header #user_panel.anon > *{
  background-color: #ED1C24;
}
header #user_panel.anon .controls{
  font-weight:bold;
}
header #user_panel.anon .controls a.login{
  background-color: #F5F5F5;
  border: 2px solid #F5F5F5;
  padding: 6px 12px;
}
header #user_panel.loggedin > *{
  background-color: #EEE;
}
header #user_panel > div.avatar{
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
header #user_panel img.avatar{
  border-radius:40%;
  height:32px;
  margin: 10px 10px 5px 10px;
  width:32px;
}
header #user_panel .controls{
  display: flex;
  flex-direction:row;
  font-size: medium;
  padding: 5px 10px;
}
header #user_panel.loggedin .controls{
  align-items:end;
  border-top-right-radius: 5px;
  display:flex;
  padding: 10px 10px 5px 0;
}

header #user_panel .controls > *{
  margin:0 3px;
}
header #user_panel .controls > *:first-child{
    margin-left:0;
}
header #user_panel .controls > *:last-child{
  margin-right:0;
}

header #user_panel .controls .username{
  margin-right:15px;
}
header #user_panel .controls .usertools{
  font-size:small;
}

nav{
  background-color:#00295B;
  border-bottom: 5px solid #F5F5F5;
  box-shadow: 0 2px 3px rgba(0,0,0,0.5);
  height:0;
  position:relative;
  z-index:20;
}


#main{
  box-sizing: border-box;
  flex:1;
  z-index:10
}

#main .content{
  background-color: #f5f5f5;
  box-sizing: border-box;
  height:100%;
  padding : 20px 10px;
}


#main .content .main-headline{
  color: #111;
  margin-bottom: 10px;
}

#server_triggers{
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin:0 10px;
  padding: 10px;
  position: relative;
}
#server_triggers.working:before{
  background-color: rgba(0,0,0,0.5);
  content: "";
  position : absolute;
  height: 100%;
  left:0;
  top:0;
  width: 100%;
  z-index:10;
}
#server_triggers.working input,
#server_triggers.working a{
  cursor: default;
  pointer-events:none;
}

.chat_trigger{
  background-color: rgb(54, 57, 63);
  box-shadow: 1px 1px 3px rgba(0,0,0,0.9);
  box-sizing: border-box;
  flex: 0 1 24%;
  margin:0.5%;
  max-width:49%;
  padding: 5px 10px;
  position: relative;
}
.chat_trigger .trigger_header{
  align-items: center;
  display:flex;
  margin-bottom:5px;
}
.chat_trigger .trigger{
  display:flex;
  font-size: x-large;
  font-weight: bold;
  flex: 1 0 auto;
  padding: 0 10px;
}
.chat_trigger .trigger_controls{
  display:flex;
  flex: 0 1 auto;
  padding: 0 10px;
  margin-left: 10px;
}
.chat_trigger .trigger_controls > *{
  align-items: center;
  display: flex;
  margin: 0 10px;
}
.chat_trigger .trigger_controls > *:first-child{
  margin-left: 0;
}
.chat_trigger .trigger_controls > *:last-child{
  margin-right: 0;
}
.chat_trigger .trigger_controls > .remove{
  border-radius: 50%;
  padding: 10px;
}
.chat_trigger .trigger_controls > .remove:hover{
  background-color: rgba(224, 192, 192, 0.35);
  cursor:pointer;
}
.chat_trigger .trigger_controls > .remove svg{
  fill : white;
}


.chat_trigger .response{
  display: block;
  margin: 10px 0 0 10px;
  padding: 5px 10px;
}
.chat_trigger .response img{
  transition: margin 0.4s, width 0.4s, height 0.4s;
}
.chat_trigger .response.loading img{
  height:58px;
  margin:35px;
  width:58px;
}
.chat_trigger .response img{
  height:128px;
  margin:0;
  width:128px;
}
.chat_trigger .response.text{
  background-color:#444;
  display:inline-block;
  font-size:medium;
  margin-top: 20px;
  padding:10px;
  word-break: break-all;
}

.switch-field {
	display: flex;
	margin-bottom: 5px;
	overflow: hidden;
}

.switch-field input {
	position: absolute !important;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	width: 1px;
	border: 0;
	overflow: hidden;
}

.switch-field label {
	background-color: #e4e4e4;
	color: transparent;
	font-size: 14px;
	line-height: 1;
	text-align: center;
	padding: 6px 12px;
	margin-right: -1px;
	border: 1px solid rgba(239, 239, 239, 0.2);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
	transition: all 0.1s ease-in-out;
}

.switch-field label:hover {
	cursor: pointer;
}

.switch-field input:checked + label {
	background-color: #a5dc86;
	color: #396333;
	box-shadow: none;
}
.switch-field input:checked + label[data-type="toggle_disabled"] {
	background-color: #dc8686;
	color: #630d0d;
	box-shadow: none;
}

.switch-field label:first-of-type {
	border-radius: 4px 0 0 4px;
}

.switch-field label:last-of-type {
	border-radius: 0 4px 4px 0;
}

.block{
  display:block;
}

.fieldWrapper{
  margin:20px 0
}

.fieldWrapper > label{
  font-weight:bold;
  margin-bottom : 5px;
}

.fieldWrapper ul li{
  margin: 10px 0;
}

.soft_disable{
  cursor: default;
  opacity: 0.65;
  pointer-events: none;
}

fieldset .errorlist,
.fieldWrapper .errorlist{
  background-color:rgb(255, 240, 240);
  border: 2px solid #330000;
  color: #330000;
  margin: 5px 0;
  padding : 5px 10px ;
}

.errorcode {
  background-color: #ED1C24;
  border:2px solid #FFF;
  color:#FFF;
  padding:20px;
}

ul.messages li{
  margin: 5px 0;
  padding: 10px;
}
ul.messages li.success{
  background-color:rgb(240, 255, 245);
  border: 2px solid #004400;
  color:#004400;
}

.timeslot{
  background-image: url('/static/img/date_inactive.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 30px;
  height:30px;
  margin: 5px;
  position:relative;
  width:30px;
}
.timeslot:first-child{
  margin-left:0;
}
.timeslot:last-child{
  margin-right:0;
}
.timeslot.selected{
  background-image: url('/static/img/date_active.png');
}
.timeslot::before{
  box-sizing: border-box;
  color: #DDD;
  content:attr(data-month);
  display:flex;
  font-size:9px;
  position:absolute;
  text-align:center;
  text-transform: uppercase;
  top: 1px;
  width: 100%;
  align-items: center;
  justify-content: center;
}
.timeslot::after{
  box-sizing: border-box;
  bottom:2px;
  color: #999;
  content:attr(data-date);
  display:block;
  font-size:16px;
  position:absolute;
  text-align:center;
  text-transform: uppercase;
  width:100%;
}
.timeslot.selected::before{
  color : #FFF;
}
.timeslot.selected::after{
  color : #040;
}

.cta-main{
  background-color: #ED1C24;
  color: #FFF;
  cursor: pointer;
  display:inline-block;
  font-size: large;
  padding:10px 20px;
}

.table-header{
  background-color: #00295B;
  color: #FFF;
  margin-bottom:5px;
  padding: 5px;
  width:auto;
}

.boldfont{
  font-weight: bold;
}
.xlargefont{
  font-size: x-large;
}
.xxlargefont{
  font-size: xx-large;
}
.largefont{
  font-size: large;
}
.smallfont{
  font-size: small;
}
.xsmallfont{
  font-size: x-small;
}
.subitem{
  margin: 8px 0;
  margin-left: 10px;
}
.list-subitem{
  margin: 4px 0;
  margin-left: 20px;
}
ul.messages li{
  display: inline-block;
  width:auto;
}
ul.styled{
  margin-left:20px
}
ul.styled li{
  list-style-type:initial;
}
.mtop-5{
  margin-top: 5px;
}
.mtop-10{
  margin-top: 10px;
}
.mtop-20{
  margin-top: 10px;
}

.go-back{
  display:block;
}
.go-back a{
  box-sizing: border-box;
  color:#ED1C24;
  display: inline-block;
  font-size: small;
  padding: 10px  5px;
  text-decoration: underline;
}

.panel{
  margin: 0 0 10px 0;
}

.trim-ellipsis{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* .registration-status.approved,
.registration-status.assigned{
    background-color:rgb(240, 255, 245);
    border: 2px solid #004400;
    color:#004400;
}
.registration-status.pending{
    background-color:rgb(240, 251, 255);
    border: 2px solid #00333F;
    color :#00333F;
} */
form .alert{
  display: inline-block;
  padding: 20px;
  position:relative;
  width:auto;
}
form .alert.alert-danger{
    background-color:rgb(255, 240, 240);
    border: 2px solid #330000;
    color :#330000;
}

[data-widget='showhide']{
  cursor: pointer;
}
[data-widget='showhide'] h3::after{
  content:"";
  display: inline-block;
  font-size:medium;
  margin-left: 10px;
}
[data-widget='showhide'].open h3::after{
  content:"▲";
}
[data-widget='showhide'].closed h3::after{
  content:"▼";
}
[data-widget='showhide'] + [data-role='showhide-content']{
  display: none;
}
[data-widget='showhide'].open + [data-role='showhide-content']{
  display: block;
}


@media (min-width:320px)  { /* smartphones, iPhone, portrait 480x320 phones */ }
@media (min-width:481px)  { /* portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide. */ }
@media (min-width:641px)  { /* portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */ }
@media (min-width:961px)  { /* tablet, landscape iPad, lo-res laptops ands desktops */ }
@media (min-width:1025px) { 
  /* big landscape tablets, laptops, and desktops */ 
  h1{ font-size: xx-large; font-weight: bold; }
  h2{ font-size: x-large; font-weight: bold;}
  h3{ font-size: x-large;}
  h4{ font-size: large; font-weight: bold;}
  h4{ font-size: large;}
  h6{ font-size: medium; font-weight: bold;}
  header#site-top, #main .content, footer#site-bottom{
    margin:0 auto;
    width:90%;
  }
  #main .content{
    padding : 40px 50px;
  }
}
@media (min-width:1281px) { /* hi-res laptops and desktops */ }