html { overflow-y: scroll }

body {
  background-color: #F8F8F8;
  font-family: Helvetica, Arial, sans-serif;
  color: #444444;
}

.i18n-fail { color: red !important; }

.toggleLanguage { float: right; text-decoration: underline; text-transform: uppercase; color: #F8F8F8; cursor: pointer; font-size: 12px; }
#login .toggleLanguage { color: #00BB88; }

.pika-single { width: 248px; }

.hide { display: none !important; }
.hidden { display: none; }

.clickable { cursor: pointer; }
.float-right { float: right; }

.align-top { vertical-align: top; }

label.half { width: 50%; box-sizing: border-box; }

p.help { font-size: 15px; margin: 3px 0; }

.clearfix:after { content:''; display:table; clear:both; }
.dialog { border-radius: 5px; border: 5px solid #00BB88; background-color: #f8f8f8; box-shadow: 0 2px 2px 0 rgba(0,0,0,0.10); padding: 20px 40px 20px 40px; max-width: 700px; }
.dialog .buttons { display: -webkit-flex; display: flex; width: 100%; -webkit-justify-content: space-around; justify-content: space-around; margin-top: 15px; }
.dialog h4 { margin: 20px 0 5px 0; }

#reset-password > div { margin: 0 auto; width: 350px; padding: 20px; }

#login-overlay, #error-overlay, #conflict-overlay { z-index: 2; }
#login, #error-dialog, #conflict-dialog { z-index: 3; display: none; position: fixed; top:0;bottom:0;left:0;right:0; box-sizing: border-box; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
#login > div, #error-dialog > div, #conflict-dialog > div { background-color: #f8f8f8; width: 350px; padding: 20px; border-radius: 5px; border: 5px solid #00BB88; text-align: center; line-height: 20px; }
#login label, #reset-password label { text-align: left; font-weight: normal; }
#login input, #reset-password input { width: 330px; font-weight: normal; margin: 10px 0; }
#login input.invalid, #reset-password input.invalid { background-color: #fff; }
#login button, #reset-password button { margin-top: 10px; }
#login .feedback, #reset-password .feedback { display: none; font-size: 14px; font-weight: 200; padding: 10px 0; }
#error-dialog a, #conflict-dialog a, #dialog a { color: #00BB88; }
.revision-mismatch-dialog { text-align: center; }

.training-ribbon, .development-ribbon { display: none; position: fixed; left: -50px; top: 40px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); background-color: #a00; z-index: 10; }
.development-ribbon { background-color: #aa0; }
.training-ribbon span, .development-ribbon span {
  border: 1px solid #faa;
  color: #fff;
  display: block;
  font: bold 16px Helvetica, Arial, sans-serif;
  margin: 1px 0;
  padding: 10px 50px;
}

#register-provider-page #header .content { width: 600px; margin: 0 auto; }
#register-provider-page form { width: 600px; margin: 0 auto; }
#register-provider-page .feedback { padding: 10px; }
#register-provider-page textarea { width: 550px; height: 60px; }
#register-provider-page a { color: #00BB88; }
#register-provider-page input[type=file] { padding-left: 7px; }

.classification-criteria .category, [draggable] {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  -khtml-user-drag: element;
  -webkit-user-drag: element;
}

#templates { display: none; }

.button {
  border-radius: 3px;
  background: -o-linear-gradient(-90deg, #00BB88 0%, #00AA77 100%);
  background: -moz-linear-gradient(-90deg, #00BB88 0%, #00AA77 100%);
  background: -ms-linear-gradient(-90deg, #00BB88 0%, #00AA77 100%);
  background: linear-gradient(-180deg, #00BB88 0%, #00AA77 100%);
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.20);
  border: 0;
  padding: 10px 20px;
  color: #fff;
}
a.button { text-decoration: none; }

.button:hover { border-radius: 3px; background: #00BB88; box-shadow: 0 2px 2px 0 rgba(0,0,0,0.20); }

.button:active { border-radius: 3px; background: #009966; box-shadow: 0 2px 2px 0 rgba(0,0,0,0.20); }

.button:focus { outline: none; }

.button[disabled], .button.disabled { color: gray; cursor: not-allowed; }

ol { list-style-type: none; margin: 0; }
.fields ol { list-style-type: decimal; margin: 10px;}

textarea { resize: vertical; }

.detail-box { display: none; background: #fff; padding: 20px 40px 50px 40px; font-size: 14px; color: #777; box-shadow: 0 5px 5px 0 rgba(0,0,0,.10); position: relative; line-height: 19px; }
.detail-box .column { display:inline-block; width: 266px; vertical-align:top; margin-right: 10px; }
.detail-box.detail-box-visible { display: block; padding-bottom: 20px; }
.filters { font-size: 14px; color: #444444; }
.filters label { padding-right: 12px; font-weight: normal; min-width: 135px; }
.filters input { margin-right: 7px; margin-bottom: 10px; }
#provider-page .filters label { min-width: 220px; }

.warning-summary { display: inline-block; }
.warning-summary img { width: 40px; height: 40px;}
.warning-summary .warnings .warning.sex { background-image: url('images/sex.png'); }
.warning-summary .warnings .warning.fear { background-image: url('images/fear.png'); }
.warning-summary .warnings .warning.drugs { background-image: url('images/drugs.png'); }
.warning-summary .warnings .warning.violence { background-image: url('images/violence.png'); }
.warning-summary .warnings { display: inline-block; }
.warning-summary .warnings .warning { display: inline-block; background: transparent no-repeat; background-size: 40px; width: 40px; height: 40px; }

.fa-spinner { display: none; }
.fa-spinner.active { display: inherit; }

#dialog {
  display: none;
  position: fixed;
  left: 0; right: 0; top: 0; bottom: 0;
  -webkit-align-items: center; -webkit-justify-content: center;
  align-items: center; justify-content: center;
  z-index: 1000;
}
#overlay, #login-overlay, #error-overlay, #conflict-overlay { display: none; position: fixed; top:0; bottom:0; left:0; right:0; background: #222; opacity: 0.6; }

/* layout */
#header {
  background: -o-linear-gradient(-180deg, #333 0%, #444 100%);
  background: -moz-linear-gradient(-180deg, #333 0%, #444 100%);
  background: -ms-linear-gradient(-180deg, #333 0%, #444 100%);
  background: linear-gradient(-180deg, #333 0%, #444 100%);
  border-bottom: solid 5px #00AA77;
}

#header .navi { display: none; }
#header .content { padding: 15px 0 0 0; }
#header .center { text-align: center; }

#header h1 { margin-bottom: 30px; font-size: 22px; display: inline-block; }
#header ul { list-style: none; padding: 0; margin: 0;}
#header ul li { display: inline-block; margin-right: 10px; }
#header ul li:last-of-type { margin-right: 0px; }
#header ul li a {
  display: block;
  background-color: black;
  padding: 20px 0;
  width: 144px;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  color: #00BB88;
  font-weight: bold;
  border-radius: 3px 3px 0 0;
  background: -o-linear-gradient(-180deg, #555 70%, #484848 100%);
  background: -moz-linear-gradient(-180deg, #555 70%, #484848 100%);
  background: -ms-linear-gradient(-180deg, #555 70%, #484848 100%);
  background: linear-gradient(-180deg, #555 70%, #484848 100%);
}
#header ul li a.active {
  background: -o-linear-gradient(-90deg, #00BB88 0%, #00AA77 100%);
  background: -moz-linear-gradient(-90deg, #00BB88 0%, #00AA77 100%);
  background: -ms-linear-gradient(-90deg, #00BB88 0%, #00AA77 100%);
  background: linear-gradient(-180deg, #00BB88 0%, #00AA77 100%);
  color: #fff;
}
#header .user-info { color: #66665d; font-size: 14px; float: right; margin: 18px 20px 0 0; line-height: 30px; }
#header .user-info .name { color: #fff; font-weight: bold; }
#header .user-info .username { color: #fff; padding-right: 8px; }
#header .user-info a { color: #00BB88; padding-left: 8px; }
#header .logo-area {display: flex; margin-top: 20px; height: 85px; width: 100%;}
#header .kavi-logo {cursor: pointer; display: flex; width: 100px; background-image: url('images/kavi_logo.png'); background-repeat: no-repeat;}
#header .page-title {display: flex; width: 100%; min-width:0; padding-left: 20px;}
#header .content .links-area {display: flex; float: right; width: 49%; margin-top: 65px; flex-wrap: wrap; }
#header .content .links-area .links-anchor {color: #F8F8F8; cursor: pointer; font-size: 14px; width: 140px; min-width: 0; text-align: right; }

.row { border-bottom: 1px solid #D3D3D3; width: 100%; float: left; margin: 0; padding: 70px 0 80px 0; }
.content { width: 940px; margin: 0 auto; }

h1 { font-size: 24px; color: #00BB88; line-height: 30px; }
h2 { font-size: 24px; color: #00BB88; line-height: 30px; }
h3 { font-size: 20px; color: #00BB88; line-height: 24px; }
h4 { font-size: 16px; color: #444444; line-height: 24px; }
h5 { font-size: 14px; color: #444444; line-height: 19px; }

h2.main { margin: 0 0 40px 0; padding: 0 0 40px 0; border-bottom: 5px solid #DDDDDD; font-size: 26px; }
h3.main { margin: 0 0 20px 0; padding: 0 0 15px 0; border-bottom: 5px solid #DDDDDD; }

.left { float: left; width: 50%; }
.right { float: right; width: 50%; }

.box { border: 1px solid #D3D3D3; border-radius: 2px; padding: 20px; }

.page { display: none; width: 940px; margin: 70px auto; }

.controls { border-bottom: 1px solid #d3d3d3; margin-bottom: 0px; padding-bottom: 30px; }

.result, .location-row { border-bottom: 2px solid #e8e8e8; font-size: 14px; color: #444444; cursor: pointer; padding: 10px 0; }
.result.inactive, .location-row.inactive { color: #afafaf; }

.search-label { display: block; padding: 0 0 20px 0; width: 350px; }
input.query { width: 350px; }
button.search { margin-left: 15px; }
label.top { vertical-align: top; }

#search-page .result_header {
  padding: 10px 10px;
  background: #444444;
  color: #00BB88;
  border-radius: 3px;
  height: 15px;
}
.sticky {
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
}

#search-page .searchResultSortCols { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; width: 100%;}
#search-page .searchResultSortCols .col_name { width: 85%; min-width: 100px; max-width: 650px; font-size: 14px; white-space: nowrap; text-overflow: ellipsis;}
#search-page .searchResultSortCols .col_duration { font-size: 14px; padding: 0 20px 0 10px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; min-width: 100px; text-align: right;}
#search-page .searchResultSortCols .col_type { flex: 0 0 auto; font-size: 14px; text-align: left; padding: 0 10px 0 0px; min-width: 120px; }
#search-page .searchResultSortCols .col_agelimit { flex: 0 0 auto; font-size: 14px; padding: 0 0px 0 0px; text-align: right; float: right; width: 10%; min-width: 100px;}
#search-page .searchResultSortCols label {color: #00BB88; font-weight: normal;}
#search-page .searchResultSortCols .ascending label {color: white;}
#search-page .searchResultSortCols .descending label {color: white;}
#search-page .searchResultSortCols .ascending i {color: white;}
#search-page .searchResultSortCols .descending i {color: white;}

#search-page .row { border-bottom: none; padding-bottom: 0; }
#search-page .content { border-bottom: 1px solid #D3D3D3; padding: 0 0 20px 0; }
#search-page input.query { width: 373px; }
#search-page .datepicker { min-width: 253px; }
#search-page .public-query-filters > div { margin-top: 10px; min-height: 50px; }
#search-page .public-query-filters label, #search-page .kavi-query-filters label { display: inline-block; vertical-align: top; margin-top: 10px; margin-right: 20px; }
#search-page .kavi-query-filters label.grey { color: #d3d3d3; }
#search-page .kavi-query-filters .reclassified input { margin: 0 5px 0 20px; }
#search-page .public-query-filters .clear-date-picker {
  display: none; cursor: pointer;
  width: 12px; height: 12px; font-size: 1px; text-decoration: none; border: 0;
  background: url('vendor/select2-3.4.6/select2.png') right top no-repeat;
}
#search-page .filterbutton { padding: 2px 2px 0px 2px; opacity: 0.5; background-color: #f4f4f4; border: 1px solid #D3D3D3; border-radius: 2px; outline: none; }
#search-page .filterbutton.active { opacity: 1; }
#search-page .filterbutton img { width: 25px; height: 25px; }
#search-page .pad { margin-left: 12px; }
#search-page .program-count { text-align: right; }
#search-page .program-count span { display: inline-block; font-size: 14px; min-width: 50px; margin-top: 10px; text-align: right; }
#search-page .search-export, #search-page .advanced-search { font-size: 12px; color: #444444; font-weight: normal; margin-bottom: 30px; }
#search-page .advanced-search { cursor: pointer; display: none; }

#search-page .user-query-filters input[type=checkbox] { margin-right: 7px; margin-bottom: 10px; }
#search-page .user-query-filters label { font-size: 14px; color: #444444; font-weight: normal; }

#search-page .recent { margin-bottom: 40px; }
#search-page .drafts h3, #search-page .recent h3 { margin-bottom: 10px; }
#search-page .extra > div { margin-bottom: 40px; }
#search-page .drafts .draft,
#search-page .recent .result { text-decoration: none; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin: 0; padding: 8px 0; }
#search-page .drafts .draft .creationDate,
#search-page .recent .registrationDate { width: 140px; }
#search-page .drafts .draft .name,
#search-page .recent .result .name { font-weight: bold; flex-shrink: 800; padding: 0 14px; margin-right: auto; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
#search-page .drafts .draft .remove { flex: 0 0 auto; text-align: right; width: 95px; }

#search-page .recent .result .duration-or-game { flex: 0 0 auto; text-align: right; padding: 0 20px 0 10px; }
#search-page .recent .result .program-type { flex: 0 0 auto; font-size: 12px; width: 100px; }
#search-page .recent .result .classification { flex: 0 0 auto; width: 140px; text-align: right; }

#search-page .new-classification { float: right; }
#search-page .new-classification label { display: block; padding: 0 0 20px 0; }
#search-page .new-classification button { margin-left: 15px; }
#search-page .new-classification .select2-container { width: 180px; margin-bottom: 0; }
#search-page .new-classification input { width: auto; }
#search-page .no-results, #search-page .no-more-results, #search-page .loading { display: none; width: 100%; margin: 20px auto 80px; font-size: 14px; text-align: center; padding: 10px 0; font-weight: 100; background-color: #fff; }
#search-page .loading { margin-bottom: 2000px; }
#search-page .result .series { color: #bbb; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#search-page .result .items { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
#search-page .result .items > span:nth-child(1) { min-width: 0px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: bold; }
#search-page .result .items > span:nth-child(2) { flex-shrink: 800; padding: 0 14px; margin-right: auto; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
#search-page .result .items > span:nth-child(3) { flex: 0 0 auto; text-align: right; padding: 0 20px 0 10px; }
#search-page .result .items > span:nth-child(4) { flex: 0 0 auto; font-size: 12px; width: 100px; }
#search-page .result .items > span:nth-child(5) { flex: 0 0 auto; text-align: right; width: 140px; }
#search-page .result .agelimit, #search-page .result .warning { vertical-align: middle; margin-right: 3px; width: 25px; height: 25px; background-size: 25px; }
#search-page .result .vet { width: 0px; height: 0px; }
#search-page .result.selected { border-bottom: none; }
#search-page .highlight { color: #00BB88; }

.program-box .header { border-bottom: 4px solid #efefef; margin: 15px 0; padding-bottom: 20px; }
.program-box .warning-summary { vertical-align: middle; }
.program-box .agelimit, .program-box .warning { margin-right: 8px; }
.program-box .classifications { display: inline-block; font-size: 14px; white-space: nowrap; }
.program-box .classifications span { display: block; }
.program-box .classifications a { color: #4499FF; }
.program-box h2 { color: #444; margin: 0; padding: 0 15px 0 0; font-size: 20px; line-height: 36px; }
.program-box h3 { font-weight: 100; border-bottom: 1px solid #d8d8d8; padding-bottom: 10px; margin-bottom: 8px; }
.program-box label { display: block; padding: 19px 0 0 0; width: auto; }
.program-box .criteria label { text-transform: capitalize; }
.program-box .buttons { float: right; }
.program-box .buttons button, .program-box .buttons a, .program-box .classification-buttons button { display: none }
.program-box .buttons button.categorize { display: none; }
.program-box .sequenceId { position: absolute; bottom: 5px; right: 5px; color: #d8d8d8; }
.program-box .classification { color: #49f; cursor: pointer; text-decoration: underline; }
.program-box .classification.selected { color: #0b8; text-decoration: none; cursor: default; }
.program-box .classification .fa-play { margin-right: 5px; visibility: hidden; }
.program-box .classification.selected .fa-play { visibility: visible; }
.program-box .classification { line-height: 19px; }
.program-box .classification-buttons { margin: 10px 0 5px 0; }
.program-box .criteria label { border-bottom: 1px dotted; cursor: help; display: inline-block; }
.program-box .criteria p { margin: 0; }

.program-box .drafts div { margin: 3px 0; padding: 7px 11px; display: inline-block; background-color: #00BB88; color: #fff; border-radius: 7px; }
.program-box .categorization-form { display: none; }
.program-box .categorization-form label { padding-bottom: 4px; }
.program-box .categorization-form button.save-category { float: right; margin-top: 40px; }
.program-box .categorization-form .category-select-container { display: inline-block; vertical-align: top; }
.program-box .categorization-form .category-select-container .select2-container { width: 222px; margin-bottom: 15px; }
.program-box .categorization-form .categorization-form-tv-episode { display: inline-block; }
.program-box .categorization-form .categorization-form-tv-episode > div { margin-left: 5px; display: inline-block; vertical-align: top; }
.program-box .categorization-form .categorization-form-tv-new-series { display: none; }
.program-box .categorization-form .categorization-form-tv-new-series > div { display: inline-block; vertical-align: top; }
.program-box .categorization-form .categorization-form-tv-new-series input { width: 190px; }
.program-box .categorization-form input[type=number] { width: 80px; display: inline-block; }

.program-box .episode-container > h3 { cursor: pointer; border-bottom: none; }
.program-box .episode-container > h3.disabled { cursor: default; }
.program-box .episode-container > h3 .spinner span { background-color: #00BB88; }
.program-box .episode-container > h3 .fa-play { margin-right: 5px; -webkit-transition: .3s linear; -moz-transition: .3s linear; -o-transition: .3s linear; transition: .3s linear; }
.program-box .episode-container > h3.open .fa-play { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }
.program-box .episode-container .episodes { display: none; }
.program-box .episode-container .program-box { margin: 0 -40px; box-shadow: 0px 0 5px 2px rgba(0,0,0,.10); }
.program-box .episodes .result .agelimit, .program-box .episodes .result .warning { vertical-align: middle; margin-right: 3px; width: 25px; height: 25px; background-size: 25px; }
.program-box .episodes .result { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.program-box .episodes .result > span:nth-child(1) { min-width: 50px; font-size: 13px; padding-right: 12px; color: #bbb; }
.program-box .episodes .result > span:nth-child(2) { flex-shrink: 800; font-weight: bold; padding: 0 14px 0 0; margin-right: auto; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.program-box .episodes .result > span:nth-child(3) { flex: 0 0 auto; text-align: right; padding: 0 20px 0 10px; font-size: 13px; }
.program-box .episodes .result > span:nth-child(4) { flex: 0 0 auto; text-align: right; width: 140px; margin-right: 0; }
.program-box .episodes .season-header { border-bottom: 2px solid #e8e8e8; padding: 10px 0;  cursor: default; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.program-box .episodes .season-header > span:nth-child(1) { flex-shrink: 800; margin-right: auto; font-size: 13px; color: #bbb; }
.program-box .episodes .season-header > span:nth-child(2) { flex: 0 0 auto; text-align: right; width: 140px; margin-right: 0; }
.program-box .episodes .season-header .agelimit, .program-box .episodes .season-header .warning {
  vertical-align: middle;
  margin-right: 3px;
  width: 25px;
  height: 25px;
  background-size: 25px;
}

.program-box .basic-information {
  display: inline-block;
  margin-right: 24px;
}

.program-details-form input[type=text],
.program-details-form input[type=number] {
  width: 280px;
}
.program-details-form .back-to-search { margin-top: -40px; color: #00BB88; float: left; }
.program-details-form .back-to-search i { padding-right: 7px; }
.program-details-form .program-info button[name=save] { display: none; float: right; }

.form select {width: 300px;}
.form textarea { width: 280px; height: 130px; }
.form input:disabled, .form textarea:disabled { background-color: #f4f4f4; cursor: not-allowed; }

.program-details-form .textified-field { display: inline-block; line-height: 30px; width: 300px; margin: 5px 0 18px 0; }

input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
input[type=search],
textarea,
.select2-container-multi .select2-choices,
.select2-container .select2-choice {
  border-radius: 3px;
  background: #fff;
  border: 1px solid #D3D3D3;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.10);
  font-size: 14px;
  color: #666666;
  line-height: 19px;
}

input[type=text]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=search]:focus,
textarea:focus,
.select2-container-active .select2-choices,
.select2-container-active .select2-choice {
  outline: none;
  border: 1px solid #44AAFF;
  box-shadow: 0 0 5px 0 rgba(67,169,255,0.50), 0 2px 2px 0 rgba(0,0,0,0.10);
}

input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
input[type=search],
textarea,
.select2-container-multi .select2-choices .select2-search-field input {
  padding: 8px 10px !important;
}

.select2-container-multi .select2-choices .select2-search-choice {
  padding: 6px 8px 6px 18px;
  border: 0;
  background: #eee none;
  color: #666666;
  margin: 4px 0 3px 5px;
  line-height: 14px;
}

.select2-container-multi .select2-choices .select2-search-choice.select2-locked {
  padding: 6px 8px 6px 8px !important;
}

.select2-container-multi .select2-search-choice-close {
  top: 6px;
  left: 5px;
}

.select2-container-multi .select2-choices .select2-search-field input {
  margin: 0;
  padding: 0;
  line-height: 19px;
}

input, select, .select2-container, textarea {
  margin: 0 0 15px 0;
}

.select2-container .select2-choice {
  height: 35px;
  line-height: 35px;
}

label, input {
  display: inline-block;
  vertical-align: baseline;
}

label {
  font-weight: bold;
  font-size: 14px;
  color: #444444;
}

.select2-container { width: 302px; }

.select2-container.select2-dropdown-open .select2-choice,
.select2-container.select2-dropdown-open .select2-choices,
.select2-container.select2-dropdown-open.invalid .select2-choices,
.select2-container.select2-dropdown-open.invalid .select2-choice {
  background: #fff;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
}
.select2-container.select2-dropdown-open.select2-drop-above .select2-choice,
.select2-container.select2-dropdown-open.select2-drop-above .select2-choices {
  border-radius: 0 0 3px 3px;
}

.select2-drop-active.required { border: 1px solid #00BB88; border-top: none; }
.select2-drop.select2-drop-above.select2-drop-active.required { border-top: 1px solid #00BB88; border-bottom: none; }

.select2-results .grey { color: #d3d3d3; }
.select2-results .space-below { margin-bottom: 10px; }
.select2-choice .grey, .select2-search-choice .grey { color: #bbb; }

input[type=text].required,
input[type=number].required,
textarea.required,
input:required,
.select2-container.required .select2-choices,
.select2-container.required .select2-choice {
  border: 1px solid #00BB88;
}

input[type=text].invalid,
input[type=number].invalid,
input[type=number]:invalid,
textarea.invalid,
input:invalid:not(.pending),
.select2-container.invalid .select2-choices,
.select2-container.invalid .select2-choice {
  background: #D8FFCE;
}

input[type=text].invalid.touched,
input[type=number].invalid.touched,
input[type=number]:invalid,
input:required:invalid.touched:not(.pending),
textarea.invalid.touched,
.select2-container.invalid.touched .select2-choices,
.select2-container.invalid.touched .select2-choice {
  background: #FFDCDC;
}

.select2-container.select2-container-disabled.invalid .select2-choice {
  background-color: #f4f4f4;
}

input[type=text].invalid:disabled,
input[type=number].invalid:disabled,
textarea.invalid:disabled,
.select2-container-disabled.invalid .select2-choices,
.select2-container-disabled.invalid .select2-choice {
  background: #fff0f0;
}

.program-details-form .new-program { margin-top: 10px }

.program-details-form textarea { transition: height 0.2s; -webkit-transition: height 0.2s; }
.program-details-form label { width: 145px; text-align: right; padding: 0 20px 0 0;  }
.program-details-form .select2-label { vertical-align: super; }
.program-details-form .select2-multiline-label { vertical-align: inherit; }
.program-details-form .text-area-label { vertical-align: top; padding-top: 10px; }
.program-details-form .program-box label { width: auto; text-align: inherit; padding: 19px 0 0 0; }

.program-details-form input.duration { margin-bottom: 3px }
.program-details-form .field-hint { float:right; font-size: 75%; padding-right: 8px; }
.program-details-form .private-comments textarea { margin-bottom: 3px; }
.program-details-form .private-comments .field-hint { padding-right: 3px; }
.program-details-form .user-comments textarea { margin-bottom: 3px; }
.program-details-form .user-comments .field-hint { padding-right: 3px; }
.program-details-form .season-episode-fields input + label { width: 50px; }
.program-details-form .season-episode-fields input { width: 92px; }
.program-details-form .new-series-fields { display: none; padding-top: 9px; margin-bottom: 32px; border-radius: 4px; background-color: #eeeeee; }

.program-details-form .comments { margin-top: 13px; }
.program-details-form .comments textarea { width: 750px; height: 60px }

.program-details-form .extraName { margin-left: 165px; }
.program-details-form .addExtraName,
.program-details-form .removeExtraName { position:relative; min-width: 22px; padding: 2px 6px 3px; margin: 7px -30px 0 5px; }

.registration-confirmation .name { float: left; line-height: 40px; margin-right: 10px; font-size: 20px; font-weight: bold; }
.registration-confirmation .registration-date { float: left; line-height: 40px; margin: 0 0 0 30px; padding: 0; color: #666; font-size: 14px; }
.registration-confirmation .buttons { clear: both; padding: 34px 0 0 0; margin: 0; text-align: right; }
.registration-confirmation .warning-summary { float: left; }
.registration-confirmation .warning-summary img, .registration-confirmation .warning-summary .warning {
  margin-right: 10px;
}

.classification-criteria .safe-container, .classification-criteria .vet-container { font-weight: normal; font-size: 16px; color: #444444; }
.classification-criteria .safe-container span, .classification-criteria .vet-container span { cursor: pointer; }
.classification-criteria .safe-container input, .classification-criteria .vet-container input { margin: 0 7px 0 0; vertical-align: text-top; }

.classification-criteria .warning-order { float: right; width: 580px; margin-top: -15px; }
.classification-criteria .warning-order img { margin: 20px 0; }
.classification-criteria .warning-order .warnings .warning { cursor: move; transition: width 0.3s; margin: 20px 0; }
.classification-criteria .warning-order .warnings .warning.dragging { opacity: 0.3; }
.classification-criteria .warning-order .warnings .warning.dragging, .classification-criteria .warning-order .warnings .drop-target.dragging { width: 0; opacity: 0; }
.classification-criteria .warning-order .warnings .drop-target { display: inline-block; width: 25px; height: 80px; transition: width 0.3s; }
.classification-criteria .warning-order .warnings .drop-target.active { width: 90px; }
/* .classification-criteria .warning-order .warnings .drop-target { background-color: rgba(81, 203, 238, 0.5) } */

.classification-criteria .category {
  width: 300px;
  float: left;
  margin-right: 15px;
}

.hearing-requests-dialog-styling {
  display: flex;
  flex-direction: column;
}

.hearing-requests-dialog-styling div > label {
  width: 200px;
  padding: 0 10px 20px 0;
}

.classification-criteria .category .heading {
  outline: 1px solid #D3D3D3;
  background-color: #fff;
  padding: 0 0 0 70px;
  height: 70px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.10);
  background-position: 15px 15px;
  background-repeat: no-repeat;
  background-size: 40px 40px;
}

.classification-criteria .category .heading h3 { margin: 24px 0; }
.classification-criteria .category.violence .heading h3 { color: #AA0050; }
.classification-criteria .category.fear .heading h3 { color: #44AAFF;}
.classification-criteria .category.sex .heading h3 { color: #FF77AA;}
.classification-criteria .category.drugs .heading h3 { color: #33BB33;}
.classification-criteria .category.vet .heading h3 { color: #bbbbbb;}

.classification-criteria .category.violence .heading {
  border-top: 5px solid #AA0050;
  background-image: url('images/violence.png');
}

.classification-criteria .category.fear .heading {
  border-top: 5px solid #44AAFF;
  background-image: url('images/fear.png');
}

.classification-criteria .category.sex .heading {
  border-top: 5px solid #FF77AA;
  background-image: url('images/sex.png');
}

.classification-criteria .category.drugs .heading {
  margin-top: 15px;
  border-top: 5px solid #33BB33;
  background-image: url('images/drugs.png');
}

.classification-criteria .category.vet .heading {
  margin-top: 15px;
  border-top: 5px solid #bbbbbb;
}

.classification-criteria .category .criteria {
  background-color: #fff;
  padding: 15px 20px 15px 70px;
  margin-top: 15px;
  border: 1px solid #D3D3D3;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.10);
  overflow: auto;
}

.classification-criteria .category .criteria:hover {
  cursor: pointer;
  border: 1px solid #44AAFF;
  box-shadow: 0 0 5px 0 rgba(67,169,255,0.50), 0 2px 2px 0 rgba(0,0,0,0.10);
}

.classification-criteria .category .criteria.selected {
  color: #ffffff;
  background: #777777;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.20);
  border: 1px solid #777777;
}

.classification-criteria .category .criteria h5 {
  margin: 0 0 10px 0;
}

.classification-criteria .category .criteria h5 span {
  color: #777;
  font-weight: normal;
}

.classification-criteria .category .criteria p {
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 12px;
  font-weight: Normal;
  color: #666666;
  line-height: 17px;
  white-space: pre-line;
}

.classification-criteria .category .criteria.selected p,
.classification-criteria .category .criteria.selected h5,
.classification-criteria .category .criteria.selected h5 span {
  color: #fff;
}

.classification-criteria .instructions-section h6 {
  margin: 0 0 0.5em 0;
}

.classification-criteria .category .criteria textarea {
  display: none;
  border: 1px solid #666666;
  border-radius: 0;
}
.classification-criteria .category .criteria.has-comment textarea,
.classification-criteria .category .criteria.selected textarea {
  display: block;
}

.classification-criteria .category .criteria.agelimit {
  background-position: 15px 15px;
  background-repeat: no-repeat;
  background-size: 40px 40px;
}

.classification-criteria .category .criteria.agelimit-18 { background-image: url('images/agelimit-18.png'); }
.classification-criteria .category .criteria.agelimit-16 { background-image: url('images/agelimit-16.png'); }
.classification-criteria .category .criteria.agelimit-12 { background-image: url('images/agelimit-12.png'); }
.classification-criteria .category .criteria.agelimit-7 { background-image: url('images/agelimit-7.png'); }
.classification-criteria .category .criteria.agelimit-0 { background-image: url('images/agelimit-0.png'); }
.classification-criteria .category .criteria.agelimit-t { background-image: url('images/agelimit-t.png'); }

.classification-criteria .category-container .category.sex, .classification-criteria .category-container .category.drugs, .classification-criteria .category-container .category.vet {
  margin-right: 0;
}

.classification-criteria .categories { float:left; margin-right: 30px; }
.classification-criteria .categories li { cursor: pointer; background: transparent no-repeat; background-size: 40px; height: 40px; padding: 10px 0 0 45px; }

.classification-criteria .category-criteria { margin-left: 150px; min-height: 700px; }
.classification-criteria .category-criteria ol { display: none;}
.classification-criteria .category-criteria ol:first-of-type { display: block; }
.classification-criteria .category-criteria li { margin-bottom: 10px; }
.classification-criteria .category-criteria small { margin-left: 65px; display: block; }
.classification-criteria .category-criteria textarea { float: right; }

.classification-email dl, .classification-email .email-preview .body { line-height: 17px; color: #666666; font-family: Helvetica, Arial, sans-serif; font-size: 14px;  }
.classification-email dl { margin: 0; padding: 0 0 10px 0; border-bottom: 1px solid #D3D3D3; }
.classification-email .email-preview pre { white-space: pre-line; }
.classification-email dl dt { display: inline-block; text-align: left; float: left; width: 135px; padding: 0 0 10px 0;}
.classification-email dl dd { padding: 0 0 10px 0; min-height: 18px; }
.classification-email dl dt { font-weight: bold;}
.classification-email dl .recipients { margin-top: 10px; }
.classification-email dl .select2-container { width: 760px; }
.classification-email .email-preview .body a { pointer-events: none; opacity: 0.7; cursor: default; }

.report-classification-list-table .id {font-size: small}
.report-classification-list-table .sequenceId {font-size: small}
.report-classification-list-table .programType {font-size: small}
.report-classification-list-table .date {font-size: smaller}
.report-classification-list-table .author {font-size: small}
.report-classification-list-table .duration {font-size: small}
.report-classification-list-table .type {font-size: small}
.report-classification-list-table .kaviType {font-size: small}
.report-classification-list-table .reason {font-size: small}
.report-classification-list-table .buyer {font-size: small}
.report-classification-list-table .comments {font-size: small}

.select2-dropdown-result-icon { text-align: center; width: 20px; margin-right: 10px; }

#classification-page .register { padding: 25px 0; }
#classification-page .register button { font-size: 25px; width: 100%; }

.datepicker {
  min-width: 230px;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  background-color: #fff;
  padding: 8px 0;
  border: 1px solid #D3D3D3;
  border-radius: 3px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.10);
  font-size: 14px;
  color: #666666;
  line-height: 19px;
  height: 19px;
}
.datepicker span { display: inline-block; margin-right: 5px; margin-left: 10px; }
.datepicker .fa-calendar, .datepicker .clear-date-picker { float: right; margin: 2px 6px 0 0; }

.date-selection { height: 30px; line-height: 30px; margin-bottom: 20px; }
.date-selection .datepicker { margin-left: 15px; }
.date-selection .datepicker i { color: #000; }
.date-selection .datepicker span { display: inline-block; margin-right: 5px; }

#billing-page input[type=checkbox] { margin-right: 5px; }
#billing-page .no-results { display: none; margin-top: 40px; color: #d3d3d3; }
#billing-page .rows input[type=checkbox] { margin: 5px; }
#billing-page h4 { display: inline-block; margin: 0; padding: 0; }
#billing-page table { margin-left: 50px; width: 100%; }
#billing-page table thead th, #billing-page table tbody td { padding: 4px; }
#billing-page table tbody td.type { width: 200px; }
#billing-page table tbody td.name { width: 410px; color: #00BB88; cursor: pointer; }
#billing-page table .duration { text-align: right; }
#billing-page table .registrationDate { text-align: right; }
#billing-page table .price { text-align: right; }
#billing-page table tfoot .total { text-align: right; padding: 4px; }
#billing-page table tfoot .total span { font-weight: bold; }
#billing-page button { display: none; }
#billing-page .program-box-container { padding: 0 0 10px 0; }
#billing-page .deselected td + td { opacity: 0.4; }

#user-management-page .result { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
#user-management-page .result span:nth-child(1) { -webkit-flex-grow: 2; flex-grow: 2; }
#user-management-page .result span:nth-child(2) { width: 200px; }
#user-management-page .result span:nth-child(3) { width: 200px; }
#user-management-page .result span.cert-end { width: 75px; text-align: right; }
#user-management-page .result span.cert-end span.expires-soon { background: #ff9999; padding: 3px; border-radius: 5px; margin-left: -3px; }
#user-management-page .result .name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: bold; }
#user-management-page .user-details label.employers { float: right; margin-right: 34px; }
#user-management-page .controls .select2-container { width: 222px; box-sizing: border-box; }
#user-management-page .controls button { vertical-align: top; }

#user-management-page .user-details button.active-toggle { width: 170px; }
#user-management-page .user-details button.inactive {
  background: linear-gradient(-180deg, #00AA77 0%, #00BB88 100%);
}

#user-management-page .user-details .button-wrapper { text-align: right; }
#user-management-page .user-details button { float: none; }
#user-management-page .user-details .activity { text-align: right; border-bottom: 1px solid #e8e8e8; padding: 0 0 10px 0; margin-bottom: 15px; }
#user-management-page .new-user { width: 340px; }
#user-management-page .new-user button { margin-left: 15px; }

.detail-box .form label { box-sizing: border-box; width: 266px; margin-right: 10px; }
.detail-box .form label.double { width: 547px; box-sizing: border-box; }
.detail-box .form input:not(.select2-input) { margin-top: 4px; box-sizing: border-box; width: 100%; }
.detail-box .form .select2-container { margin-top: 4px; width: 100%; box-sizing: border-box; }
.detail-box .form input[type=checkbox], .detail-box .form input[type=radio] { width: 16px; }
.detail-box .form button { float: right; }
.detail-box .form button[name=remove] { margin-right: 15px; }
.detail-box .form button[name=inactivate] { margin-right: 15px; }
.detail-box .form .fa-spinner { margin-left: -20px; }
.detail-box .form .double-margin { margin-top: 18px; }
.detail-box .form textarea { width: 100%; height: 100px; margin-top: 4px; box-sizing: border-box; }
.detail-box .form input, .detail-box .form textarea, .detail-box .form .select2-container { font-weight: normal; }
.detail-box label.full { width: 830px; }

#subscriber-management-page .result { display: -webkit-flex; display: flex; }
#subscriber-management-page .result span { width: 50%; box-sizing: border-box; }
#subscriber-management-page .filters .result-count label {min-width: 0px; font-weight: bold; padding-right: 0px;}
#subscriber-management-page .result-count { float: right; }
#subscriber-management-page .subscriber-details .emails { float: right; margin-right: 34px; }
#subscriber-management-page .subscriber-details .emails .select2-choices { overflow: auto; }
#subscriber-management-page .subscriber-details .roles label { width: auto; }
#subscriber-management-page .billing-extra { margin: 15px 0; padding: 15px 0; border-top: 1px solid #D3D3D3; border-bottom: 1px solid #D3D3D3; clear: both; }
#subscriber-management-page button[name=new-subscriber] { float: right; }
#subscriber-management-page .apiToken > div { font-weight: normal; }
#subscriber-management-page .apiToken input { width: 500px; margin-right: 20px; }

#provider-page .controls button[name=new-provider] { float: right; }
#provider-page .result-count { float: right; }
#provider-page .controls .k18-label { display: block; cursor: pointer; }
#provider-page .controls .k18-label input { margin-right: 8px; }
#provider-page .select2-float-right { float: right; margin-right: 34px; }
#provider-page .emails .select2-choices { overflow: auto; }
#provider-page .locations { background: #fff; padding: 20px 40px 20px 40px; font-size: 14px; color: #777; box-shadow: 0 5px 5px 0 rgba(0,0,0,.10); position: relative; line-height: 19px; }
#provider-page .locations .location-details { padding: 20px 5px 5px 5px; box-shadow: none; }
#provider-page .location-row { background-color: #F8F8F8; padding: 10px; }
#provider-page .location-row > span { display: inline-block; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; padding-right: 4px; }
#provider-page .location-row > i:nth-child(1) { float: left; }
#provider-page .location-row > span:nth-child(2) { width: 300px; }
#provider-page .location-row > span:nth-child(3) { width: 350px; }
#provider-page .location-row > span:nth-child(4) { width: 80px; }
#provider-page .location-row > span:nth-child(5) { float: right; }
#provider-page .providers-list .result span { display: inline-block; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; padding-right: 5px;}
#provider-page .providers-list .result span:nth-child(1) { width: 400px; }
#provider-page .results .result .date { float: right; }
#provider-page .location-details .emails { margin-right: 24px; }
#provider-page button[name=new-location] { margin-bottom: 10px; }
#provider-page .most-recent { margin-top: 10px; }
#provider-page .most-recent .sent { margin-right: 15px; }
#provider-page .provider-details-container > h4 { margin-top: 0; }

.provider-row { margin: 30px 0; }

#provider-page .billing h3 { cursor: pointer }
#provider-page .billing-content { display: none; }
#provider-page .billing-content .no-results { display: none; color: #d3d3d3; }

#provider-page .yearly-billing { margin-bottom: 30px; }
#provider-page .yearly-billing h3 { cursor: pointer }
#provider-page .yearly-billing-content { display: none; }
#provider-page .yearly-billing-kieku-form { display: inline-block; }

#provider-page .statistics h3 { cursor: pointer; }
#provider-statistics-content { display: none; font-size: 14px; margin-bottom: 20px; }
#provider-statistics-content .first { font-weight: bold; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }
#provider-statistics-content .last { border-top: 1px solid #ddd; }
#provider-statistics-content thead td { color: #00BB88; }
#provider-statistics-content td { padding: 5px 10px; text-align: right; min-width: 120px; }
#provider-statistics-content td:nth-child(2) { border-left: 1px solid #ddd; border-right: 1px solid #ddd; }

#provider-page .provider-details .save button { float: none; }
#provider-page .buttons { height: 40px; margin-bottom: 20px; }
#provider-page .activity { float: left; }
#provider-page .activity .iit-container { width: 210px; margin: 0; }

#provider-page .activity .iit-container .iit-on-label,
#provider-page .activity .iit-container .iit-off-label { width: 105px; }
#provider-page .activity .iit-container .iit-slider { width: 100px; }

#provider-page .buttons .save-success {
  float: right;
  margin-right: 30px;
  background-color: #00BB77;
  color: white;
  padding: 6px 15px;
  border-radius: 4px;
}

#provider-page .unapproved .new-button { margin-bottom: 10px; margin-top: -50px; text-align: right; }
#provider-page .unapproved .results { margin-bottom: 30px; }
#provider-page .unapproved .result .date { display: inline-block; width: 90px; }

#provider-page .billing { font-size: 14px; margin-bottom: 30px; }
#provider-page .billing th { padding: 10px; }
#provider-page .billing td { padding: 5px 5px 5px 10px; }
#provider-page .billing .left-margin { margin-left: 10px; }
#provider-page .billing td.empty-row { padding-bottom: 20px; }

#criteria-page label {
  display: block;
  width: 940px;
}
#criteria-page label span {
  width: 150px;
  margin-top: 10px;
  display: inline-block;
  vertical-align: top;
}

#criteria-page input, #criteria-page textarea {
  width: 700px;
}

#criteria-page button {
  margin-bottom: 20px;
}

#reports-page .input .label { min-width: 140px; vertical-align: top; padding-top: 12px; }
#reports-page .input td { padding-bottom: 25px; }
#reports-page .input .datepicker { margin-left: 4px; }
#reports-page .report-selection div { opacity: 0.5; min-width: 100px; text-align: center; display: inline-block; cursor: pointer; border: 1px solid #d3d3d3; border-radius: 3px; padding: 7px 15px; margin: 4px; }
#reports-page .report-selection div:hover { background-color: #fff; }
#reports-page .report-selection div.selected { opacity: 1; background-color: #fff; box-shadow: 0 2px 2px 0 rgba(0,0,0,0.10); }

#reports-page .report table { margin: 60px 0; font-size: 14px; }
#reports-page .report thead { border-bottom: 1px solid #ddd; color: #00BB88; font-size: 16px; }
#reports-page .report { margin-bottom: 200px; }
#reports-page .report th ~ th { border-left: 1px solid #ddd; }
#reports-page .report td ~ td { border-left: 1px solid #ddd; }
#reports-page .report td { vertical-align: top; padding: 5px 10px; text-align: right; }
#reports-page .report th { font-weight: normal; padding: 5px 10px; text-align: right; }
#reports-page .report-table .id { min-width: 400px; }
#reports-page .report-table td, #reports-page .report-table th { min-width: 150px; }
#reports-page .report a { color: #444; }
#reports-page .report .comments { text-align: left; }

#reports-page .report-kavi-durations-table .id { min-width: 400px; }
#reports-page .report-kavi-durations-table .reclassifications { border-bottom: 1px solid #ddd; }

#reports-page .report-durations-table .id { min-width: 400px; }

.rotating.fa-play {
    margin-right: 7px;
    margin-left: 1px;
    -webkit-transition: .3s linear;
    -moz-transition: .3s linear;
    -o-transition: .3s linear;
    transition: .3s linear;
}
.selected .rotating.fa-play {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.rotating2.fa-play {
  margin-right: 7px;
  margin-left: 1px;
  -webkit-transition: .3s linear;
  -moz-transition: .3s linear;
  -o-transition: .3s linear;
  transition: .3s linear;
}
.opened .rotating2.fa-play {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.change-log a { color: #00BB88; cursor: pointer; margin-top: 10px; display: inline-block; }
.change-log span, label, pre { font-family: Helvetica, Arial, sans-serif; font-size: 14px; }
.change-log label { display: inline-block; padding: 5px 0 0 0; }
.change-log .entries-container { display: none; }
.change-log .entry-row { padding: 10px; }
.change-log .entry-row:nth-child(odd) { background: #F8F8F8; }
.change-log .entry-row .entry-detail-row label { margin-right: 10px; }

.tt-query, .tt-hint { border: 2px solid #ccc; outline: none; }
.tt-hint { color: #999; }
.tt-dropdown-menu { padding: 8px 0; background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.2); }
.tt-suggestion { padding: 3px 20px;  }
.tt-suggestion.tt-cursor { color: #fff; background-color: #0097cf; }
.tt-suggestion p { margin: 0; }

.spinner { display: none; height: 20px; width: 20px; position: relative; margin-left: 16px; vertical-align: text-bottom; }
.spinner.active { display: inline-block; }
.spinner span { position: absolute; display: block; background-color: #888888; width: 5px; height: 5px; border-radius: 2px; }
.spinner span:nth-child(1) {
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.3, 0.9, 0.9);
  -webkit-animation-name: rotate-spinner;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  -webkit-transform-origin: 2px 10px;
  animation-timing-function: cubic-bezier(0.5, 0.3, 0.9, 0.9);
  animation-name: rotate-spinner;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  transform-origin: 2px 10px;

}
.spinner span:nth-child(2) {
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.5, 0.9, 0.9);
  -webkit-animation-name: rotate-spinner;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  -webkit-transform-origin: 2px 10px;
  animation-timing-function: cubic-bezier(0.5, 0.5, 0.9, 0.9);
  animation-name: rotate-spinner;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  transform-origin: 2px 10px;
}
.spinner span:nth-child(3) {
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.7, 0.9, 0.9);
  -webkit-animation-name: rotate-spinner;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  -webkit-transform-origin: 2px 10px;
  animation-timing-function: cubic-bezier(0.5, 0.7, 0.9, 0.9);
  animation-name: rotate-spinner;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  transform-origin: 2px 10px;
}
@-webkit-keyframes rotate-spinner {
  0% { -webkit-transform: rotate(0deg) scale(1); }
  100% { -webkit-transform: rotate(1440deg) scale(1); }
}
@keyframes rotate-spinner {
  0% { transform: rotate(0deg) scale(1); }
  100% { transform: rotate(1440deg) scale(1); }
}

@media all and (min-width: 1024px) {
  #search-page .advanced-search-controls { display: block !important; }
}

@media all and (min-width: 540px) and (max-width: 1023px) {
  #header .kavi-logo {
    width: 110px;
    margin-left: 20px;
  }

  .toggleLanguage {
    margin-right: 20px;
  }

  .content {
    width: 100%;
  }

  .page {
    padding: 30px;
    width: 90%;
    margin: 30px auto;
  }

  #header h1 {
    margin-left: 30px;
  }

  #header .content .links-area {
    margin-top: 50px;
    width: 200px;
    margin-right: 20px;
  }

  #header .content .links-area .links-anchor {
    width: 136px;
  }

  #search-page .new-classification {
    float: none;
    border-bottom: 2px solid #e8e8e8;
    margin-bottom: 22px;
    padding-bottom: 15px;
  }

  #search-page .advanced-search { display: block; }
  #search-page .advanced-search-controls { display: none; }

  .detail-box .column {
    margin-right: 0;
    width: 100%;
  }

  .program-box .basic-information {
    margin-right: 0;
  }

  .left, .right {
    width: 100%;
  }

  .right {
    float: none;
  }

  .program-details-form label {
    text-align: left;
    width: 100%;
  }

  .program-details-form .addExtraName, .program-details-form .removeExtraName {
    margin-bottom: 5px;
  }

  .program-details-form .comments textarea {
    width: 90%;
    box-sizing: border-box;
  }

  .program-details-form input[type=text], .program-details-form input[type=number] {
    width: 90%;
    box-sizing: border-box;
  }

  .program-details-form .textified-field {
    width: 90%;
  }

  .program-details-form .user-comments .field-hint {
    width: 90%;
  }

  .program-details-form .field-hint {
    float: none;
  }

  .program-details-form .user-comments .field-hint {
    float: left;
  }

  .program-details-form textarea {
    width: 90%;
    box-sizing: border-box;
  }

  .classification-criteria .category .criteria textarea {
    width: 90%;
    box-sizing: border-box;
  }

  .select2-container {
    width: 90%;
  }

  .classification-email dl .select2-container {
    width: 90%;
  }

  .classification-criteria .warning-order {
    float: left;
    width: 100%;
  }

  .classification-criteria .category {
    width: 100%;
    padding-top: 20px;
  }

  .training-ribbon, .development-ribbon {
    width: 280px;
    left: -100px;
    top: 20px;
    text-align: center;
    transform: scale(0.5) rotate(-45deg);
    -webkit-transform: scale(0.5) rotate(-45deg);
  }

  .training-ribbon span, .development-ribbon span {
    padding: 10px 40px;
  }
}

@media all and (max-width: 539px) {
  #header .kavi-logo {
    margin-left: 20px;
  }

  .toggleLanguage {
    margin-right: 20px;
  }

  #header .user-info {
    position: fixed;
    width: 100%;
    left: 0;
    bottom: 0;
    background: #444444;
    border-top: solid 3px #00AA77;
    height: 33px;
    text-align: center;
    line-height: 16px;
    white-space: nowrap;
    z-index: 10000;
  }

  #header .user-info .username {
    display: none;
  }

  #header .user-info .name {
    display: inline-block;
    max-width: 64%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #header .user-info a {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-top: 9px;
  }

  #header .content .links-area {
    display: block;
    position: fixed;
    width: 100%;
    right: 0;
    bottom: 0;
    background: #444444;
    border-top: solid 3px #00AA77;
    height: 33px;
    text-align: center;
    z-index: 10000;
  }

  #header .content .links-area .links-anchor {
    display: inline-block;
    text-align: center;
    padding-top: 9px;
  }

  .content {
    width: 100%;
  }

  .page {
    padding: 10px;
    width: 90%;
    margin: 10px auto;
  }

  #header h1 {
    margin-left: 20px;
    margin-right: 20px;
  }

  #search-page input.query {
    width: 215px;
  }

  #search-page .recent .result .duration-or-game {
    display: none;
  }

  #search-page .recent .result .program-type {
    display: none;
  }

  #search-page .drafts .draft .creationDate, #search-page .recent .registrationDate {
    width: 80px;
  }

  #search-page .recent .result .classification {
    width: auto;
    max-width: 140px;
  }

  #search-page input.query {
    width: 60%;
  }

  #search-page .new-classification {
    float: none;
    border-bottom: 2px solid #e8e8e8;
    margin-bottom: 22px;
    padding-bottom: 15px;
  }

  .search-label { width: 100%; }

  .controls {
    margin-bottom: 20px;
    padding-bottom: 10px;
  }

  #search-page .public-query-filters label, #search-page .kavi-query-filters label {
    display: block;
  }

  #search-page .advanced-search { display: block; }
  #search-page .advanced-search-controls { display: none; }

  #search-page .result .items > span:nth-child(2) { display: none; }
  #search-page .result .items > span:nth-child(3) { display: none; }
  #search-page .result .items > span:nth-child(4) { padding: 0 14px; margin-right: auto; }
  #search-page .result .items > span:nth-child(5) { width: auto; max-width: 140px; }

  .program-box .episode-container .program-box {
    margin: 0 -10px;
  }
  
  .program-box .episodes .result > span:nth-child(3) { display: none; }
  .program-box .episodes .result > span:nth-child(4) { width: auto; max-width: 140px; }

  .detail-box {
    padding: 10px 10px 30px 10px;
  }

  .detail-box .column {
    margin-right: 0;
    width: 100%;
  }

  .program-box .basic-information {
    margin-right: 0;
  }

  .program-box .buttons {
    float: none;
    text-align: right;
    margin-bottom: 20px;
  }

  .left, .right {
    width: 100%;
  }

  .right {
    float: none;
  }

  .row {
    padding: 30px 0 30px 0;
  }

  .program-details-form .back-to-search {
    display: inline-block;
    float: none;
    margin-bottom: 20px;
  }

  h2.main {
    margin: 0 0 30px 0;
    padding: 0 0 10px 0;
  }

  .program-details-form .user-comments .field-hint {
    width: 90%;
  }

  .program-details-form .field-hint {
    float: none;
  }

  .program-details-form .user-comments .field-hint {
    float: left;
  }

  .program-details-form label {
    text-align: left;
  }

  .program-details-form .extraName {
    margin-left: 0;
  }

  .program-details-form .addExtraName, .program-details-form .removeExtraName {
    margin-bottom: 5px;
  }

  .program-details-form .comments textarea {
    width: 80%;
    box-sizing: border-box;
  }

  .program-details-form input[type=text], .program-details-form input[type=number] {
    width: 80%;
    box-sizing: border-box;
  }

  .program-details-form .textified-field {
    width: 80%;
  }

  .program-details-form textarea {
    width: 80%;
    box-sizing: border-box;
  }

  .classification-criteria .category .criteria textarea {
    width: 80%;
    box-sizing: border-box;
  }

  .select2-container {
    width: 80%;
  }

  .classification-criteria .warning-order {
    float: left;
    width: 100%;
  }

  .classification-criteria .category {
    width: 100%;
    padding-top: 20px;
  }

  .classification-email dl dd {
    margin-left: 0;
  }

  .classification-email dl .select2-container {
    width: 100%;
  }

  .classification-email .email-preview .body img {
    width: 80%;
  }

  #login > div, #error-dialog > div, #conflict-dialog > div {
    width: 85%;
  }

  #login input, #reset-password input {
    width: 100%;
  }

  #login label, #reset-password label {
    width: 80%;
  }

  #reset-password > div {
    width: 80%;
  }

  .training-ribbon, .development-ribbon {
    width: 280px;
    left: -100px;
    top: 20px;
    text-align: center;
    transform: scale(0.5) rotate(-45deg);
    -webkit-transform: scale(0.5) rotate(-45deg);
  }

  .training-ribbon .span, .development-ribbon span {
    padding: 10px 40px;
  }

  #search-page .searchResultSortCols .col_duration { display: none; }
  #search-page .searchResultSortCols .col_type { display: none; }
}