
body { font: normal 14px Arial, Helvetica, sans-serif; width: 100%; margin: 0 0 0 0; padding: 0 0 0 0; overflow-y: scroll; }

body a { color: #94d600; }

h1, h2 { color: #777; }
h2 > a { text-decoration: underline; color: #777; }

h1 { padding-bottom: 0px; padding-left: 20px; margin-bottom: 0px; margin-top: 5px; }

img.logo { width: 175px; border: none; padding-bottom: 5px; }
body > .main-container { width: 1100px; margin: 0 auto; }
body > .main-container > .content { min-height: 710px; }
body > .main-container > .content > .background { background-color: white; }

body > .main-container > .header { position: relative; width: 100%; height: 180px; margin-top: 5px; }
body > .main-container > .header > .left { position: absolute; top: 0px; left: 0px; }
body > .main-container > .header > .right { position: absolute; top: 50px; right: 20px; }
body > .main-container > .header > .center { position: absolute; top: 120px; left: 0px; padding-left: 20px; }
body > .main-container > .header, body > .main-container > .footer { background-color: white; }
body > .main-container > .header > .left, body > .main-container > .header > .center, body > .main-container > .header > .right { display: inline-block; }
body > .main-container > .header > .left { padding-left: 20px; padding-top: 5px; padding-bottom: 5px; }

body { background-repeat: no-repeat; background-size: 100%; }
body > .main-container > .content .monitor fieldset { border: 1px solid #ccc; }
body > .main-container > .content .monitor fieldset > .row { display: block; width: 100%; height: 30px; line-height: 30px; }
body > .main-container > .content .monitor fieldset > .row:nth-child(2n) { background-color: #f3f3f3; }
body > .main-container > .content .monitor fieldset > .row > label { display: inline-block; width: 300px; padding-right: 10px; text-align: right; }
body > .main-container > .content .monitor fieldset > .row > input { display: inline-block; padding-left: 10px; text-align: left; }

.list { display: table; width: 100%; }
.list .row { display: table-row; }
.list .row .cell { display: table-cell; }

body > .main-container > .footer {
	padding-top: 20px;
	padding-bottom: 10px;
}

/* PAGINATOR */
.paginator { width: 100%; position: relative; line-height: 25px; font-size: 12px; margin: 10px 0; }
.paginator > .first, .paginator > .previous, .paginator > .next, .paginator > .last { background-color: #FFF;  display: inline-block; border: 1px solid #94d600; border-radius: 4px; height: 25px; width: 25px; text-align: center; line-height: 25px; }
.paginator > .info { position: absolute; right: 0px; }
.paginator > .numbers { display: inline-block; padding: 0 10px; min-width: 160px; }
.paginator > .numbers > a, .paginator > .numbers > span { display: inline-block; margin: 0 7px 0 7px; text-align: center; }
.paginator > .numbers > a { text-decoration: none; color: #000; }
.paginator > .numbers > span { color: #94d600; }
.paginator > a.first, .paginator > a.previous, .paginator > a.next, .paginator > a.last { text-decoration: none; color: #94d600;
	background-color: #e0efb7; transition: background-color .25s ease; }
.paginator > a.first:hover, .paginator > a.previous:hover, .paginator > a.next:hover, .paginator > a.last:hover { background-color: #FFF; }
.paginator > span.first, .paginator > span.previous, .paginator > span.next, .paginator > span.last { color: #FFF; background-color: #FFF; }

/** PROGRESS BAR **/
.publish-search .progress-bar-container { display: block; height: 30px; background: repeating-linear-gradient(-45deg, #EFE8E0, #EFE8E0 10px, #FFF 10px, #FFF 20px); width: 100%; padding: 0px 0px 0px 0px; border-radius: 4px; }
.publish-search .progress-bar-container .progress-bar { display: inline-block; height: 30px; padding: 0px 0px 0px 0px; overflow: hidden; border-radius: 4px; background-color: #94d600; overflow: hidden; line-height: 30px; font-weight: bold; }

/** MAP **/
#map {
	width: 600px;
	height: 600px;
}

/** CALENDAR **/
.calendar { width: 100%; overflow-x: auto; overflow-y: visible; }
.calendar-container { white-space: nowrap; overflow: visible; }
.calendar > .calendar-container > .month { white-space: normal; display: inline-block; width: 185px; margin-left: 10px; vertical-align: top; }
.calendar > .calendar-container > .month .name { display: inline-block; width: 100%; text-align: center; }
.calendar > .calendar-container > .month > div { position: relative; display: inline-block; width: 25px; height: 25px; line-height: 25px; text-align: center; color: #444; margin-left: 1px; margin-top: 1px; font-size: 10px; }
.calendar > .calendar-container > .month > div > div.tooltip {
	display: inline-block;
	position: absolute;
	visibility: hidden;
	z-index: 1;
	background-color: #333;
	width: 200px;
	line-height: 15px;
	color: #ddd;
	padding: 5px 5px 5px 5px;
	border-radius: 5px;
	bottom: 150%;
	left: 50%;
	margin-left: -100px;
}
.calendar > .calendar-container > .month > div > div.tooltip::after {
	content: " ";
	position: absolute;
	top: 100%; /* At the bottom of the tooltip */
	left: 48%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: #333 transparent transparent transparent;
	pointer-events: none;
}
.calendar > .calendar-container > .month > div > div.tooltip ul { padding: 0 0 0 0; margin: none; }
.calendar > .calendar-container > .month > div:hover > div.tooltip { visibility: visible; }
.calendar > .calendar-container > .month > div.empty { background-color: #FFF; }
.calendar > .calendar-container > .month > div.day { background-color: #FFF; }
.calendar > .calendar-container > .month > div.notification { color: #94d600; cursor: pointer; }
.calendar > .calendar-container > .month > div.weekend-day { background-color: #e0efb7; }
.calendar > .calendar-container > .clear { clear: both; }


/** MENU **/
nav > ul {
	width: 100%;
	table-layout: fixed;
	display: table;
	padding: 0;
	margin: 0;
}

nav > ul > li {
	display: table-cell;
	width: 100%;
	text-align: center;
	margin: 0;
	padding: 0 5px;
	height: 40px;
	vertical-align: middle;
}

nav > ul > li > a {
	display: inline-block;
	vertical-align: middle;
	border: 1px solid #94d600;
	border-radius: 4px;
	width: 100%;
	height: 100%;
	line-height: 40px;
	text-decoration: none;
	font-size: 12px;
	font-weight: normal;
	background-color: #E4ECEC;
	color: black;
	transition: background-color .25s ease 
}

nav > ul > li > a:hover { background-color: #FFE; border: 1px solid #FFE; }

/** LISTS **/

table { width: 100%; font-size: 12px; }
table > tbody > tr { /* transition:  0.125s linear; */ }
table > tbody > tr:nth-child(2n) { background-color: #EEE; }

table > tbody > tr:hover { background-color: #e0efb7; }
table > tbody > tr:hover > td { border: 1px solid #94d600; }
table.ui-datepicker-calendar > tbody > tr:hover > td { border: none; }
table td { border: 1px solid #EEE; padding-top: 7px; padding-bottom: 7px; padding-left: 5px; }

.actions { text-align: center; min-width: 90px; }
.actions a { display: inline-block; width: 16px; height: 16px; background-repeat: no-repeat; background-position: center center; margin-right: 10px; }
.actions a span { display: none; }
.actions a.edit { background-image: url('/img/icons/16/edit.png'); }
.actions a.delete { background-image: url('/img/icons/16/delete.png'); }
.actions a.send-notification { background-image: url('/img/icons/16/mail.png'); }
.actions a.geometry { background-image: url('/img/icons/16/stats.png'); }
.actions a.route { background-image: url('/img/icons/16/route.png'); }
.actions a.services { background-image: url('/img/icons/16/checklist.png'); }
.actions a.update { background-image: url('/img/icons/16/add.png'); }
.actions a.view { width:24px;background-image: url('/img/icons/24/eye.png'); }
.actions a.mute { background-image: url('/img/icons/16/mute.png'); }
.actions a.unmute { background-image: url('/img/icons/16/unmute.png'); }

table > tbody td.downloads, table > tbody td.order { text-align: right; padding-right: 6px; }
table > tbody td.downloads > span { background-image: url('/img/icons/16/download.png'); background-repeat: no-repeat; background-position: right center; padding-right: 20px; }
table > tbody td.active_0 { }
table > tbody td.active_1 { background-image: url('/img/icons/24/ok.png'); background-repeat: no-repeat; background-position: center center; }
table > tbody td.secure_0 { }
table > tbody td.secure_1 { background-image: url('/img/icons/24/secure.png'); background-repeat: no-repeat; background-position: center center; }

table a { color: black; }
table a:hover { text-decoration: underline; }

.products td img { max-width: 50px; max-height: 50px; display: inline-block; }
.products td.image { text-align: center; }

/** SEARCH IN LIST **/
.search-container { position: relative; width: 100%; height: 120px; padding-top: 1px; padding-bottom: 16px; }
.search-container form { display: inline-block; padding-left: 100px; height: 100%; vertical-align: middle; }
.search-container form label { display: inline-block; height: 32px; line-height: 32px; font-size: 20px; color: #777; width: 200px; margin-top: 5px; }
.search-container form input { display: inline-block; height: 32px; line-height: 32px; font-size: 16px; width: 300px; margin-top: 5px; }
.search-container form select { display: inline-block; height: 32px; line-height: 32px; font-size: 16px; width: 300px; margin-top: 5px; }
.search-container form input[type="submit"] { width: 500px; }
.search-container form input[type="text"] { padding-left: 10px; }
.search-container a { width: 100px; display: inline-block; position: absolute; background-repeat: no-repeat; background-position: center 10px; background-size: 64px 64px; height: 100px; vertical-align: bottom; font-size: 10px; }
.search-container a.reset-search { left: 0px; top: 10px; background-image: url('/img/icons/64/search.png'); }
.search-container a.add { right: 0px; top: 10px; background-image: url('/img/icons/64/add.png'); }
.search-container a.upload { right: 0px; top: 10px; background-image: url('/img/icons/64/upload.png'); }
.search-container a span { position: absolute; bottom: 5px; width: 100%; text-align: center; vertical-align: bottom; color: #94d600; display: inline-block; }

/*.notifications .search-container a.add { top: 0px; }*/
.notifications .search-container form label { width: 150px; margin-left: 20px; vertical-align: top}
.notifications .search-container form input[type="text"] { width: 250px; }
.notifications .search-container form select { width: 200px; }
.notifications .search-container form input[type="submit"] { width: 350px;}
.notifications .search-container { height: 230px; }
.notifications .search-container .col-group {display: inline-block; width:45%; vertical-align: top}
.notifications .search-container .form-check input {width: 20px;height: 20px;}
.notifications .search-container .form-check label {font-size: 16px;vertical-align: super;}

.notifications .update-notifications-container {
	padding-left: 20px;
	margin-bottom: 40px;
	margin-top: 20px;
}

.notifications .update-notifications-container input[type=button] {
	padding: 0 40px;
	margin-left: 20px;
}


table td {
	border: 1px solid #EEE;
	padding-top: 7px;
	padding-bottom: 7px;
	padding-left: 5px;
}

table img {
	height: 100px;
}

/** SYSTEM MESSAGES **/

.messages { position: relative; padding: 10px; margin: 20px 0; }
.messages.no-messages { display: none; }
.messages.has-messages { border-color: #94d600; box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #444; border-radius: 4px; }
.system-messages { margin: 0; padding: 0; width: 95%; list-style-type: none; max-height: 25rem; overflow: auto; }
.messages-button { position: absolute; right: 4px; top: 4px; }
.message { padding-left: 20px; margin: 10px 0; font-weight: bold; }
.message.info-message { color: green; }
.message.error-message { color: #c00; }
.message.warning-message { color: coral; }

/** FRONT **/

fieldset {
	border: none;
	margin: 0;
	padding: 0;
}

.search-form {
	border: 1px solid #94d600;
	border-radius: 4px;
	margin-top: 20px;
}

#login-container,
#sms-container {
	width: 25%;
	margin: 0 auto;
	min-width: 400px;
}

.container > h2 {
	text-align: center;
}

.form-input,
.form-select,
.form-textarea {
	margin-top: 10px;
	display: block;
	width: 100%;
	padding: 6px 12px;
	font-size: 14px;
	color: #555;
	background-color: #FFF;
	border: 1px solid #CCC;
	border-radius: 4px;
}

.form-input,
.form-select {
	height: 34px;
	vertical-align: middle;
}

.search-form-submit {
	padding: 7px 6px;
	min-width: 130px;
	text-align: center;
	border-radius: 4px;
	background-color: #32363B;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
}

.search-form-input,
.search-form-select {
	display: inline-block;
	padding: 6px 12px;
	font-size: 14px;
	color: #555;
	background-color: #FFF;
	border: 1px solid #CCC;
	border-radius: 4px;
}

.form-input:focus {
	border-color: #94d600;
	box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #94d600;
}

.search-form {
	padding: 20px;
}

.found {
	font-weight: bold;
}

.product span,
.file-download span {
	display: inline-block;
	width: 50%;
	margin: 5px;
}

.file-download {
	margin: 20px 0;
}

.form-label,
.check-label {
	margin-top: 20px;
	width: 100%;
	display: block;
	font-size: 14px;
	font-weight: bold;
}

.form-textarea-twitter {
    margin-top: 10px;
    display: block;
    width: 100%;
    padding: 6px 12px;
    font-size: 14px;
    color: #555;
    background-color: #FFF;
    border: 1px solid #CCC;
    border-radius: 4px;
}

.disable-button {
	opacity: 67%;
}

.error-message-tweet {
	font-size: 12px;
	font-weight: bold;
	margin-top: 2px;
	color: red;
}

.characters-error-tweet {
	font-weight: bold;
	color: red;
}

.form-label-twitter,
.form-label-muted {
	margin-top: 2px;
	font-size: 14px;
	font-weight: bold;
}

.counter-twitter {
    float: right;
}

.margin-top-checkbox {
	margin-top: 1%;
}

.form-image {
	margin-top: 20px;
	width: 25%;
}

.submit-form {
	margin-top: 30px;
	height: 45px;
	padding: 7px 6px;
	min-width: 130px;
	text-align: center;
	border-radius: 4px;
	background-color: #32363B;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
}

.products {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.product-enterprises,
.enterprise-products {
	padding: 0;
	list-style-type: none;
	margin: 10px 0 0 0;
}

.product {
	padding: 20px;
	border: 1px solid #94d600;
	border-radius: 4px;
	margin: 10px 0;
}

.product-image {
	width: 20%;
	float: right;
}

.products .files {
	width: 70%;
}

.products li.file:nth-child(odd) {
	background-color: #E4ECEC;
}

.products .files {
	list-style-position: inside;
}

.products .file {
	padding: 10px;
}

.products .file-download {
	margin: 20px;
}

.global-stats {	width: 100%; }
.global-stats .row { width: 100%; padding-top: 10px; padding-bottom: 10px; }
.global-stats .row .stats {	display: inline-block; width: 45%; vertical-align: top; }
.global-stats .row .stats:first-child { margin-right: 10px; }

.file-stats span.bar,
.user-stats span.bar,
.enterprise-stats span.bar,
.product-stats span.bar,
.stats span.bar { display: inline-block; background-color: #94d600; }

.file-stats span.counter,
.user-stats span.counter,
.enterprise-stats span.counter,
.product-stats span.counter,
.stats span.counter { font-weight: bold; }

.file-stats span.percentage,
.user-stats span.percentage,
.enterprise-stats span.percentage,
.product-stats span.percentage,
.stats span.percentage { color: #777; }

#form-uploader-container {
	width: 70%;
	float: left;
}

#form-uploader {
	width: 90%;
}

#filenames {
	list-style-type: none;
	max-height: 20em;
	overflow: auto;
	padding: 0;
	font-size: 12px;
	line-height: 16px;
	border: 1px solid #CCC;
	border-radius: 4px;
}

#commit-list-container {
	width: 30%;
	float: right;
	margin: 0;
	padding: 0;
	height: 40rem;
	overflow: auto;
}

#commit-list {
	list-style-type: none;
	padding: 0;
}

a.current {
	font-weight: bolder;
}

#restore-publication-back {
	float: right;
	margin-top: 30px;
}

#download-ctc {
	float: right;
	margin-top: 30px;
}

.stops-selector,
.routes-selector,
.lines-selector {
	padding: 0;
	margin: 0;
	list-style-type: none;
	float: left;
	width: 100%;
}

.stop-selector-item,
.route-selector-item,
.line-selector-item {
	box-sizing: border-box;
	width: 22%;
	margin: 1% 1%;
	padding: 1% 0;
	border: 1px solid #CCC;
	font-size: 12px;
	display: inline-flex;
	border-radius: 4px;
}

.stop-selector-item .selected,
.route-selector-item .selected,
.line-selector-item .selected {
	color: #94d600;
}

.table-input {
	margin: 2px 1px;
	display: block;
	width: 100%;
	padding: 1px 2px;
	font-size: 11px;
	color: #555;
	background-color: #FFF;
	border: 1px solid #CCC;
	border-radius: 4px;
}

.stop-service-location > input {
	box-sizing: border-box;
	display: inline-block;
	width: 48%;
	text-align: center;
}

#stop-services-stops {
	width: 300px;
	float: left;
}

#stops-table-scroll {
	max-height: 510px;
	overflow: hidden;
}

#stop-services-stops > table {
	width: 100%;
}

#stops-table {
	text-align: left;
}

#stop-services-services,
#stop-services-stop-services {
	width: 800px;
	float: right;
}

#stop-services-services {
	overflow: hidden
}

#stop-services-stop-services {
	max-height: 510px;
	overflow: auto;
}

#stop-services-form table {
	table-layout: fixed;
}

#stop-services-form table td,
#stop-services-form table th {
	width: 200px;
	height: 80px;
	padding: 7px 5px;
}

#stop-services-table-scroll {
	overflow: hidden;
}

.assign-service {
	display: block;
	width: 100%;
	height: 100%;
}

.deassign-service {
	width: 100%;
}

.location-label {
	display: block;
}

.stop-services-selector-filters {
	position: relative;
}

#stop-services-stop-selector-filter,
#stop-services-service-selector-filter {
	display: inline-block;
	width: 45%;
}

#stop-services-service-selector-filter {
	position: absolute;
	right: 0;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
	background: #94d600 !important;
	border-color: #94d600 !important;
	outline-color: #94d600 !important;
}

.ui-widget-header {
    background-color: transparent !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

#tabs {
    border: none !important;
}

/*
    STOP TRANSFERS COMPONENT
*/

.transfers li {
    padding-top: 5px;
    padding-bottom: 5px;
}

.transfers input.time {
    width: 80px;
    text-align: right;
    padding-right: 10px;
}
table.wheelchair-between-stops, table.zones-between-stops { border-spacing: 1px; }
table.wheelchair-between-stops, table.zones-between-stops tr td { padding-top: 5px; padding-bottom: 4px; padding-left: 2px; padding-right: 1px; }
table.wheelchair-between-stops td.solution_, table.zones-between-stops td.zone_ {background-color: white; }
table.wheelchair-between-stops td.solution_1, table.zones-between-stops td.zone_1 { background-color: #d2cee4; text-align: center; }
table.zones-between-stops td.zone_2 { background-color: #ffe7ab; text-align: center; }
table.zones-between-stops td.zone_3 { background-color: #eb95c2; text-align: center; }
table.zones-between-stops td.zone_4 { background-color: #84d0f0; text-align: center; }
table.zones-between-stops td.zone_5 { background-color: #f19871; text-align: center; }
table.zones-between-stops td.zone_6 { background-color: #b1b2b4; text-align: center; }


.file-uploader { width: 90%;display: inline-block;}
.file-uploader div label input { display: none;}
.file-uploader div { height: 40px; position: relative; }
.file-uploader div input.submit-form {
	margin-top: 0px;
	width: 120px;
	height: 40px;
	padding: 6px;
}

.file-uploader div span {
	position: absolute;
	bottom: 0px;
	font-size: 14px;
	border-bottom: 3px solid #94d600;
}
.file-uploader label {
	display: block;
	width: 120px;
	height: 24px;
	margin-right: 6px;
	padding: 8px 6px 4px 6px;
	border-radius: 4px;
	background-color: #e0efb7;
	border: 2px solid #94d600;
	color: #555;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}


#notification-container .form .row div {
	display: inline-block;
	margin-right: 50px;
}

#notification-container .form-check {
	height: 34px;
	margin: 8px 0px 0px 0px;
	vertical-align: sub;
}

#notification-container .form-check .form-check-input {
	height: 25px;
	width: 25px;
}

#notification-container .form-check-label {
	vertical-align: super;
	font-color:#CCC;
}

#notification-container .translate-btn {
	height: 25px;
	margin: 0px 0px 0px 20px;
}

.pointer {
	cursor:pointer;
}

#dialog .row div {
	display: inline-block;
	margin: 10px 50px 0 0;
}

#confirm_cancel, #confirm_submit {
	margin-top: 10px;
	height: 45px;
	padding: 7px 6px;
	min-width: 130px;
	text-align: center;
	border-radius: 4px;
	background-color: #32363B;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
}


.ui-dialog .ui-dialog-title {
	text-align: center;
	font-size: 24px;
	color: grey;
}

.notification-updates-container {
	margin-top: 10px;
	width: 100%;
}


.notification-update {
	margin: 3px;
	cursor: pointer;
	padding: 18px;
	max-width: 100%;
	border: 1px solid #94d600;

}
.notification-update label{
	font-weight: bold;
}

.notification-update-content {
	display: none;
	padding: 5px;
}

.notification-update-content div{
	margin-bottom: 5px;
}

.notifications table > tbody > tr.last-update { background-color: #EEE; cursor:pointer}
.notifications table > tbody > tr.previous-update { background-color: #FFF; display:none; }
.notifications table > tbody > tr.previous-update>td:nth-child(1) { padding-left: 35px}

#notification-container .twitter-check, #notification-container .muted-check {margin-top: 20px; display: inline-block}
#notification-container .twitter-check #publish_tweet{width: 20px; height: 20px;vertical-align:sub;}
#notification-container #muted{width: 20px; height: 20px;}
#notification-container .twitter-check > span > img {background-image: url('/img/icons/24/triangle.png');width:24px;height:24px;;vertical-align:sub;margin-right: 15px;}
#notification-container .twitter-check > span {
	width: 40px;
	background-color: #f2c497;
	font-weight: bold;
	font-family: "Open Sans";
	padding: 10px 30px 10px 30px;
	margin: 20px;
	display: none;
}

#tweet-container div.row div.left {display:flex; align-items: center; width: 25%; float:left; margin-right:10px}
#tweet-container div.row div.right {margin-right:10px}
#tweet-container .row .right {width: 70%; float:right}
#tweet-container .row .right.normality {display: none}
#tweet-container .row .right .img-selector-item {margin: 15px; width: 150px; height:100px}
#tweet-container .row .right .img-selector-item > img {max-width:100%; max-height:100%}

#dialog_text_ca{width: 93%}
#dialog_text_es{width: 93%}
#dialog_text_en{width: 93%}

#assigned-stop-services-container {
	width: 1100px;
	max-height: 600px;
	overflow: auto;
}

#assigned-stop-services-container th.assigned-stop-services-fixed-cell {
	position: sticky;
	left: 0;
	top: 0;
	background: #FFFFFF;
	z-index: 9;
}

#assigned-stop-services-container th.stop-row-name-cell {
	position: sticky;
	left: 0;
	background: #FFFFFF;
}

#assigned-stop-services-container th.stop-services-service-name {
	position: sticky;
	top: 0;
	background: #FFFFFF;
}

#assigned-stop-services-container table#assigned-stop-services-table > tbody > tr:nth-child(2n) th.stop-row-name-cell {
	background: #EEE;
}

#assigned-stop-services-container table#assigned-stop-services-table > tbody > tr:hover th.stop-row-name-cell {
	background-color: #e0efb7;
}