textarea {
  resize: none;
}
div.clear {
  clear: both;
}
p.promo {
  background: url("/images/icons/alert_promo.png") no-repeat scroll 10px 50% white;
  border: 1px solid #a28424;
  outline: 3px solid #f9c92a;
  padding: 15px 15px 15px 45px;
}
p.information {
  background: url("/images/icons/alert_information.png") no-repeat scroll 10px 50% #BCDBEB;
  border: 1px solid #11ACFF;
  padding: 15px 15px 15px 45px;
}
p.success {
  background: #bfebb1 url(/images/icons/alert_success.png) no-repeat 10px 50%;
  border: 1px solid #50993a;
  padding: 10px 15px 10px 45px;
  margin-bottom: 8px;
}
p.warning {
  background: #f9d970 url(/images/icons/alert_warning.png) no-repeat 10px 50%;
  border: 1px solid #a28424;
  padding: 15px 15px 15px 45px;
}
p.error {
  background: #f6977a url(/images/icons/alert_error.png) no-repeat 10px 50%;
  border: 1px solid #a1523c;
  padding: 15px 15px 15px 45px;
  text-shadow: none;
}
p.error a:hover {
  color: black;
}
.loading_gif {
  background: url(/images/icons/subject_loading.gif) no-repeat;
  padding: 15px 15px 5px 5px;
  vertical-align: middle;
}
.menu {
  margin: 0 auto;
  padding: 0 10px;
  width: 920px;
  height: 89px;
  background: url(/images/menu_bg.png) repeat-x;
  border-left: 1px solid black;
  border-right: 1px solid black;
  border-bottom: 1px solid black;
}
.menu li {
  float: left;
  width: 82px;
  height: 100%;
  list-style: none;
  color: white;
  text-align: center;
}
.menu li.selected {
  background: url(/images/menu_selected_item.png) no-repeat;
}
.menu li a {
  display: block;
  height: 82px;
  color: white;
  text-decoration: none;
  font-weight: normal;
  font-size: 12px;
  font-family: Tahoma, Arial, Helvetica, sans-serif;
}
.menu li span {
  display: block;
  margin: 10px auto 0 auto;
  background: url(/images/menu_icons.png) 0 0 no-repeat;
  width: 32px;
  height: 32px;
}
.menu li.home span {
  background-position: -3px 0;
}
.menu li.students span {
  background-position: -38px 0;
}
.menu li.availabilities span {
  background-position: -73px 0;
}
.menu li.messages span {
  background-position: -108px 0;
}
.menu li.profile span {
  background-position: -38px -35px;
}
.menu li.netmaths span {
  background-position: -73px -35px;
}
.menu li.help span {
  background-position: -3px -35px;
}
.menu li.online span {
  background-position: -108px -70px;
}
.menu li.pay span {
  background-position: -73px -70px;
}
.menu li.evaluation span {
  background-position: -43px -70px;
}
.menu li.logout span {
  background-position: -108px -35px;
}
a.button {
  display: inline-block;
  background-color: #FECE5A;
  border: 1px solid #000000;
  color: black;
  font-size: 14px;
  font-weight: bold;
  font-family: Sans serif;
  width: 200px;
  text-decoration: none;
  padding: 2px 0;
  cursor: pointer;
}
a.button:hover {
  background-color: white;
  font-weight: bold;
}
button.retro-green,
a.retro-green {
  background: ;
  padding: 8px 8px 7px 8px;
  text-transform: uppercase;
  color: white;
  font-weight: bold;
  text-decoration: none;
  border-radius: 5px;
  border: 1px solid ;
  border-right-width: 2px;
  border-bottom-width: 2px;
  white-space: nowrap;
  cursor: pointer;
  text-shadow: none;
}
button.retro-green:hover,
a.retro-green:hover {
  margin-left: 1px;
  margin-top: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  color: white;
}
button.retro-green.ajax-wait,
a.retro-green.ajax-wait {
  background-color: gray;
  margin-left: 1px;
  margin-top: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border: 1px solid darkGray;
  cursor: auto;
}
.column-left {
  float: left;
  width: 59%;
}
.column-right {
  float: right;
  width: 40%;
}
.appointment_box {
  text-align: center;
  border-style: groove;
  border-width: 1px;
  margin: 0px;
}
.appointment_box table {
  width: 100%;
}
.appointment_box tr.rowTitle th {
  background-image: url(/images/themes/orange/title_bg.jpg);
  background-repeat: repeat-x;
  border-bottom: thin solid black;
}
.incomplete-appointments h1 {
  color: red;
  font-size: 1.1em;
  font-weight: bold;
  padding: 5px;
}
.calendar-day {
  border-collapse: collapse;
  border-spacing: 0;
  border-width: 0px 0px 0px 0px;
  border: none;
}
.calendar-day td {
  height: 3em;
}
.calendar-day td td {
  height: auto;
}
.calendar-day tr:nth-child(2n+1) td {
  background-color: #ffe6ab;
}
.calendar-day tr td.overlapped_item {
  border: 1px solid #999;
  background: white;
}
.calendar-day tr td.overlapped_item td {
  background-color: transparent;
}
.calendar-day tr td.overlapped_item.blurred {
  background: rgba(255,192,203,0.5);
}
.calendar-day tr td.overlapped_item.blurred .agenda-item {
  background: none;
}
.calendar-day tr td.overlapped_item .agenda-item {
  border: none;
}
.calendar-day.version2 {
  width: auto;
}
.calendar-day.version2 th,
.calendar-day.version2 td {
  overflow: hidden;
  height: 24px;
  width: 100px;
}
.calendar-day.version2 tr:nth-child(n) td.spots {
  width: 60px;
  min-width: 60px;
  background: #ffc745;
  color: black;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  border-left: 1px solid gray;
  border-right: 1px solid gray;
  border: 1px solid gray;
}
.calendar-day.version2 tr:nth-child(2n) td.spots {
  background: #ffd573;
}
.calendar-day.version2 tr:nth-child(2n) td.spots.full {
  background: #ff6640;
}
.calendar-day.version2 tr:nth-child(2n+1) td.spots.full {
  background: #ff4112;
}
.calendar-day.version2 tr:nth-child(3n - 3) td:first-child {
  width: 60px;
  min-width: 60px;
  white-space: nowrap;
  height: 24px;
  text-align: right;
  padding: 0 7px;
  border-top: 1px solid gray;
  vertical-align: top;
  overflow: visible;
  background: white;
}
.calendar-day.version2 tr:nth-child(3n - 3) td:first-child div {
  position: relative;
}
.calendar-day.version2 tr:nth-child(3n - 3) td:first-child span {
  position: absolute;
  top: -13px;
  right: 0;
}
.calendar-day.version2 tr:nth-child(12n - 9) td:first-child {
  font-weight: bold;
}
.calendar-day.version2 tr:nth-child(12n - 6) td:first-child,
.calendar-day.version2 tr:nth-child(12n - 3) td:first-child,
.calendar-day.version2 tr:nth-child(12n) td:first-child {
  font-size: 10px;
  border-top: 1px dotted #ddd;
  color: gray;
}
.calendar-day.version2 td:nth-child(n+3) {
  border-right: 1px dashed #ccc;
}
.calendar-day.version2 td:nth-child(n+2) {
  min-width: 100px;
}
.calendar-day.version2 tr:nth-child(6n-1) td,
.calendar-day.version2 tr:nth-child(6n-2) td,
.calendar-day.version2 tr:nth-child(6n-3) td {
  background-color: #ffea82;
}
.calendar-day.version2 tr:nth-child(6n) td,
.calendar-day.version2 tr:nth-child(6n+1) td,
.calendar-day.version2 tr:nth-child(6n+2) td {
  background-color: #fff4c0;
}
.calendar-day.version2 tr:nth-child(4n + 3) td {
  border-top: 1px solid #aaa;
}
.calendar-day.version2 tr td.overlapped_item {
  border: 1px solid #999;
  background-color: rgba(0,0,0,0);
}
.calendar-day.version2 tr td.overlapped_item.header {
  border-bottom: 0px none;
  font-size: 10px;
  height: 10px;
  max-height: 10px;
  line-height: 10px;
}
.calendar-day.version2 tr td.overlapped_item.content {
  border-top: 0px none;
  border-bottom: 0px none;
  text-align: center;
}
.calendar-day.version2 tr td.overlapped_item.footer {
  border-top: 0px none;
  font-size: 10px;
  height: 10px;
  max-height: 10px;
  line-height: 10px;
  vertical-align: bottom;
}
.calendar-day.version2 tr td.overlapped_item.not-here {
  background-color: #aaa;
}
.calendar-day.version2 tr td.overlapped_item.not-here.content * {
  opacity: 0.5;
  z-index: 1;
}
.calendar-day.version2 th.fixed {
  height: 100px;
  width: 100px;
  min-width: 100px;
  background: #FFF4C0;
  margin-left: -1px;
  border: 1px solid gray;
  padding: 5px;
}
.calendar-day.version2.sticky th.fixed {
  height: 100px;
  width: 100px;
  min-width: 100px;
  background: #FFF4C0;
  margin-left: -1px;
  border: 1px solid transparent;
  padding: 5px;
}
.calendar-day.version2.sticky th.fixed div.wrapper {
  z-index: 2;
  width: 80px;
  border: 1px solid red;
  position: fixed;
  top: -1px;
  margin-left: 15px;
  height: 100px;
  width: 100px;
  min-width: 100px;
  background: #FFF4C0;
  margin-left: -1px;
  border: 1px solid gray;
  padding: 5px;
}
.agenda-item {
  background-color: white;
  text-align: left;
  margin: 5px;
  padding: 5px;
  border: 1px solid #999;
}
.agenda-item .actions {
  text-align: center;
}
.agenda-item.blurred {
  background-color: rgba(255,192,203,0.5);
}
.agenda-item.small a {
  display: block;
  padding: 0;
}
.agenda-item.small.reserved {
  background: url(/images/bg_oblique_grayed.png) repeat;
  font-weight: bold;
}
.agenda-item.small.reserved .actions {
  background: white;
}
.agenda-item.small.future {
  cursor: pointer;
}
.agenda-item.small.available {
  background-color: #FFF000;
}
.agenda-item.small.booked {
  background-color: lightyellow;
  font-size: 8pt;
}
.agenda-item.small.reserved {
  background-color: #C6E5F9;
  font-size: 8pt;
}
.agenda-item.small.pending {
  background-color: #ffdfe5;
  font-size: 8pt;
}
.agenda-item.small.pending_out {
  background-color: purple;
  font-size: 8pt;
}
.agenda-item.small.tentative {
  background-color: orange;
  font-size: 8pt;
}
table.appointments-list {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid gray;
}
table.appointments-list th,
table.appointments-list td {
  padding: 10px;
  border-bottom: 1px solid gray;
}
table.appointments-list th {
  text-align: center;
  background-color: gray;
  color: white;
}
table.appointments-list td {
  background-color: #eee;
}
table.appointments-list td.data {
  padding: 5px;
}
table.appointments-list td.data a {
  padding: 5px;
  text-align: left;
  font-weight: normal;
  text-decoration: none;
  line-height: 1.2em;
  font-size: normal;
  cursor: pointer;
}
table.appointments-list td.data a:hover {
  background: gray;
  color: white;
}
table.appointments-list a {
  white-space: normal;
  display: block;
  padding: 0;
  text-align: center;
}
table.appointments-list td.date a {
  color: #e58525;
}
table.appointments-list td.date a:hover {
  color: white;
}
.pending-appointments table.appointments-list th {
  background-color: #e58a2b;
}
.pending-appointments table.appointments-list td {
  background-color: #FFE2B6;
}
.pending-appointments table.appointments-list td.data a:hover {
  background: #e58525;
  color: white;
}
.future-appointments table.appointments-list tr td {
  background-color: #FFE2B6;
}
.future-appointments table.appointments-list tr td.data a:hover {
  background: #e58525;
}
.future-appointments table.appointments-list tr.confirmed td {
  background-color: #eee;
}
.future-appointments table.appointments-list tr.confirmed td.data a:hover {
  background: gray;
}
.agenda-item.appointment {
  margin: 0;
}
.agenda-item.appointment table {
  width: 100%;
  color: #222;
}
.agenda-item.appointment table td {
  line-height: 1.5em;
}
.agenda-item.appointment table td:first-child {
  width: 100px;
  text-align: right;
  vertical-align: top;
  font-weight: bold;
  color: #333;
}
.agenda-item.appointment table td:last-child {
  padding-left: 5px;
}
.agenda-item.appointment p.success {
  color: green;
  font-style: italic;
  margin: 0;
  padding: 5px;
}
.agenda-item.appointment p.warning {
  color: red;
  font-style: italic;
  margin: 0;
}
.appointment-container {
  margin: 0 auto;
  width: 400px;
}
.month-view div.calendar_table table {
  border-collapse: collapse;
}
textarea[name=done_item_description] {
  height: 160px;
  resize: vertical;
}
.next-appointment {
  margin: 2em auto;
  width: 600px;
  text-align: left;
}
.schedule-next-appointment {
  background: #fece5a;
  padding: 1em;
  margin: 2em auto;
  width: 600px;
  text-align: left;
}
.schedule-next-appointment label {
  position: relative;
  display: block;
  line-height: 24px;
  cursor: pointer;
  padding-left: 24px;
}
.schedule-next-appointment label input {
  position: absolute;
  left: 0;
  top: 1px;
}
.schedule-next-appointment label > * {
  vertical-align: baseline;
}
.schedule-next-appointment label:hover {
  background: #ffba14;
}
.alerts {
  margin-top: 10px;
}
.alert {
  background: #aad9f2;
  margin: 0 15px 15px 15px;
  z-index: 2;
}
.alert form {
  padding: 10px 0;
  margin: 0 auto;
}
.alert .message {
  *float: left !important;
  padding: 5px 0;
}
.alert .buttonClose {
  cursor: pointer;
  float: right;
}
.alert a.buttonYesNo {
  cursor: pointer;
  padding: 8px;
  background: #eee;
  margin: 2px;
  border-radius: 2px;
  text-decoration: none;
  display: inline-block;
  width: 35px;
  text-align: center;
}
.alert a.buttonYesNo:hover {
  background: #ddd;
}
.alert .option {
  float: right;
  margin: 5px 5px 0 0;
  display: inline-block;
  width: 135px;
  min-width: 125px;
}
.alert .option label {
  margin: 0;
  font-size: x-small;
}
.alert .option label .tips {
  float: right;
  margin: 3px;
  width: 92px;
}
.alert .option label input {
  margin-top: 5px;
  float: right;
}
.alert.help {
  background-color: rgba(255,0,0,0.1);
  border: 1px solid rgba(255,0,0,0.3);
  padding: 15px 15px 15px 45px;
}
.alert.information {
  background: #BCDBEB url("/images/icons/alert_information.png") no-repeat scroll 10px 50%;
  border: 1px solid #11ACFF;
  padding: 15px 15px 15px 45px;
}
.alert.success {
  background: #bfebb1 url(/images/icons/alert_success.png) no-repeat 10px 50%;
  border: 1px solid #50993a;
  padding: 10px 15px 10px 45px;
}
.alert.warning {
  background: #f9d352 url(/images/icons/alert_warning.png) no-repeat 10px 50%;
  border: 1px solid #a28424;
  padding: 15px 15px 15px 45px;
}
.alert.error {
  background: #f6977a url(/images/icons/alert_error.png) no-repeat 10px 50%;
  border: 1px solid #a1523c;
  padding: 15px 15px 15px 45px;
}
.alert.notification {
  background: #EBEBEB url(/images/icons/alert_notification.png) no-repeat 10px 50%;
  border: 1px solid #999;
  padding: 15px 15px 15px 45px;
}
.question-answer {
  clear: both;
}
.question-answer .question {
  color: #333333;
  display: block;
  font-size: 16px;
  font-weight: normal;
  line-height: 26px;
  word-spacing: 1px;
  padding: 10px 11px 10px 31px;
  text-decoration: none;
  background: white url(/images/icons/tree_plus2.png) 10px 15px no-repeat;
  cursor: pointer;
}
.question-answer .question:hover {
  color: ;
}
.question-answer .question.open,
.question-answer .question:hover {
  background-color: #f9d352;
}
.question-answer .question.open {
  background: #f9d352 url(/images/icons/tree_minus2.png) 10px 15px no-repeat;
}
.question-answer .answer {
  background: #f2f2f2;
  font-weight: normal;
  padding: 10px 21px;
  margin-bottom: 20px;
}
.question-answer .answer li,
.question-answer .answer a,
.question-answer .answer strong,
.question-answer .answer p {
  line-height: 23px;
}
div.item.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.bottom-spaced {
  margin-bottom: 40px;
}
.agenda-item.coursdete {
  background: #D3EDEA;
}
.agenda-item.orthopedagogie {
  background: #B7E6B5;
}
