/*
azul claro #0097d5
azul medio #00638A
Cinza escuro #292929
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

article:after, aside:after, details:after, figcaption:after, figure:after, 
footer:after, header:after, hgroup:after, menu:after, nav:after, section:after, 
div:after, ul:after, ol:after {
	content: "";
	display: table;
	clear: both;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	display: table;
}

html {
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

.element-invisible {
	position: absolute;
	top: -9999px;
	left: -9999px;
}

body #pageWrapper {
	-webkit-user-select: text!important;
	background-size: cover;
	background-position: center center;
}


#content ul.pager li.pager-current {
    background-color: #00638A;
    border-radius: 2px;
    color: #fafafa;
    padding: 0;
}
#content ul.pager li {
    color: #fafafa;
	background-color: #353535;
	text-align: center;
    border-radius: 2px;
    display: inline-block;
    font-size: 13.5px;
    font-weight: 600;
    height: 32px;
    line-height: 32px;
    margin-right: 2px;
    min-width: 32px;
    overflow: hidden;
    vertical-align: top;
    cursor: pointer;
}
#content ul.pager li a{
    color: #ffffff;
}

#content ul.pager li.pager-total {
    background-color: #ffffff;
    display: block;
}


/*	
----------------------------------------------------------
General
---------------------------------------------------------- 
*/

html {
	width: 100%;
	background: #fafafa;
	-webkit-text-size-adjust: 100%;
}

html.no-scroll,
html.no-scroll body {
	height: 100%;
	overflow: hidden;
	width: 100%;
	position: fixed;
}

html.no-scroll-menu,
html.no-scroll-menu body {
	height: 100%;
	overflow: hidden;
	width: 100%;
	position: fixed;	
}

body {
	background: #f4f4f4;
	color: #666;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 13.5px;
	line-height: 24px;
}

p {
	margin: 0 0 20px 0;
	font-weight: 400;
	font-size: 13.5px;
	line-height: 24px;
}

hr {
	border: none;
	border-top: 1px solid #0097d5;
	overflow: hidden;
	-webkit-margin-before: 0.5px;
	-webkit-margin-after: 0.5px;
}

.faq{
	color: #00638a;
	font-style: italic;
	font-weight: bold; 
	
}

.screen-reader-text {
	position: absolute;
	top: -10000px;
	left: -10000px;
}


img {
	max-width: 100%;
	height: auto;
}

img.alignleft {
	float: left;
	margin: 0 10px 10px 0;
}

img.alignright {
	float: right;
	margin: 0 0 10px 10px;
}

#pageWrapper #content img.page-header {
	position: relative;
	width: 100%!important;
	height: auto!important;
}

ul#header_navigation,
#main_navigation,
#main_navigation ul,
ul#sidebar_navigation,
ul#favourites-list,
ul#external_navigation,
ul.route-list, ul.route-details,
ul.route-details ul,
ul#areaList {
	list-style: none;
	padding: 0;
	margin: 0;
}

span.small {
	font-size: 85%;
}

a { 
	color: #606060;  
	text-decoration: none;
	transition: all .4s;
}

a:hover { 
	color: #0097d5; 
}

a:focus { 
	outline: thin dotted; 
}

a:hover, 
a:active { 
	outline: 0; 
}

a.more:hover h3 {
	color: #0097d5;
}

#content li a,
#content p a,
#content label a,
#sidebar a {
	color: #0097d5;
}


#content li a:hover,
#content p a:hover,
#content label a:hover,
#sidebar a:hover {
	text-decoration: underline;
}


h1, 
h2, 
h3, 
h4, 
h5, 
h6 {
	color:#444;
	clear:both;
	font-weight: 700;
	padding: 0;
	margin: 0 0 16px 0;
	letter-spacing: -.5px;
}

h1 {
	font-size:22px;
	line-height: 32px;
}

h1.page-title {
	margin-bottom: 20px;
}

#content h1 {
	border-bottom: 2px solid #0097d5;
	padding: 0 0 8px 0;
	margin: 0 0 24px 0;
}

h2, 
h2 a {
	font-size: 18px;
	line-height: 28px;
}

h2.section-title {
	width: 100%;
	font-weight: 700;
	padding-bottom: 12px;
	border-bottom: solid 2px #0097d5;
	margin-bottom: 12px;
}


.front h2.section-title {
	margin-bottom: 12px;
}

#sidebar h2 {
	margin-bottom: 16px;
}

h3 {
	font-size: 16px;
	color: #676767;
	line-height: 26px;
}

#content h3 {
	margin-bottom: 12px;
}

#footer h3.section-title {
	border-color: #cecece;
}


h4 {
	font-size: 14px;
}

h1.plain,
h2.plain,
h3.plain,
h4.plain,
h5.plain,
h6.plain {
	margin: 0;
	padding: 0;
}

blockquote {
	background:#f4f4f4;
	padding:30px;
	font-size:30px;
}

blockquote:before {
	content:"\201C";
}

blockquote:after {
	content:"\201D";
	float: right;
}

body #content .note {
	padding-top: 16px;
	clear: both;
	display: block;
}

dl {
	width: 100%;
	overflow: hidden;
	margin: 0 0 12px 0;
}

dt, 
dd {
	font-weight: 500;
}

dt {
	font-weight: 600;
	margin-top: 2px;
	float: left;
	clear: left;
	width: 50px;
}

dd {
	margin: 2px 0 0 55px;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

object {
	pointer-events: none;
}

abbr[title] { 
	border-bottom: 1px dotted; 
}

em {
	font-style: italic;
}

b, 
strong { 
	font-weight: bold; 
}

blockquote { 
	margin: 1em 40px; 
}

dfn { 
	font-style: italic; 
}

ins { 
	background: #ff9; 
	color: #000; 
	text-decoration: none; 
}

mark { 
	background: #ff0; 
	color: #000; 
	font-style: italic; 
	font-weight: bold; 
}

pre, 
code, 
kbd, 
samp { 
	font-family: monospace, serif; _font-family: 'courier new', monospace; 
	font-size: 1em; 
}

pre { 
	white-space: pre; 
	white-space: pre-wrap; 
	word-wrap: break-word; 
}

q { 
	quotes: none; 
}

q:before, q:after { 
	content: ""; 
	content: none; 
}

small { 
	font-size: 85%; 
}

sub, 
sup { 
	font-size: 75%; 
	line-height: 0; 
	position: relative; 
	vertical-align: baseline; 
}

sup { 
	top: -0.5em; 
}

sub { 
	bottom: -0.25em; 
}

dd { 
	margin: 0; 
}

nav ul, 
nav ol { 
	list-style: none; 
	list-style-image: none; 
	margin: 0; 
	padding: 0; 
}

img { 
	border: 0; 
	-ms-interpolation-mode: bicubic; 
	vertical-align: middle;
}

#content img {
	border-radius: 2px;
}

svg:not(:root) { 
	overflow: hidden;
}

figure {
	margin: 0; 
}

table { 
	border-collapse: collapse; 
	border-spacing: 0; 
}

td { 
	vertical-align: top; 
}

.chromeframe { 
	margin: 0.2em 0; 
	background: #ccc; 
	color: black; 
	padding: 0.2em 0; 
}

#content ul,
#content ol {
	margin: 0 0 20px 20px;
	font-weight: 400;
	font-size: 13.5px;
	line-height: 24px;
}

#content ul ul,
#content ol ol,
#content ul ol,
#content ol ul {
	margin-top: 12px;
	margin-bottom: 12px;
}

#content ul li,
#content ol li {
	position: relative;
	list-style-type: none;
}

#content ol {
	counter-reset: list-counter;
}

#content ol > li:before {
	color: #999;
	font-size: 10px;
	position: absolute;
	left: -18px;
	top: 0;
	font-weight: 700;
}

#content ul ol {
	counter-reset: inner-list-counter;
}

#content ul ol li:before {
	top: 0;
	content: counter(inner-list-counter);
	counter-increment: inner-list-counter;
}

#content ol ul li:before {
	top: 10px;
}

#content .search-results,
#content .ctrls ul {
	margin: 0;
}

#content ul.pager > li:before,
#content .search-results li:before,
#content .ctrls ul li:before {
	display: none;
}


:focus {
	outline-style: none!important;
	box-shadow: 0 0 5px #0097d5;
}

input[type="checkbox"]:focus + label,
input[type="radio"]:focus + label,
.photo-file:focus + label {
	box-shadow: 0 0 5px #0097d5;
}

header#header :focus,
fieldset:focus {
	box-shadow: none;
}



/*	
----------------------------------------------------------
Colors
---------------------------------------------------------- 
*/

html body #pageWrapper .firstpink {
	color: #0097d5;
}

html body #pageWrapper .firstblue {
	color: #212b55;
}

html body #pageWrapper .purple {
	color: #823f90;
}

html body #pageWrapper .orange {
	color: #e7412c;
}

html body #pageWrapper .yellow {
	color: #f7a800;
}

html body #pageWrapper .dark-teal {
	color: #006272;
}

html body #pageWrapper .teal {
	color: #00b09a;
}

html body #pageWrapper .first-#0097d5 {
	color: #78b829;
}

html body #pageWrapper .dark-blue {
	color: #005aa7;
}

html body #pageWrapper .blue {
	color: #69b1e2;
}

html body #pageWrapper .light-blue {
	color: #bed3e6;
}

html body #pageWrapper .grey {
	color: #a8a7a8;
}

html body #pageWrapper .white {
	color: #ffffff;
}

html body #pageWrapper .black {
	color: #000000;
}

html body #pageWrapper .back-firstpink {
	background: #0097d5;
	color: #fafafa;
}

html body #pageWrapper .back-firstblue {
	background: #212b55;
	color: #fafafa;
}

html body #pageWrapper .back-purple {
	background: #823f90;
}

html body #pageWrapper .back-orange {
	background: #e7412c;
}

html body #pageWrapper .back-yellow {
	background: #f7a800;
}

html body #pageWrapper .back-dark-teal {
	background: #006272;
}

html body #pageWrapper .back-teal {
	background: #00b09a;
}

html body #pageWrapper .back-#0097d5 {
	background: #78b829;
}

html body #pageWrapper .back-dark-blue {
	background: #005aa7;
}

html body #pageWrapper .back-blue {
	background: #69b1e2;
}

html body #pageWrapper .back-light-blue {
	background: #bed3e6;
}

html body #pageWrapper .back-grey {
	background: #a8a7a8;
}

html body #pageWrapper .back-lightgrey {
	background: #eeeeee;
}

html body #pageWrapper .back-white {
	background: #ffffff;
}


/*	
----------------------------------------------------------
Form Elements
---------------------------------------------------------- 
*/

button,
.btn, 
.fieldsubmit, 
input[type=submit], 
.btn-p,
.btn-dd {
	display: inline-block;
	border-radius: 2px;
	text-align:center;
	padding: 9px 25px;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s;
	line-height: 24px;
	height: 42px;
	-webkit-appearance: none;
	border: none;
}

button:hover,
.btn:hover, 
.fieldsubmit:hover, 
input[type=submit]:hover, 
.btn-p:hover,
.btn-dd:hover {
	text-decoration: none;
}


#pageWrapper button,
#pageWrapper .btn, 
#pageWrapper .fieldsubmit, 
#pageWrapper input[type=submit], 
#pageWrapper .btn-p {
	background: #00638A;
	border: none;
	color: #fafafa;
	font-weight: 600;
}


table .btn {
	margin: 3px;
}

.btn:hover, 
.btn-dd:hover, 
.fieldsubmit:hover {
	color: #fff;
	text-decoration: none;	
}

.btn-dd {
	background: #00638A;
	border: none;
	color: #ffffff;
}

#pageWrapper .btn-dd.full-width {
	background: #fff;
	border: 1px solid #dcdcdc;
	color: #00638A;
}

.btn-dd.full-width:hover {
	background: #ddd;
	color: #00b09a;
	border-color: #aaa;
}

.btn-dd.full-width.active {
	background: #ddd;
}

label {
	font-size: 13.5px;
	font-weight: 600;
	transition: all .3s;
}


body.front input[type=text] {
	width: 100%;
}

.site-search #edit-actions {
	width: 35px;
	height: 32px;
	border-left: 1px solid rgba(0,0,0,0.1);
	position: absolute;
	right: -10000px;
	top: -10000px;

}

.site-search #edit-actions:hover {
	border-color: transparent;
}


.site-search #edit-actions:before {
	font-family: FontAwesome;
	content: "\e036";
	font-size: 12px;
	line-height: 32px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 35px;
	z-index: 1;
	transition: all .5s;
}

.site-search #edit-actions:hover:before {
	color: #fafafa;
	background: #0097d5;
	border-radius: 2px;
}

.site-search input[type=text] {
	background: transparent;
}

#pageWrapper .site-search input[type=submit] {
	font-size: 0;
	background: transparent;
	border: none;
	width: 35px;
	height: 32px;
	padding: 0;
	z-index: 2;
	position: absolute;
	top: -10000px;
	left: -10000px;
}

.site-search input[type=submit]:hover {
	background: transparent;
}

.site-search #edit-actions:before {
	display: none!important;
}

.icon-drop {
	position: relative;
}

.icon-drop:after {
	content: "\e051";
	font-family: FontAwesome;
	display: inline-block;
	font-weight: normal;
	font-size: 24px;
	position: absolute;
	top: 5px;
	margin-left: 5px;
	color: rgba(255,255,255,0.8);
	transform: rotate(270deg);
	-ms-transform: rotate(270deg);
	-webkit-transform: rotate(270deg);
}

#options-button.icon-drop:after {
	color: rgba(0,0,0,0.8);
}

input[type="date"],
input[type="password"],
input[type="text"],
input[type="email"],
textarea {
	padding: 10px 8px;
	font-family: 'Open Sans', sans-serif;
	font-size: 13.5px;
	margin: 0;
	line-height: 24px;
	transition: all .2s;
	-webkit-appearance: none;
	border-radius: 2px;
	color: #555;
	font-weight: 400;
	height: 42px;
}

input[type="password"]:hover,
input[type="text"]:hover,
input[type="email"]:hover,
textarea:hover,
input[type="password"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
	border: 1px solid rgba(0,0,0,0.3);
	outline: 0;
}

.ie9 input[type="date"],
.ie9 input[type="password"],
.ie9 input[type="text"],
.ie9 input[type="email"] {
	height: 42px;
}

textarea {
	width: 100%;
	overflow: auto; 
	vertical-align: top; 
	resize: vertical; 
}

label {
	display: block;
}

select {
	width: 99%;
	padding: 0 25px 2px 6px;
	font-size: 13.5px;
	line-height: 38px;
	height: 42px;
	background: #fff url('../img/select-bg.png') no-repeat;
	background-size: 44px 44px;
	background-position: right center;
	-webkit-appearance: none;
	-moz-appearance: none; 
	border-radius: 2px;
	box-shadow: none;
	border: 1px solid #e2e2e2;
	color: #555;
}

select::-ms-expand {
	display: none;
}

.ie9 select {
	line-height: 24px;
	padding: 10px;
	background: none;
}

select:hover {
	cursor: pointer;
}

input[type="checkbox"] + label:hover,
input[type="radio"] + label:hover,
input[type="checkbox"]:hover + label,
input[type="radio"]:hover + label,
input[type="checkbox"]:checked + label,
input[type="radio"]:checked + label{
	color: #353535;
}

form { 
	margin: 0; 
}

fieldset { 
	border: 0; 
	margin: 0; 
	padding: 0; 
	width: 100%;
}

label { 
	cursor: pointer; 
}

legend { 
	border: 0; 
	padding: 0; 
	white-space: normal; 
}

button, 
input, 
select, 
textarea { 
	font-size: 100%; 
	margin: 0; 
	vertical-align: baseline; 
	font-family: 'Open Sans', sans-serif;
}

textarea { 
	height: 200px;
}

button, input { 
	line-height: normal; 
}

button[disabled], 
input[disabled] { 
	cursor: default; 
}

input[type="checkbox"], 
input[type="radio"] { 
	padding: 0; 
}

input[type="search"] { 
	-webkit-appearance: textfield; 
}

input[type="search"]::-webkit-search-decoration, 
input[type="search"]::-webkit-search-cancel-button { 
	-webkit-appearance: none; 
}

button::-moz-focus-inner, 
input::-moz-focus-inner { 
	border: 0; 
	padding: 0; 
}

input:invalid, 
textarea:invalid { 
	background-color: #f0dddd; 
}

input:-webkit-autofill, 
textarea:-webkit-autofill, 
select:-webkit-autofill {
	background: rgba(0,0,0,0.05);
}

input[name="mail"] {
	background: url(../img/form-elements/envelope.png) no-repeat center right;
}

input[name="telephone"] {
	background: url(../img/form-elements/phone.png) no-repeat center right;
}

input[name="mobile_num"] {
	background: url(../img/form-elements/mobile.png) no-repeat center right;
}

input[name="mail"],
input[name="telephone"],
input[name="mobile_num"] {
	background-size: 32px 32px;	
	padding-right: 40px;
}


/*	
----------------------------------------------------------
Structural
---------------------------------------------------------- 
*/

.wrap,
.container, 
#main {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
}

#content {
	float: right;
	border: none;
	background: #ffffff;
	padding: 12px 20px 20px 20px;
	position: relative;
	margin-top: 30px;
	margin-bottom: 30px;
}

.opco #content {
	background: none;
	border: 0;
	padding: 0;
}

#sidebar {
	width: 28%;
	margin: 30px 30px 30px 0;
	font-size: 13.5px;
	font-weight: 600;
}

.opco #sidebar > div,
.opco #sidebar > ul {
	background: none;
	border: 0;
	padding: 0;
}

#main.sidebar-left #sidebar{
	float: right;
}

#main.sidebar-right #sidebar{
	float: left;
	margin: 30px 0;
}

#main.sidebar-left #content{
	float: right;
}

#main.sidebar-right #content{
	float: left;
	margin: 30px 30px 30px 0;
}

#content {
	width: 100%;
}

#main.sidebar-left #content,
#main.sidebar-right #content {
	width: calc(72% - 30px);
}

#main.opco.sidebar-right #content {
	width: calc(66.66666666666666666% - 20px);
}

#main.opco.sidebar-right #content + #sidebar {
	width: calc(33.3333333333333% - 20px);
	margin: 30px 0;
}

.col-right {
	width: 66%;
	float: right;
}

.col-2 {
	float: left;
	width: 50%;
	padding: 10px;
}

.col-3 {
	float: left;
	width: 33%;
	line-height: 1.25em;
	text-align: left;
}

.col-3:last-child {
	margin: 0;
}

.col-3 img {
	width: 100%;
	height: auto;
}

.col-4 {
	float: left;
	width: 25%;
	padding: 10px 50px;
	line-height: 1.25em;
	text-align: left;
}

.full-width {
	width: 100%;
}

.il {
	display: inline-block
}

.fl {
	float: left
}

.fr {
	float: right
}

.float-content-right {
	position: relative;
	overflow: hidden;
	margin-bottom: 24px;
}



/*	
----------------------------------------------------------
Micro Menu
---------------------------------------------------------- 
*/

#pageWrapper #main > ul.mini {
	display: none;
}

.micro-menu {
	width: 100%;
	position: relative;
	font-size: 13.5px;
}

.micro-menu:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.micro-menu input {
	display: none;
}

.micro-menu input + label {
	display: block;
	background: #fff;
	padding: 12px 16px;
	line-height: 24px;
	margin-bottom: 12px;
	color: #444;
	display: none;
}

.micro-menu input + label:before {
	content: "Open Menu";
}

.micro-menu input + label:after {
	font-family: FontAwesome;
	content: "\e5d2";
	font-size: 20px;
	line-height: 24px;
	float: right;
	font-weight: normal;
}

.micro-menu input:checked + label:after {
	content: "\e117";
}

.micro-menu input:checked + label:before {
	content: "Close Menu";
}

.micro-menu > ul {
	width: 100%;
	margin: 0 0 30px 0;
	padding: 0;
	background: #fff;
}

.micro-menu > ul > li {
	list-style-type: none;
	display: block;
	float: left;
	position: relative;
	background: #fff;
	border-right: 2px solid rgba(0,0,0,0.1);
	font-weight: 600;
}

.micro-menu > ul > li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 14px 16px;
	transition: all .2s ease;
}

.micro-menu > ul > li.active-trail > a,
.micro-menu > ul > li a.active,
.micro-menu > ul > li a:hover {
	background: #0097d5;
	color: #fafafa;
}




/*	
----------------------------------------------------------
Site Header
---------------------------------------------------------- 
*/


#toggle-menu,
#toggle-menu + label {
	display: none;
}

body {
	padding-top: 90px;
}

header#header {
	background: #fcfcfc;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.08);
}

.front h1,
header#header + h1 {
	position: fixed;
	top: -10000px;
	left: -100000px;
}

.user-menu > li > a
{
	display: block;
	line-height: 42px;
	height: 42px;
	padding: 0 24px;
	color: #212B55;
	font-weight: 700;
	font-size: 10px;
	cursor: pointer;
	text-transform: uppercase;
	height: auto;
	margin: 0;
	width: auto;
}

.user-menu > li{
	border-right: 1px solid rgba(0,0,0,0.1);
	margin: 0;
	vertical-align: top;
	height: 42px;
	margin: 0 -2px 0 -2px;
	transition: all .3s;
	width: auto;
	display: inline-block;
}

.user-menu > li:first-child,
{
	border-left: 1px solid rgba(0,0,0,0.1);
}

.user-menu {
	text-align: right;
	float: right;
	position: relative;
}

.user-menu > li {
	display: inline-block;
	margin: 0 -2px 0 -2px;
}

.shopping-cart span {
	display: inline-block;
	vertical-align: top;
	line-height: 16px;
	height: 16px;
	background: #0097d5;
	border-radius: 3px;
	padding: 0 6px;
	font-size: 10px;
	margin: 4px 0 0 0;
	position: relative;
	color: #fafafa;
}

.user-menu > li:last-child > a.user-logout,
.user-menu .user-logout{
	font-size: 0;
	line-height: 42px;
	height: 42px;
	width: 42px;
	padding: 0;
	text-align: center;
}

.user-menu .user-logout:before{
	font-family: FontAwesome;
	content: "\f015";
	font-size: 14px;
	font-weight: normal;
	display: inline;
}

.user-menu .user-logout:before {
	content: "\e28d";
	font-size: 16px;
}


/* Site Title */
.site-title {
	width: auto;
	float: left;
	position: relative;
}

.meu-logo {
	width: 174px;
	height: 36px;
	margin: 18px 0 0 0;
	display: block;
	position: relative;
	transition: all .2s;
	transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
}

.opco-name {
	margin: 0;
	font-size: 11px;
	line-height: 20px;
	color: #212B55;
	display: block;
	position: relative;
	clear: both;
	transition: all .2s;
	transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
}

.shrink .meu-logo {
	float: left;
	margin: 14px 0 0 0;
	width: 150px;
}

.shrink .opco-name {
	font-size: 8px;
	line-height: 16px;
}

.meu-logo:not(.front-logo) #first-svg {
	display: none;
}

.shrink .front .meu-logo {
	margin: 22px 0 0 0;
}

.site-search {
	display: none;
	clear: none;
}


.header-login:hover > a,
.user-menu > li > a:hover{
	background: rgba(0,0,0,0.03);
	color: #212B55;
}

.header-login-form {
	background: #fcfcfc;
	padding: 10px;
	box-shadow: 0 2px 2px rgba(0,0,0,0.3);
	width: 320px;
	position: absolute;
	top: 100%;
	right: 0;
	display: none;
	border-top: 1px solid rgba(0,0,0,0.1);
	z-index: 1000;
}

.header-login-form input[type="text"],
.header-login-form input[type="password"] {
	max-width: 100%;
	margin: 0 0 10px 0;
}

.header-login-form label {
	display: none;
}

.header-login-form p {
	margin: 0;
	position: absolute;
	bottom: 10px;
	left: 10px;
	font-size: 12px;
	line-height: 20px;
}

.header-login-form p:first-of-type {
	bottom: 31px;
}

.header-login-form a {
	color: #0097d5;
}

.header-login.timeout > div,
.header-login:hover > div {
	display: block;
}

/*	
----------------------------------------------------------
Sidebar
---------------------------------------------------------- 
*/

#sidebar > div, 
#sidebar > ul {
	margin-bottom: 30px;
	border: none;
	background: #ffffff;
	padding: 12px 20px;
}

#sidebar > div#timetable_search {
	padding: 16px 20px 20px 20px;
}

.opco #sidebar > div#timetable_search {
	padding: 0;
}

#sidebar > div#timetable_search input[type="text"] {
	margin: 8px 0 20px 0;
}

#sidebar > ul {
	padding: 0;
}

#sidebar #favourites {
	padding: 16px 20px 20px 20px;
}

#sidebar > *:last-child {
	margin-bottom: 0;
}

.hidden {
	display: none;
}

body .invisible {
	position: absolute;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
}

#sidebar > ul {
	background: none;
}

ul#sidebar_navigation ul{
	padding: 0;
	width: calc(100% - 20px);
	margin-left: 20px;
}

ul#sidebar_navigation li {
	list-style: none;
	position: relative;
}

ul#sidebar_navigation li ul li {
	margin-bottom: 2px;
}

ul#sidebar_navigation li ul li a {
	background: #fff!important;
	color: #555555!important;
	padding: 4px 16px;
	margin-bottom: 2px;
	line-height: 24px;
	transition: all .2s ease;
	font-weight: 600;
	border-left: 2px solid #0097d5;
	border-bottom: none;
}

ul#sidebar_navigation li ul li a.active,
ul#sidebar_navigation li ul li a:hover {
	/*background: #0097d5!important;
	color: #f0f0f0!important;*/
}

ul#sidebar_navigation li ul li a:after {
	border-color: transparent transparent transparent transparent!important;
	border-width: 0 0 0 0;
}

ul#sidebar_navigation li a {
	display: block;
	padding: 12px 20px;
	border-bottom: 2px solid #f3f3f3;
	position: relative;
	line-height: 24px;
	background: #ffffff;
	color: #00638A;
	font-weight: 600;
	font-size: 13.5px;
}

ul#sidebar_navigation li a:hover {
	color: #0097d5;
	text-decoration: none;
}

ul#sidebar_navigation li a.active,
ul#sidebar_navigation li.active-trail > a {
	position: relative;
	background: #0097d5!important;
	color: #fff!important;
}

ul#sidebar_navigation li > ul > li.active-trail.has-children > a:first-child:after,
ul#sidebar_navigation li > ul > li > ul > li.active-trail.has-children > a:first-child:after,
ul#sidebar_navigation li > ul > li > ul > li > ul > li.active-trail.has-children > a:first-child:after  {
	content: "";
	position: absolute;
	top: 22px;
	right: 20px;
	z-index: 9;
	border-style: none;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #fff;
	border-color: #fff transparent transparent transparent!important;
}

#sidebar li.has-children a:after {
	content: "";
	position: absolute;
	top: 22px;
	right: 20px;
	z-index: 9;
	border-style: none;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #aaa;
}

#sidebar li.has-children a:hover:after {
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #0097d5 ;
}

#sidebar li.has-children.active-trail a:hover:after,
ul#sidebar_navigation li a.active:after,
ul#sidebar_navigation li.active-trail a:after {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	top: 0;
	right: -10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 0 24px 10px;
	border-color: transparent transparent transparent #0097d5;
}

ul#sidebar_navigation li.active.has-children a:after {
	content: "";
	border-style: solid;
	border-width: 24px 0 24px 10px;
	border-color: transparent transparent transparent #0097d5;
}

ul#sidebar_navigation li ul li.has-children > a:after {
	content: "";
	position: absolute;
	top: 13px!important;
	right: 10px!important;
	z-index: 9;
	border-style: solid!important;
	border-width: 5px 5px 0 5px!important;
	border-color: #aaa transparent transparent transparent!important;
}

ul#sidebar_navigation li ul > li.has-children > a:hover:after {
	border-color: #fff transparent transparent transparent!important;
}

.breadcrumbs {
	background: rgba(0,0,0,0.019);
	padding: 10px 0;
	color: #aaa;
	font-size: 12px;
	font-weight: 600;
	margin: 0;
}

.breadcrumbs a.atual{
	color: #00638a;
}

.breadcrumbs a {
	color: #a5a5a5;
}

.breadcrumbs span {
	display: inline-block;
	vertical-align: top;
	padding: 0 8px;
	font-size: 0;
	height: 18px;
}

.breadcrumbs span:before {
	content: "\f105";
	font-family: FontAwesome;
	font-weight: normal;
	font-size: 12px;
	color: rgba(0,0,0,0.4);
	height: 18px;
	line-height: 18px;
	margin-top: 3px;
	display: inline-block;
}



/*	
----------------------------------------------------------
Footer
---------------------------------------------------------- 
*/

#footer {
	background: #00638A;
	padding: 30px 0;
	color: #eaeaea;
	border-top: 4px solid #0097d5;
}

#footer h2.section-title {
	color: #d5d5d5;
	padding-bottom: 12px;
	margin-bottom: 16px;
	border-bottom: 2px solid rgba(255,255,255,0.1);
}

#upper-footer {
	background: #e9e9e9;
	padding: 30px 0;
}

#upper-footer .col-3 {
	position: relative;
	background: #fff;
	width: calc(33.33333333333% - 20px);
	margin-right: 30px;
}

#upper-footer .col-3:nth-of-type(3) {
	margin-right: 0;
}

#upper-footer .promo-title {
	position: absolute;
	bottom: 0;
	width: 100%;
	background: #0097d5;
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	color: #fff;
	padding: 14px 20px 15px 20px;
}

#lower-footer {
	background: #f4f4f4;
}

ul#footer_navigation li{
	float: left;
	margin-right: 20px;
}

ul#footer_navigation li a,
ul#external_navigation li a,

#lower-footer p{
	text-align:center;
	padding-top:10px;
	color: #ffffff;
}

.credits-left {
	width: 70%;
	margin-right: 5%;
	float: left;
}

.credits-right {
	width: 25%;
	float: left;
	color: #eaeaea;
}

.credits-right .footer-first-logo {
	width: 80px;
	height: auto;
}

.credits-right p, 
.credits-right p i,
.credits-right a {
	margin: 0;
	color: #eaeaea; 
}

ul#external_navigation li {
	width: 30%;
	float: left;
	position: relative;
}

.credits-right div {
	margin-top: 16px;
}

.credits-right a.footer-logo {
	color: #fff;
}


/*	
----------------------------------------------------------
Front Page
---------------------------------------------------------- 
*/

body.front .col-3 {
	width: 33.333333333%;
	padding: 14px 20px 20px 20px;
}

body.front .col-3.left {
	float: left;
	border-top: 0;
	background: #ffffff;
}

body.front .col-3:last-child {
	padding: 0;
}

body.front .row-top p.desc {
	margin-bottom: 12px;
}

.front .journey-planner label {
	line-height: 20px;
}

.or {
	width: 100%;
	text-align: center;
	display: inline-block;
	font-weight: 700;
	margin: 31px 0 36px 0;
	visibility: hidden;
	position: relative;
}

.or span {
	width: 40px;
	position: absolute;
	left: 50%;
	margin-left: -20px;
	text-align: center;
	display: block;
	line-height: 24px;
	height: 24px;
	top: -2px;
	background: #f4f4f4;
}

.or:before {
	content: "";
	width: calc(100% - 40px);
	margin-left: 8px;
	position: relative;
	top: -3px;
	display: inline-block;
	height: 1px;
	background: rgba(0,0,0,0.1);
}


/*	
----------------------------------------------------------
Sliders
---------------------------------------------------------- 
*/

.fg-home-slider-wrap {
	position: relative;
	height: 0;
	width: 100%;
	padding-bottom: 22%;
	z-index: 1;
	background: #f0f0f0;
}

.fg-home-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
}

.fg-home-slider .wrap {
	position: relative;
	width: 100%;
	height: 100%;
}

.front #main {
	z-index: 10;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	height: 100%;
}

.slick-slider .slick-track {
	width: 100%;
}

.slick-slide {
	width: 100%;
}

.slick-slide:after {
	content: "";
	background: rgba(37,37,37,0.15);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.slider a {
	text-decoration: underline;
}

.slider a:hover li .slide-content {
	background: #00549f;
}

.slide-content {
	position: absolute;
	left: 30px;
	font-size: 22px;
	max-width: 400px;
	color: #fff;
	font-weight: 700;
	bottom: 20px;
	padding: 16px 30px 20px 30px;
	background: rgba(213, 4, 95, 0.7);
}

.fg-opco-slider {
	margin-bottom: 20px;
	display: none;
}

.flexslider .container {
	position: relative;
}

.opco .slide-content {
	left: 0;
	bottom: 0;
	background: #212b55;
	margin: 0;
	width: 100%;
	max-width: 100%;
	font-size: 20px;
}

.opco .flex-control-nav {
	top: 20px;
	right: 20px;
}

.slick-slide > a {
	display: block;
}

#pageWrapper button.slick-arrow {
	background: none;
	width: 44px;
	height: 44px;
	font-size: 0;
	background: none;
	border-radius: 0;
	position: absolute;
	top: 50%;
	opacity: 0;
	text-align: center;
	line-height: 44px;
	padding: 0;
	margin: -22px 0 0 0;
	z-index: 10;
	transition: opacity .3s;
}

#pageWrapper button.slick-arrow:focus {
	outline: none;
}

#pageWrapper button.slick-arrow:before {
	font-family: FontAwesome;
	font-size: 24px;
	color: rgba(255,255,255,0.8);
}

#pageWrapper button.slick-prev.slick-arrow {
	left: 0;
}

#pageWrapper button.slick-prev.slick-arrow:before {
	content: '\f104';
}

#pageWrapper button.slick-next.slick-arrow {
	right: 0;
}

#pageWrapper button.slick-next.slick-arrow:before {
	content: '\f105';
}

#pageWrapper .slick-slider:hover button.slick-arrow {
	opacity: 1;
}

span.toparrow {
	width: 20px;
	position: absolute;
	height: 50%;
	left: 40.2%;
	bottom: 0px;
	background: -webkit-linear-gradient(to right bottom, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
	background: -moz-linear-gradient(to right bottom, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
	background: linear-gradient(to right bottom, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
}

span.bottomarrow {
	width: 20px;
	position: absolute;
	height: 50%;
	left: 40.2%;
	top: 0px;
	background: -webkit-linear-gradient(to right top, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
	background: -moz-linear-gradient(to right top, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
	background: linear-gradient(to right top, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
}

.slide-content span.text {
	position: relative;
	width: 1024px;
	padding-right: 640px;
	margin: 0 auto;
	font-size: 21px;
	display: block;
}

.row-bottom {
	width: 100%;
	display: inline-block;
	margin: 30px 0;
}

body.front .row-bottom .col-3 {
	padding: 0;
	width: calc(33.3333333333% - 20px);
	margin: 6px 30px 0 0 ;
}

body.front .row-bottom .col-3:nth-of-type(3) {
	margin-right: 0;
}

.news-date-box {
	float: left;
	position: relative;
	color: #fafafa;
	height: 60px;
	width: 60px;
	margin: 6px 20px 0 0;
	border-radius: 2px;
}

.news-panel-summary .news-date-box {
	margin-top: 0;
}

.news-panel-summary .news-content {
	margin-top: -4px;
}

.news-date-cont {
	position: absolute;
	right: 6px;
	bottom: 3px;
}

span.news-date {
	font-weight: 600;
	font-size: 22px;
	text-align: right;
}

span.news-month {
	font-weight: 700;
	font-size: 11.5px;
	display: block;
	letter-spacing: 1px;
	text-align: right;
	text-transform: uppercase;
}

body.front .news-content {
	float: left;
	position: relative;
	width: calc(100% - 80px);
}

body.front .news-content h3 {
	margin-bottom: 12px;
}

.news-content p.desc {
	margin: 0;
}



/*	
----------------------------------------------------------
Tables
---------------------------------------------------------- 
*/

#content table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 24px;
}

.table-scroller table {
	width: auto;
	min-width: 100%;
	margin: 0!important;
}

.table-scroller table caption {
	font-size: 16px;
	color: #676767;
	margin-bottom: 12px;
	font-weight: 700;
	text-align: left;
}

#content .table-scroller table th {
	background: rgba(0,0,0,0.05);
	padding: 10px!important;
	text-align: left;
}

#content .table-scroller table th,
#content .table-scroller table th p,
#content .table-scroller table th h1,
#content .table-scroller table th h2,
#content .table-scroller table th h3,
#content .table-scroller table th h4 {
	font-weight: 700;
	font-size: 13.5px;
	line-height: 24px;
	color: #212b55;
}

#content .table-scroller table tr td {
	padding: 10px;
	font-size: 13.5px;
	font-weight: 400;
	line-height: 24px;
}

#content .table-scroller table tr th > *:last-child,
#content .table-scroller table tr td > *:last-child {
	margin-bottom: 0;
}

#content .table-scroller {
	width: 100%;
	overflow-y: auto;
	border: 1px solid rgba(0,0,0,0.05);
	margin-bottom: 24px;
}

#content .table-scroller table caption {
	margin-bottom: 0!important;
	background: #0097d5;
	color: #fafafa;
	padding: 10px;
}

#content .table-scroller table caption h2 {
	margin: 0!important;
	color: #fafafa;
}

#content .table-scroller tr:nth-of-type(odd) {
	background: rgba(0,0,0,0.04);
}

#content .table-scroller tr:nth-of-type(even) {
	background: rgba(0,0,0,0.01);
}

#content .table-scroller::-webkit-scrollbar {
	display: block!important;
	visibility: visible!important;
	width: 100%;
	height: auto;
}

.pagename-timetables #content .table-scroller table thead {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.pagename-timetables #content .table-scroller table th {
	text-align: center;
	padding: 10px;
}

.pagename-timetables #content .table-scroller table td {
	text-align: center;
}

.pagename-timetables #content .table-scroller table .first-column {
	text-align: left;
}

.pagename-timetables #content .table-scroller table p:last-of-type {
	margin-bottom: 0;
}

.pagename-timetables #content .table-scroller td.first-column {
	background: rgba(0,0,0,0.05);
	font-weight: 600;
}

.table-scroller::-webkit-scrollbar {
	width: 100%;
}

.table-scroller::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
}

.table-scroller::-webkit-scrollbar-thumb {
	background: #0097d5;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
}
.table-scroller::-webkit-scrollbar-thumb:window-inactive {
	background: rgba(255,0,0,0.4); 
}

/*
----------------------------------------------------------
Legacy IE Styles
---------------------------------------------------------- 
*/

.lte-ie8 #main.sidebar-left #content,
.lte-ie8 #main.sidebar-right #content {
	width: auto;
}

.ie9 ul.transport-types.transport-mode li span {
	left: 0!important;
}



body #pageWrapper ul li.menu-2525,

@media only screen and (max-width: 1080px) {

	#regions_div, 
	#regions_div_2 {
	    height: 310%!important;
	    position: absolute;
	    top: -110%;
	    left: -120%;
	    width: 325%!important;
	}

}


@media only screen and (min-width: 961px) and (max-width: 1200px) {

	#pageWrapper nav.nav ul#main_navigation > li > a, 
	#pageWrapper nav.nav ul#main_navigation > li > span {
	    padding: 0 16px;
	}

	#pageWrapper #main_navigation > li.has-children > a:after, 
	#pageWrapper #main_navigation > li.has-children > span:after {
	    right: 8px;
	}

}


@media only screen and (min-width: 961px) {

	#header.shrink {
		box-shadow: 0 2px 2px rgba(0,0,0,0.1);
	}

	.meu-logo.front-logo {
		width: 183px;
		height: 38px;
		margin: 24px 0 0 0;
	}

	.meu-logo.front-logo {
		width: 183px;
		height: 38px;
		transition: all .2s;
	}

	.shrink .meu-logo.front-logo {
		margin: 20px 0 0 0;
		width: 150px;
	}

	#toggle-user-menu,
	#toggle-user-menu + label {
		display: none;
	}

	.nav {
		width: 100%;
		clear: both;
		position: relative;
	}

	#main_navigation li {
		float: left;
		position: relative;
	}

	#main_navigation > li.has-children:after {
		content: "";
		border-style: none;
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-bottom: 6px solid #0097d5;
		position: absolute;
		bottom: 0;
		left: 50%;
		transition: all .4s;
		opacity: 0;
		margin: 0 0 0 -3px;
		transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		-webkit-transform: translate3d(0,0,0);
	}

	#main_navigation > li.has-children:hover:after {
		opacity: 1;
	}

	#main_navigation li a,
	#main_navigation li > span {
		padding: 9px 16px;
		font-size: 12px;
		color: #606060;
		display: block;
		font-weight: 700;
		text-transform: uppercase;
	}

	#main_navigation li,
	#main_navigation a,
	#main_navigation span {
		transition: all .4s;
		transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		-webkit-transform: translate3d(0,0,0);
	}

	#main_navigation li a:hover,
	#main_navigation li > span:hover {
		color: #212b55;
	}
	
	#main_navigation ul li.has-children > a {
		padding-right: 20px;
	}

	#main_navigation ul li.has-children > a:after {
		content: "\f105";
		font-family: FontAwesome;
		font-weight: normal;
		position:  absolute;
		right: 0;
		top: 50%;
		margin-top: -12px;
	}

	.more-open span,
	body #pageWraper li.active-trail.moreplus span {
		background: #0097d5;
		color: #fafafa;
	}

	.moreplus {
		cursor: pointer;
	}

	.user-menu ul,
	#main_navigation ul,
	.moreplus ul {
		position: absolute;
		left: 0;
	    height: auto;
	    max-height: 0;
		top: 100%;
		width: 240px;
		background: #fafafa;
		z-index: 1000;
		padding: 0;
		visibility: hidden;
		opacity: 0;
		transition: opacity .2s;
		transform: translate3d(0,0,0) translateX(-100px);
		-ms-transform: translate3d(0,0,0) translateX(-100px);
		-webkit-transform: translate3d(0,0,0) translateX(-100px);
	}

	#main_navigation > li > ul,
	.moreplus > li > ul {
		border-top: 2px solid #0097d5;
	}

	#main_navigation ul li,
	.moreplus ul li {
		width: 100%;
		padding: 10px 12px;
		position: relative;
	}

	.user-menu ul li {
		display: block;
		position: relative;
		padding: 0 12px;
	}

	.user-menu ul li a {
		display: block;
		text-align: left;
		text-transform: none;
	    letter-spacing: 0;
	    line-height: 24px;
	    padding: 10px 0;
	    font-size: 12px;
	    color: #666;
	    font-weight: 600;
	    transition: all .2s;
	    border-bottom: 1px solid rgba(0,0,0,0.1);
	}

	#main_navigation ul li:after,
	.moreplus ul li:after {
		content: "";
		background: rgba(0,0,0,0.05);
		width: calc(100% - 24px);
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 12px;
	}

	#main_navigation ul li a,
	#main_navigation .moreplus ul li a {
		text-transform: none;
		letter-spacing: 0;
		line-height: 24px;
		padding: 0;
		color: #666;
		font-weight: 600;
		transition: all .2s;
	}

	.user-menu > li:hover > ul,
	#main_navigation > li:hover > ul,
	#main_navigation > li > a:hover > ul,
	#main_navigation .moreplus:hover ul,
	#main_navigation > li:hover > ul > li:hover > ul,
	#main_navigation > li > a:hover > ul > li:hover > ul,
	#main_navigation .moreplus:hover ul > li:hover > ul,
	#main_navigation > li:hover > ul > li:hover > ul > li:hover > ul,
	#main_navigation > li > a:hover > ul > li:hover > ul > li:hover > ul,
	#main_navigation .moreplus:hover ul > li:hover > ul > li:hover > ul {
		box-shadow: 0 2px 2px rgba(0,0,0,0.2);	
		visibility: visible;
		opacity: 1;
		max-height: none;
	}

	nav.nav ul#main_navigation > li:hover > a,
	#main_navigation ul li a:hover,
	#main_navigation ul li a.active,
	#main_navigation .moreplus ul li a:hover,
	#main_navigation .moreplus ul li a.active {
		background: transparent;
		color: #0097d5;
	}

	nav.nav {
		width: auto;
		float: right;
		clear: none;
		vertical-align: top;
	}
	
	#main_navigation {
		float: left;
	}

	#main_navigation > li:first-child {
		display: none;
	}

	nav.nav ul#main_navigation > li > a,
	nav.nav ul#main_navigation > li > span {
		line-height: 90px;
		padding: 0 24px;
		font-weight: 700;
		font-size: 11px;
		letter-spacing: 0.5px;
		color: #777;
		transition: all .2s;
		transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		-webkit-transform: translate3d(0,0,0);
	}

	.shrink nav.nav ul#main_navigation > li > a,
	.shrink nav.nav ul#main_navigation > li > span {
		line-height: 70px;	
	}

	#main_navigation li a.active, 
	#main_navigation li a.active-trail, 
	#main_navigation li > span.active, 
	#main_navigation li > span.active-trail {
	    background: none;
	    color: #0097d5;
	}

	#top-navigation > li:nth-of-type(2) > a {
		position: relative;
		padding-right: 28px;
	}

	#top-navigation > li:nth-of-type(2) > a:after,
	#main_navigation > li.has-children > a:after,
	#main_navigation > li.has-children > span:after {
	    content: "";
	    position: absolute;
	    top: 50%;
	    right: 15px;
	    margin-top: -2px;
	    z-index: 9;
	    border-style: none;
	    border-left: 3px solid transparent;
	    border-right: 3px solid transparent;
	    border-top: 4px solid #777;
	}
	
	#top-navigation > li:nth-of-type(2) > a:after {
		border-top: 4px solid #212B55;
	}

	#main_navigation > li.has-children:hover > a:after,
	#main_navigation > li.has-children:hover > span:after {
		border-top: 4px solid #0097d5;
	}

	#main_navigation > li > ul li:hover > ul {
	    box-shadow: 0 2px 2px rgba(0,0,0,0.2);
	    visibility: visible;
	    opacity: 1;
	}

	.toggle-sub-menu,
	.toggle-sub-menu + label {
		display: none;
	}

	#main_navigation li.has-children ul {
		left: 100px;
	}

	.ie9 #main_navigation li.has-children ul {
		left: 0;
	}

	#main_navigation li.has-children ul ul {
		top: 0;
	}

	#main_navigation li.has-children ul li ul {
		left: calc(100% + 100px);
	}

	.ie9 #main_navigation li.has-children ul li ul {
		left: 100%;
	}

	#main_navigation li.has-children.slide-left ul li ul {
		right: calc(-100% - 100px);
	}

	.ie9 #main_navigation li.has-children.slide-left ul li ul {
		left: -100%;
	}

	#top-navigation > li:nth-of-type(2):hover > a,
	#main_navigation li.has-children ul li.has-children:hover {
		background: rgba(0,0,0,0.03);
		color: #212B55;
	}

	#main_navigation li.has-children ul li.has-children:hover > a {
		color: #0097d5;
	}

	#main_navigation > li:nth-last-of-type(1).has-children ul,
	#main_navigation > li:nth-last-of-type(2).has-children ul,
	#main_navigation > li:nth-last-of-type(1).moreplus ul {
		left: auto;
		right: -100%;
	}

	#main_navigation > li:nth-last-of-type(1).has-children ul ul,
	#main_navigation > li:nth-last-of-type(2).has-children ul ul,
	#main_navigation > li:nth-last-of-type(1).moreplus ul ul {
		left: auto;
		right: calc(100% - 100px);
	}
	
	#toggle-search {
		position: absolute;
		top: -10000px;
		left: -10000px;
	}

	#toggle-search + label {
		font-size: 0;
		display: block;
		width: 36px;
		height: 90px;
		line-height: 90px;
		float: right;
		position: relative;
		text-align: right;
		transition: all .2s;
	}
	
	#toggle-search + label:before {
		font-family: FontAwesome;
		content: "\e98a";
		font-size: 12px;
		font-weight: normal;
	}
	
	.shrink #toggle-search + label {
		line-height: 70px;
		height: 70px;
		position: relative;
		display: block;
	}
	
	#toggle-search + label:after {
		content: "";
		border-style: none;
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-bottom: 6px solid #0097d5;
		position: absolute;
		bottom: 0;
		right: 2px;
		transition: all .4s;
		opacity: 0;
		transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		-webkit-transform: translate3d(0,0,0);
	}
	
	#toggle-search:checked + label,
	#toggle-search + label:hover {
		color: #0097d5;
	}
	
	#toggle-search:checked + label:after,
	#toggle-search + label:hover:after {
		opacity: 1;
	}
	
	#toggle-search:checked ~ .site-search,
	#toggle-search + label:hover ~ .site-search {
		display: block;
		position: absolute;
		top: 100%;
		right: -12px;
		background: #fcfcfc;
		width: 280px;
		padding: 12px;
		border-top: 2px solid #0097d5;
		box-shadow: 0 2px 2px rgba(0,0,0,0.2);
	}
	
	.site-search input[type="text"] {
		width: 100%;
		padding-right: 24px;
	}
	
	.site-search .form-type-textfield {
		position: relative;
	}
	
	.site-search .form-type-textfield:before {
		font-family: FontAwesome;
		content: "\e98a";
		font-size: 12px;
		font-weight: normal;
		position: absolute;
		right: 8px;
		color: #aaa;
		top: 9px;
	}
	

	ul#areaList {
	    width: calc(100% - 60px);
	    left: 30px;
	    top: 100%;
	    border: none;
	    margin: 0;
	    padding: 0 20px;
	    background: #fcfcfc;
		height: auto;
		display: none;
   		opacity: 0;
		position: absolute;
		z-index: 1000;
	    column-count: 3;
	    -moz-column-count: 3;
	    -webkit-column-count: 3;
		column-gap: 20px;
		-moz-column-gap: 20px;
		-webkit-column-gap: 20px;
		transition: all .3s;
		transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		-webkit-transform: translate3d(0,0,0);
	    box-shadow: 0 2px 2px rgba(0,0,0,0.3);
	    border-top: 1px solid rgba(0,0,0,0.2);
	}

	#top-navigation > li:nth-of-type(2):hover ul#areaList {
	    opacity: 1;
	    display: block;
	}

	#top-navigation > li:nth-of-type(2):hover a:after {
		border-top-color: #212B55;
	}

	header#header ul#areaList li {
		display: inline-block;
		overflow: hidden;
		-webkit-margin-before: 0;
	  	-webkit-margin-after: 0;
	  	vertical-align: top;
	  	width: 100%;
	}

	ul#areaList li:first-child {
		padding: 0;
	}

	ul#areaList li a {
	    font-size: 12px;
	    font-weight: 600;
	    color: #777;
	    padding: 12px 0;
	    display: block;
	    border-bottom: 1px solid rgba(0,0,0,0.1);
	}


	#top-navigation > li > span {
		padding-right: 36px;
		transition: all .4s;
		transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		-webkit-transform: translate3d(0,0,0);
	}

	#top-navigation > li > span:after {
	    content: "";
	    width: 0;
	    height: 0;
	    border-left: 3px solid transparent;
	    border-right: 3px solid transparent;
	    border-top: 4px solid #777;
	    position: absolute;
	    top: 18px;
	    right: 24px;
	}

	#top-navigation > li:hover > span:after {
		border-top: 4px solid #fafafa;
	}

}



/*	----------------------------------------------------------
	Min 768
	---------------------------------------------------------- */

@media only screen and (min-width:769px) {

	.ctrls ul {
		padding:0 0 14px 0;
		position: relative;
	}

	.ctrls li.reset {
		width: 100%;
		position: absolute;
		right: 0;
		bottom: 0;	
		text-align: right;
		font-size: 12px;
		line-height: 14px;	
	}

	.ctrls li:nth-of-type(3),
	.ctrls li:nth-of-type(4) {
		padding-right:0 !important;
	}

	html,
	.wf-loading {
		transition: opacity .2s;
		opacity: 1;
	}

	.wf-inactive,
	.wf-active {
		opacity: 1;
		background: #292929;
	}
	

}



/*	----------------------------------------------------------
	Min 1024 & Max 1280
	---------------------------------------------------------- */

@media only screen and (min-width:1024px) and (max-width:1280px) {
	table.departure-content .departure td.desc {
		width: auto;
	}

}


/*	----------------------------------------------------------
	Min 769 & Max 1024
	---------------------------------------------------------- */

@media only screen and (min-width:769px) and (max-width:1024px) {

	#content table td,
	#content table th{
		min-width: 0;
	}

	table.departure-content .departure td.desc {
		width: auto;
	}

	ul.transport-types.transport-mode li span {
		left: 0;
		width: 21px;
	}

	#content #transportation-mode label {
	    padding: 0 6px;
	}

	#content #transportation-mode label:before {
		padding-right: 6px;
		font-size: 16px;
	}

	#content #transportation-mode label:after {
		font-size: 14px;
	}

	#journey-type input[type=radio] + label {
		padding-left: 6px;
		padding-right: 6px;
	    font-size: 12px;
	}
	
	#pageWrapper #sidebar .spider-share button {
		width: 100%;
	}
	
	#pageWrapper #sidebar .spider-share button:first-child {
		margin: 0 0 20px 0;
	}

}



/*	----------------------------------------------------------
	Max 1000
	---------------------------------------------------------- */

@media only screen and (max-width:1000px) {
	
	#toggle-search,
	#toggle-search + label {
		display: none;
	}

	/* General */

	body {
		background: #f8f8f8;
	}

	.user-menu ul {
		display: none;
	}

	#user-profile-form .fieldset-wrapper > .form-item {
		height: auto;
	}

	.front-map-container {
		height: 158%;
		top: -25%;
	}

	.pagename-contact-us .front-map {
	    display: none;
	}

	.pagename-contact-us .find-opco {
        margin-bottom: 24px;
        width: 100%;
	}
	
	#area_selector {
		position: relative;
		margin-top: 12px;
		width: 100%;
	}
	
	#area_selector label {
		width: 100%;
	}

	#upper-footer .promo-title {
		font-size: 14px;
		padding: 10px;
	}

	.opco-name { 
		font-size: 11px;
	}

	

    /* Site Header */

    body {
    	padding-top: 0;
    }

    header#header {
    	position: relative;
    	top: auto;
    	left: auto;
    	right: auto;
    	height: 70px;
    }

    header#header > .wrap {
    	height: 70px;
    	box-shadow: 0 2px 2px rgba(0,0,0,0.08);
    }

    .meu-logo {
	    float: left;
	    margin: 12px 0;
	    width: 88px;
	    height: 28px;
	}

	.meu-logo svg {
		width: 88px;
	    height: 28px;
	}

	.meu-logo.front-logo {
	    width: 145px;
	    height: 46px;
	}

	.front-logo.meu-logo svg {
		margin: 8px 0;
		width: 145px;
	    height: 30px;
	}

	.meu-logo + .opco-name {
		position: relative;
		left: auto;
		bottom: auto;
		clear: both;
		margin: 0 0 12px 0;
		top: -12px;
		font-size: 11px;
		line-height: 18px;
	}

	.breadcrumbs {
    	display: none;
    }


	/* Site Navigation */

    #toggle-menu,
    .toggle-sub-menu {
    	display: none;
    }

    #toggle-menu + label {
    	position: absolute;
    	right: 0;
    	top: 0;
    	font-size: 0;
    	display: block;
    	line-height: 70px;
    	height: 70px;
    	width: 40px;
    	text-align: center;
    }

	#toggle-menu + label:before {
		font-family: FontAwesome;
		content: "\f0c9";
		font-size: 22px;
		font-weight: normal;
		color: #656565;
	}

	#toggle-menu:checked + label:before {
		content: "\f00d";
	}
	
	#areaList,
	nav.nav {
		background: #fafafa;
		position: fixed;
		height: calc(100% - 110px);
		width: 100%;
		left: 0;
		right: 0;
		bottom: 0;
		top:70px;
		z-index: -1;
		transition: all .3s;
		overflow-y: scroll;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		transform: translate3d(0,0,0) translateX(-100%);
		-ms-transform: translate3d(0,0,0) translateX(-100%);
		-webkit-transform: translate3d(0,0,0) translateX(-100%);
	}

	ul#areaList {
		padding: 0 12px;
	}
	
	ul#areaList:after {  
		content: "";
		display: table;
		clear: both;
	}

	#areaList::-webkit-scrollbar,
	nav.nav::-webkit-scrollbar {
		display: none;
		visibility: hidden;
		width: 0;
		height: 0;
	}

	li.arealist.open #areaList {
		transform: translate3d(0,0,0) translateX(0);
		-ms-transform: translate3d(0,0,0) translateX(0);
		-webkit-transform: translate3d(0,0,0) translateX(0);
	}

	header#header .site-search {
		display: block;
		position: absolute;
		top: 12px;
		left: 0;
		width: calc(100% - 24px);
		margin: 0 12px;
	}

	#toggle-menu:checked ~ nav {
		transform: translate3d(0,0,0) translateX(0);
		-ms-transform: translate3d(0,0,0) translateX(0);
		-webkit-transform: translate3d(0,0,0) translateX(0);
	}

	ul#main_navigation {
		width: 100%;
		padding: 0 12px;
		border-top: 1px solid rgba(0,0,0,0.1);
	}

	nav.nav ul#main_navigation a:after, 
	nav.nav ul#main_navigation span:after {
		display: none;
	}

	#areaList li,
	ul#main_navigation li {
		display: block;
		width: 100%;
		position: relative;
		border-bottom: 1px solid rgba(0,0,0,0.1);
	}

	#areaList li a,
	nav.nav ul#main_navigation a, 
	nav.nav ul#main_navigation li span {
		width: 100%;
		padding: 14px 0;
		line-height: 24px;
		display: block;
		position: relative;
	}
	
	nav.nav ul#main_navigation ul {
		background: rgba(0,0,0,0.02);
	}
	
	nav.nav ul#main_navigation ul li {
		width: calc(100% - 16px);
		margin-left: 16px;
	}

	nav.nav ul#main_navigation a.active {
		color: #0097d5;
		padding-left: 16px;
		border-left: 3px solid #0097d5;
	}
	
	nav.nav ul#main_navigation li.active-trail > a {
		border-left: 3px solid rgba(0,0,0,0.3);
		padding-left: 16px;
	}

	nav.nav ul#main_navigation ul li:first-child {
		border-top: 1px solid rgba(0,0,0,0.1);
	}

	nav.nav ul#main_navigation ul li:last-child {
		border-bottom: none;
	}
	
	nav.nav ul#main_navigation ul {
		overflow: visible;
	}
	
	nav.nav ul#main_navigation ul:before {
		content: "";
		background: rgba(0,0,0,0.1);
		height: 1px;
		width: 16px;
		position: absolute;
		top: 0;
		left: 0;
	}

	.toggle-sub-menu + label {
		position: absolute;
		right: 0;
		top: 0;
		height: 52px;
		font-size: 0;
		display: block;
		width: 52px;
		border-left: 1px solid rgba(0,0,0,0.1);
	}

	.toggle-sub-menu + label:before {
		content: "\f105";
		font-family: FontAwesome;
		font-size: 16px;
		font-weight: normal;
		line-height: 52px;
		width: 52px;
		text-align: center;
		display: block;
		transition: all .5s;
		transform: translate3d(0,0,0) rotate(90deg);
		-ms-transform: translate3d(0,0,0) rotate(90deg);
		-webkit-transform: translate3d(0,0,0) rotate(90deg);
	}
	
	ul#main_navigation li.has-children > a {
		padding-right: 54px;
	}

	.toggle-sub-menu:checked + label:before {
		transform: translate3d(0,0,0) rotate(270deg);
		-ms-transform: translate3d(0,0,0) rotate(270deg);
		-webkit-transform: translate3d(0,0,0) rotate(270deg);
	}

	.toggle-sub-menu ~ ul {
		max-height: 0;
		overflow: hidden;
		transition: all .2s;
		transform: translate3d(0,0,0) scaleY(0) translateY(-50%);
		-ms-transform: translate3d(0,0,0) scaleY(0) translateY(-50%);
		-webkit-transform: translate3d(0,0,0) scaleY(0) translateY(-50%);
	}

	.toggle-sub-menu:checked ~ ul {
		max-height: none;
		transform: translate3d(0,0,0) scaleY(1) translateY(0);
		-ms-transform: translate3d(0,0,0) scaleY(1) translateY(0);
		-webkit-transform: translate3d(0,0,0) scaleY(1) translateY(0);	
	}

	#dropdown > div {
		padding: 0;
	}

	.user-menu > li, #top-navigation > li {
		height: 40px;
	}

	.user-menu > li > a.user-profile-link,
	.user-menu > li:last-child > a.user-logout, 
	.user-menu .user-logout, #top-navigation > li:first-child a, 
	#top-navigation > li:last-child a,
	#top-navigation > li.arealist > span {
	    font-size: 0;
	    line-height: 40px;
	    height: 40px;
	    padding: 0;
	    width: 40px;
	    text-align: center;
	}

	.user-menu > li > a.user-profile-link:before {
		font-family: FontAwesome;
		content: "\f007";
		font-weight: normal;
		font-size: 13px;
	}

	.user-menu > li > a, 
	#top-navigation > li > a, 
	#top-navigation > li > span {
	    display: block;
	    line-height: 40px;
	    height: 40px;
	    padding: 0 12px;
	    color: #212B55;
	    font-weight: 700;
	    font-size: 10px;
	    cursor: pointer;
	    text-transform: uppercase;
	    margin: 0;
	}

	.header-login.timeout > div,
	.header-login:hover > div {
		display: none;
	}
	
	ul#areaList {
		box-shadow: inset 1px 4px 9px -6px;
	}



	/* Columns */

	#main.opco.sidebar-right,
	#main.opco.sidebar-right #content {
	    width: 100%;
	    padding: 0!Important;
	}

	#main.opco.sidebar-right, 
	#main.opco.sidebar-right #content {
		margin: 0;
	}

	#main.opco.sidebar-right #content .journey-planner {
		padding: 0 20px;
		margin: 30px 0 0 0;
	}

	#main.opco.sidebar-right #content + #sidebar {
		width: 100%;
		padding: 0 20px;
	}

	.wrap,
	.container, 
	#main {
		max-width: 1400px;
		margin: 0 auto;
		padding: 0 20px;
		position: relative;
	}

	#main {
		margin: 20px 0;
	}

	body.front .col-3.front-map {
		display: none;
	}

	body.front .col-3.left,
	body.front .col-3 {
		width: calc(50% - 10px);
		padding: 0;
		margin: 0;
		background: none;
	}
	
	body.front .col-3.left {
		margin-bottom: 20px;
	}

	body.front .col-3:first-child {
		margin-right: 20px;
	}
	
	body.front .row-bottom {
		margin-top: 0;
	}

	#main.opco.sidebar-right #content + #sidebar {
		margin-top: 30px;	
	}


}




/*	----------------------------------------------------------
	Min 540 & Max 959
	---------------------------------------------------------- */
 
@media only screen and (min-width:468px) and (max-width:959px) {

	.opco #sidebar > div.timetable-search-mini {
		width: calc(50% - 10px);
		float: left;
		position: relative;
	}


	body.front .row-bottom .col-3,
	.col-3, 
	.col-3:last-child, 
	#upper-footer .col-3, 
	#upper-footer .col-3:last-child {
    	margin: 0 20px 20px 0;
    	width: calc(50% - 10px);
    }

	body.front .row-bottom .col-3:nth-of-type(2n),
    .col-3:nth-of-type(2n), 
	#upper-footer .col-3:nth-of-type(2n) {
		margin-right: 0;
	}

}



/*	----------------------------------------------------------
	Max 768
	---------------------------------------------------------- */

@media only screen and (max-width:768px) {

	.wrap, 
	.container, 
	#main {
		padding: 0 12px;
	}
	
	#main.sidebar-left #content {
		margin-bottom: 0;
	}

	.shrink .top-nav {
		background: rgba(255,255,255,0.85);
	}

	div#cookieBanner {
		padding: 12px;
	}

	div#cookieBanner .container {
		padding-right: 32px;
	}

	div#cookieBanner a {
		float: none;
	}

	body div#cookieBanner button {
		right: 0;
	}

	.wrap {
		padding: 0 12px;
	}

	input[type="password"],
	input[type="text"],
	input[type="email"],
	textarea,
	select,
	button,
	.btn,
	.fieldsubmit, 
	input[type=submit], 
	.btn-p {
	    font-size: 14px;
	}

	.ctrls li.reset a {
		margin-top: 4px;
	}

	body.unscroll-y {
		overflow-y: hidden;
	}

	h1 {
		font-size: 22px;
		line-height: 32px;
		padding-bottom: 16px!important;
	}

	h2, 
	h2 a {
		font-size: 18px;
	}
	
	#content ul li:before {
		top: 0;
	}

	#sidebar, 
	#content,
	#main.sidebar-left #content, 
	#main.sidebar-right #content,
	#main, 
	.container,
	.col-3, 
	#journey-planner #journey-from,
	#journey-planner #journey-to,
	#journey-from, 
	#journey-to, 
	span#spinner-cont,
	#journey-type, 
	#transportation-mode, 
	.btn, 
	.btn-dd, 
	input[type=submit],
	#date-time input[type=text], 
	ul#external_navigation li,
	#content ul.transport-types.transport-mode {
		width: 100%;
	}
	
	.page-taxonomy #journey-from {
		margin-bottom: 20px;
	}

	.page-node #content {
		margin-top: 0;
	}

	.fg-home-slider-wrap {
		position: relative;
		height: 0;
		width: 100%;
		padding-bottom: 45%;
	}

	.slide-content {
	    position: absolute;
	    left: 12px;
	    font-size: 18px;
	    max-width: 100%;
	    width: calc(100% - 24px);
	    text-align: center;
	    color: #fff;
	    font-weight: 700;
	    bottom: 12px;
	    padding: 12px 12px 16px 12px;
	    background: rgba(213, 4, 95, 0.7);
	}

	input[type="password"], 
	input[type="text"], 
	input[type="email"], 
	textarea {
		font-size: 14px;
		
	}
	
	#earlier.btn {
		margin-bottom: 10px;
	}

	.pagename-timetables #content table tr {
	  border-bottom: 1px solid #ddd;
	}

	.pagename-timetables #content table tr:last-child {
	  border-bottom: 1px solid #ccc;
	}

	.row-bottom, #footer{
		padding: 16px 0;
	}


	.credits-left, .credits-right {
		width: 100%;
	}

	ul#external_navigation li {
		margin-bottom: 0;
	}
	
	#upper-footer,
	.front .row-bottom {
		padding: 20px 0;
	}
	
	.front .row-bottom {
		padding: 20px 0;
	}

	body.front .row-bottom .col-3 {
		width: 100%;
		margin: 0 0 20px 0;
		padding: 0;
	}
	
	body.front .news-content h3 {
		margin-bottom: 6px;
	}
	
	body.front .news-content {
  		float: left;
  		width: calc(100% - 88px); 
  	}

	#header {	
		box-shadow: none;
	}	

	#content h1 {
		margin: 0 0 24px 0;
	}

	#lower-footer {
		padding: 0 12px;
	}

	.credits-right, .credits-left {
		margin: 15px 0;
	}

	.row-bottom {
		margin: 0;
	}

	.site-search {
		display: none;
		width: calc(60% - 60px);
		margin: 5px 30px;
	}

	#content {
		background: 0;
		border: 0;
		padding: 0;
	}

	#sidebar {
		float: right;
		padding: 20px 0;
		margin: 0;
	}

	ul#sidebar_navigation li a.active:after, 
	ul#sidebar_navigation li.active-trail a:after {
		content: none;
	}

	header .site-search input[type=text] {
		margin: 0;
		width: 100%;
	}
	
	/* More Menu */

	.inner-open li.arealist,
	body .moreplus ul {
		display: none;
	}
	
	.moreplus:after {
		border-left-color: #0097d5!important;
	}
	
	.moreplus span {
		cursor: pointer;
		height: 44px;
	}

	.pass-form label,
	.pass-form input[type="text"] {
		width: 100%!important;
		margin: 0;
	}




	
	/*	
	----------------------------------------------------------
	Opco slider
	---------------------------------------------------------- 
	*/

	.opco .slide-content {
		position: absolute;
		background: #212b55;
		margin-left: 0 ;
		font-size: 16px;
		color: #fff;
		font-weight: 700;
		padding: 10px;
		line-height: 24px;
	}

	.opco .flex-control-nav {
		width: auto;
	}

	.flex-control-nav {
	  right: 20px;
	  top: 20px;
	  bottom: auto;
	}

	body.front .col-3.left {
		background: 0;
		border: 0;
	}


	/*	
	----------------------------------------------------------
	Scrolling nav sub menu
	---------------------------------------------------------- 
	*/
	
	.appended-menu {
		width: 100%;
		float: left;
		margin: 0;
		padding: 0;
		top: 0;
		left: 0;
		border: none;
		position: absolute;
		max-height: none;
		z-index: 1100;
		background: rgba(42, 42, 42, 0.96);
		white-space: nowrap;
		display: inline-block;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	body #pageWrapper .appended-menu ul {
		margin: 0;
		display: block;
		position: relative;
		max-height: none;
		height: auto;
	    width:100%;
	    top: auto;
	    background: none;
	    border: none;
	    padding: 0;
	    margin: 0;
	    opacity: 1;
	}
	
	body #pageWrapper .appended-menu li {
		list-style-type: none;
		position: relative;
		padding: 0 12px;
	}
	
	body #pageWrapper .appended-menu li a {
		display: block;
		padding: 12px 0;
		width: 100%;
		border-bottom: 1px solid rgba(255,255,255,0.1);
		font-size: 14px;
		font-weight: 600;
		color: #fff;		
	}
	
	body #pageWrapper .appended-menu li a:after {
		content: "";
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 4px solid rgba(255,255,255,0.4);
		display: block;
		position: absolute;
		right: 15px;
		top: 19px;
	}

	body #pageWrapper .appended-menu ul > li:first-child {
		background: #00638A;
	}

	.destroy-menu {
		background: none;
		color: #e0e0e0;
		width: 100%;
		padding: 8px 0;
		height: auto;
		line-height: 24px;
		text-align: left;
	}

	.destroy-menu:after {
		content: "\ea11";
		font-family:FontAwesome;
		border: none;
		font-weight: normal;
		float: right;
	}

	.destroy-menu:focus {
		outline: none;
	}





	#content .mobile-table th {
		width: 100%;
		display: block;
		border-left: 1px solid rgba(0,0,0,0.1);
		border-right: 1px solid rgba(0,0,0,0.1);
	}

	#content .mobile-table td {
		width: 100%!important;
		text-align: right!Important;
		display: block;
		border-bottom: 1px solid rgba(0,0,0,0.1);
		border-left: 1px solid rgba(0,0,0,0.1);
		border-right: 1px solid rgba(0,0,0,0.1);
	}

	.mobile-table td:before {
		content: attr(data-label);
		float: left!important;
		font-weight: 800;
		font-size: 12px;
		text-align: left!important;
		color: #212B55 !important;
	}

	#content .mobile-table tr {
		border: none!important;
		border-top: 1px solid rgba(0,0,0,0.1)!important;
		border-bottom: 12px solid #f4f4f4!important;
		display: block;
	}

	.mobile-table td span,
	.mobile-table td img {
		display: inline!important;
		float: none!important;
	}

	#options {
	    border: 1px dashed rgba(0,0,0,0.2);
	    border-top: 0;
	    padding: 10px;
	    margin: -20px 0 20px 0;
	    overflow: hidden;
	}


	/* User Forms */

	body #content #user-register-form .description,
	body #content #user-register-form select,
	body #content #user-register-form input[type="text"],
	body #content #user-register-form input[type="password"],
	body #content #user-register-form label,
	#user-profile-form .description,
	#user-profile-form select, 
	#user-profile-form input[type="text"], 
	#user-profile-form input[type="password"],
	#user-profile-form label {
		width: 100%;
	}

	#user-register-form label,
	#user-profile-form label {
		line-height: 24px;
	}

	#user-register-form .fieldset-wrapper > .form-item,
	#user-profile-form .fieldset-wrapper > .form-item {
		height: auto;
		border: none;
	}

	#user-register-form input[type="text"].postcode,
	#user-profile-form input[type="text"].postcode {
		width: calc(100% - 105px)!important;
	}

	#user-register-form .postcode_check,
	#user-profile-form .postcode_check {
		top: 24px;
	}

	.form-type-password-confirm div.password-confirm, 
	.form-type-password-confirm .password-strength {
		left: auto;
		width: 100%;
	}

	.form-type-password-confirm .password-strength {
		bottom: 54px;
	}

	.form-type-password-confirm div.password-confirm {
		bottom: 0;
	}

	#user-register-form > div
	#user-profile-form > div {
		padding-left: 12px;
		padding-right: 12px;
	}

	#user-register-form .fieldset-wrapper .form-type-password-confirm,
	#user-profile-form .fieldset-wrapper .form-type-password-confirm {
		padding-bottom: 108px;
	}

	#user-register-form .form-item-mail .description, 
	#user-register-form .password-suggestions,
	#user-register-form .fieldset-wrapper > p,
	#user-profile-form .form-item-mail .description, 
	#user-profile-form .password-suggestions,
	#user-profile-form .fieldset-wrapper > p {
		font-size: 12px;
		font-weight: 400;
		padding: 6px 8px;
	}

	.logged-in #user-profile-form {
		padding-top: 12px!important;
	}
	
	#user-profile-form #edit-status,
	#user-profile-form #edit-roles {
		padding-left: 0;
	}
	
	.field-name-field-opco + #edit-actions input[type="submit"]:last-child {
		margin-top: 20px;
	}
	
	#user-profile-form #edit-status .form-type-radio,
	#user-profile-form #edit-roles .form-type-checkbox {
		width: 100%;
		margin: 0 0 12px 0;
	}
	
	#user-profile-form #edit-account .form-type-password-confirm {
		padding-bottom: 108px;
	}
	
	.form-item-timezone {
		padding-top: 20px;
	}
	
	#cart-buttons a:first-of-type {
		margin-bottom: 12px;
	}

	.or span {
		background: #fcfcfc;
	}

	.modal-ctrls a {
		width: auto!important;
	}

	body form fieldset.minimal-form {
		width: 100%;
		margin: 0;
	}

	#main.opco.sidebar-right #content .journey-planner {
		padding: 0 12px;
		margin: 0 0 20px 0;
	}

	#main.opco.sidebar-right #content + #sidebar {
		width: 100%;
		padding: 0 12px;
	}

	#top-navigation > li:nth-of-type(3),
	#top-navigation > li:nth-of-type(4),
	#top-navigation > li:nth-of-type(5) {
		display: none;
	}

	#top-navigation > li > a {
		font-size: 0;
	}

	#top-navigation > li.arealist > a:after {
		content: "\e569";
		font-family: FontAwesome;
		font-weight: normal;
		border: none;
	    width: auto;
	    height: auto;
	    position: relative;
	    top: auto;
	    right: auto;
	    font-size: 13px;
	    top: 1px;
	}

	#top-navigation > li.arealist.open > a:after {
		content: "\e117";
		top: auto;
	}
	
	
	/* Sidebar Widgets */
	
	#sidebar > div, 
	#sidebar > ul,
	#sidebar #favourites,
	#sidebar .spider-share,
	#sidebar > div#timetable_search	{
		padding: 12px;
	}
	
	#sidebar > ul#sidebar_navigation {
		padding: 0;
	}
	
	#sidebar .journey-planner input[type="submit"] {
		margin-bottom: 0;
	}
	
	#pageWrapper #sidebar .spider-share button {
		width: calc(50% - 6px);
	}
	
	#pageWrapper #sidebar .spider-share button:first-child {
		margin-right: 12px;
	}
	
	/* Micro Menu */
	
	.micro-menu input + label {
		display: block;
	}

	.micro-menu {
		width: 100%;
	}

	.micro-menu > ul {
		display: none;
	}
	
	.micro-menu input:checked + label + ul {
		display: block;
	}
	
	.micro-menu > ul > li {
		border-right: none;
		border-bottom: 2px solid rgba(0,0,0,0.1);
	}

	.micro-menu > ul > li,
	.micro-menu > ul > li > a	{
		width: 100%;
		text-align: left;
	}
	
	
	
		
	#main.opco.sidebar-right #content .journey-planner {
		margin-bottom: 0;
	}
	
}




/*	----------------------------------------------------------
	Max 600
	---------------------------------------------------------- */

@media only screen and (max-width:600px) {

	.front .row-top {
		padding: 0;
	}

	body.front .col-3.left,
	body.front .col-3 {
		width: 100%;
	}

	.corporate-link {
		width: 100%;
		margin: 0 0 16px 0;
		padding-top: 30%;
		font-size:14px;
	}

	.float-img-left {
		max-width: 60px;
	}

	.float-img-left img {
		width: 100%;
		width: auto;
	}
	
	.view-content > div .nm-call {
		width: 100%;
		margin: 0 0 20px 0!important;
	}

	#user-profile-form .fieldset-title {
		width: 100%;
	}

	#user-profile-form .fieldset-title:before {
		display: none;
	}


	#user-profile-form fieldset:nth-of-type(1) .fieldset-title {
		top: -146px;
	}

	#user-profile-form fieldset:nth-of-type(2) .fieldset-title {
		left: 0;
		border-left: none;
		top: -96px;
	}

	#user-profile-form fieldset:nth-of-type(3) .fieldset-title {
		left: 0;
		border-left: none;
		top: -46px;
	}

	#user-profile-form > div {
		margin: 146px 0 0 0
	}

}





@media screen only and(max-width: 539px) {

	.wrap, .container, #main {
	    max-width: 1400px;
	    margin: 0 auto;
	    padding: 0 12px;
	    position: relative;
	}

	.col-3, 
	.col-3:last-child,
	#upper-footer .col-3,
	#upper-footer .col-3:last-child,
	.front .row-bottom .col-3,
	.front .row-bottom .col-3:last-child {
		margin: 0 0 20px 0;
  		width: 100%;
	}

}





/*	----------------------------------------------------------
	Max 468
	---------------------------------------------------------- */

@media only screen and (max-width:468px) {

	.ctrls select {
  		margin: 8px 0;
	}

	#pp-map {
	    height: 270px;
	}

	.col-3, 
	.col-3:last-child, 
	#upper-footer .col-3, 
	#upper-footer .col-3:last-child, 
	.front .row-bottom .col-3, 
	.front .row-bottom .col-3:last-child {
    	margin: 0 0 20px 0;
    	width: 100%;
    }

    .col-3:last-child, 
	#upper-footer .col-3:last-child,
	.front .row-bottom .col-3:last-child {
		margin-bottom: 0;
	}
	
	#main.opco.sidebar-right #content + #sidebar {
		margin-top: 0;
	}
	
		
	#main.opco.sidebar-right #content .journey-planner {
		margin-bottom: 20px;
	}

}



/*	----------------------------------------------------------
	Min 768 & Max 1000
	---------------------------------------------------------- */

@media only screen and (min-width: 768px) and (max-width: 1000px){
	
	#sidebar .spider-share > a {
		width:80px;
	}

	#sidebar .spider-share .share-action {
		display:none;
	}

}



/*	----------------------------------------------------------
	Print Styles
	---------------------------------------------------------- */

@media print {
	
	body {
		padding-top: 0!important;
	}

	#header,
	#footer,
	.breadcrumbs,
	#sidebar,
	#toolbar {
	display: none!important;
	}

	#content {
		width: 100%!Important;
		padding: 0!important;
	}

    * { 
        background: transparent !important; 
        color: black !important; 
        box-shadow:none !important; 
        text-shadow: none !important; 
        filter:none !important; 
        -ms-filter: none !important; 
    }

    a, 
    a:visited { 
        text-decoration: underline; 
    }

    a[href]:after { 
        content: " (" attr(href) ")"; 
    }

    abbr[title]:after { 
        content: " (" attr(title) ")"; 
    }

    .ir a:after, 
    a[href^="javascript:"]:after, 
    a[href^="#"]:after { 
        content: ""; 
    } 

    pre, blockquote { 
        border: 1px solid #999; 
        page-break-inside: avoid; 
    }

    thead { 
        display: table-header-group; 
    }

    tr, img { 
        page-break-inside: avoid; 
    }

    img { 
        max-width: 100% !important; 
    }

    @page { 
        margin: 0.5cm; 
    }

    p, h2, h3 { 
        orphans: 3; 
        widows: 3; 
    }

    h2, h3 { 
        page-break-after: avoid; 
    }

}

.ver-descricao{
	margin-top:10px;
	margin-bottom:5px;
}
.descricao{
	border:1px solid #ccc;
	padding:10px;
	border-radius:10px;
	display:none;
}