html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-family: "Blinker",sans-serif; font-size: 100%; vertical-align: baseline; background: transparent; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent; }
body { line-height: 1; font-size: 15px; min-width: 480px; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
nav ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }
/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
td { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }

a { color: #307294; text-decoration: none; }
a:hover { text-decoration: underline; }

p { line-height: 1.5; }

ol.I { list-style-type: upper-roman; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
ol { margin-left: 4em; list-style: outside; }
ol li { line-height: 1.6; }

img { max-width: 100%; }

input[type=text], input[type=password], input[type=date], input[type=number] { border: 0; font-size: 18px; border-radius: 0; box-sizing: border-box; padding: 5px 0; vertical-align: top; background-color: #FFFFFF; font-weight: normal; border-bottom: solid 2px #E5E5E5; font-family: "Blinker",sans-serif; color: #00C2E5 !important; }
input[type=text].long { flex: 1; }
input::placeholder { font-size: 0.9em; color: #9C9C9C; font-family: "Blinker",sans-serif; }

input[type=text]:focus-visible, input[type=password]:focus-visible, input[type=date]:focus-visible, input[type=number]:focus-visible { outline: 0; border-bottom: solid 2px #00C2E5; background-color: #FFFFFF !important; -webkit-text-fill-color: #00C2E5 !important; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus { -webkit-text-fill-color: #000000; -webkit-box-shadow: 0 0 0px 1000px #FFFFFF inset; }

input[readonly=readonly] { background-color: #F0F0F0; }

input[type=checkbox] { font-size: 18px; box-sizing: border-box; margin-top: -1px; transform: scale(1.5); margin-right: 10px; }
select { border: 0; font-size: 18px; border-radius: 0; box-sizing: border-box; padding: 5px 0; vertical-align: top; background-color: #FFFFFF; font-weight: normal; border-bottom: solid 2px #E5E5E5; font-family: "Blinker",sans-serif; color: #00C2E5 !important; }
select:focus-visible { outline: 0; border-bottom: solid 2px #00C2E5; background-color: #FFFFFF !important; -webkit-text-fill-color: #00C2E5 !important; }
textarea { border: 2px solid #E5E5E5; font-size: 18px; box-shadow: 1px 1px 20px rgb(0 0 0 / 5%) inset; box-sizing: border-box; padding: 5px 10px; color: #00C2E5 !important; border-radius: 0; font-family: "Blinker",sans-serif; }
textarea:focus-visible { outline: 0; border: 2px solid #00C2E5; background-color: #FFFFFF !important; -webkit-text-fill-color: #00C2E5 !important; }
input[type=submit] { background: none repeat scroll 0 0 #00C2E5; border: 1px solid #00C2E5; font-size: 14px; border-radius: 2px; font-weight: bold; letter-spacing: 0.07em; padding: 3px 5px; color: #FFFFFF; font-size: 14px; box-shadow: 1px 1px 3px rgba(0,0,0,0.2); display: inline-block; }


select option { font-size: 14px; padding: 2px 5px; }


body { }
header { }
section { min-height: 300px; min-width: 480px; margin: 0 auto; background: #FFFFFF; overflow: auto; width: 100%; }
section.alt { background: #F8F6F4; }
section.alt div.sectionContent { padding-bottom: 40px; background: #FFFFFF; padding: 50px 80px; font-size: 20px; line-height: 1.4; margin-bottom: 40px; }

a.help { color: #87888a; text-decoration: underline; }

label.inputLabel { width: 250px; display: inline-block; margin: 0; position: relative; background: #FFFFFF; border: 1px solid #E5E5E5; height: 38px; vertical-align: top; box-sizing: border-box; }
label.inputLabel svg { position: absolute; right: 0; width: 32px; height: 26px; padding: 5px; border-radius: 0 4px 4px 0; }
label.inputLabel span { position: absolute; left: 0; top: 0; width: calc(100% - 42px); line-height: 37px; white-space: nowrap; padding-left: 5px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; padding-right: 5px; }

table.list { border-collapse: collapse; border-spacing: 0; table-layout: auto; width: 100%; background: #FFFFFF; }
table.list thead { }
table.list thead tr { background: #00C2E5; }
table.list thead tr:hover { background: #00C2E5; }
table.list thead tr th { text-align: left; overflow: hidden; color: #FFFFFF; font-size: 18px; font-weight: bold; }

table.list td, table th { text-align: left; padding: 15px 10px; }
table.list tr { border-bottom: solid 1px #EEEEEE; border-left: solid 1px #EEEEEE; }
table.list td { border-bottom: solid 1px #EEEEEE; border-right: solid 1px #EEEEEE; }
table.list tr:hover { background: #fad7d1; cursor: pointer; }
table.list tr.disableHover:hover { background: #FFFFFF; cursor: default; }
table.list th.columnAuto { border-left: solid 1px #FFFFFF; }
table.list th.columnMax { border-left: solid 1px #FFFFFF; }

table.list tbody tr { background: #FFFFFF; border-bottom: solid 1px #EEEEEE; border-left: solid 1px #EEEEEE; }
table.list tbody tr:hover { background: #FFFFFF; }
table.list tbody tr th { text-align: left; overflow: hidden; color: #000000; font-size: 18px; font-weight: bold; border-bottom: solid 1px #EEEEEE; border-right: solid 1px #EEEEEE; border-left: unset !important; cursor: default; }


table.list .columnAuto { width: auto; word-wrap: break-word; overflow: hidden; white-space: nowrap; }
table.list .columnMax { width: 100%; word-wrap: break-word; overflow: hidden; white-space: normal; }

div.pageSelector { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; margin: 10px 0 10px; -webkit-box-pack: right; -moz-box-pack: right; -ms-flex-pack: right; -webkit-justify-content: right; -ms-justify-content: right; justify-content: right; }
div.pageSelector a { background: none repeat scroll 0 0 #00C2E5; border: 1px solid #00C2E5; border-radius: 5px; color: #FFFFFF !important; display: block; font-size: 11px; font-weight: bold; letter-spacing: 0.07em; margin: -3px; padding: 3px 5px; text-align: center; text-decoration: none; font-size: 16px; margin: 0 5px 0 0; }
div.pageSelector a.current { background-color: #a0a0a0; border-color: #888888; color: #dddddd; }

div.dateSplitted { }
div.dateSplitted label { display: block; }
div.dateSplitted div.subFields { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; }
div.dateSplitted div.subFields input { margin-right: 5px; text-align: center; }
div.dateSplitted div.subFields input.day { width: 3em; }
div.dateSplitted div.subFields input.month { width: 3em; }
div.dateSplitted div.subFields input.year { width: 5em; }

.pageCenter { margin: 0 auto; max-width: 1080px; clear: both; padding: 0px; box-sizing: border-box; }

header div.topInfo { background-color: #ECEAE6; height: 38px; }
header div.topInfo div.contactSide { float: right; margin-left: 20px; vertical-align: middle; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; height: 38px; }
header div.topInfo div.contactSide span { color: #87888A; }
header div.topInfo a { color: #333333; }
header div.topInfo div.contactSide a.phone { background: rgba(0, 0, 0, 0) url("images/iconPhone.png") no-repeat scroll left center; background-size: 16px 16px; color: #87888A; font-size: 15px; margin-right: 20px; padding-left: 15px; text-decoration: none; }
header div.topInfo div.contactSide a.email { background: rgba(0, 0, 0, 0) url("images/iconEmail.png") no-repeat scroll left center; background-size: 16px 16px; color: #87888A; float: left; font-size: 15px; margin-right: 20px; padding-left: 15px; text-decoration: none; }
header div.topInfo div.contactSide a.contact { margin-right: 20px; text-decoration: none; background: url(images/iconContact.svg) no-repeat left center/16px 16px; padding-left: 20px; min-height: 16px; }
header div.topInfo div.contactSide a:hover { text-decoration: underline; }

header div.topInfo div.loginSide { float: right; margin-left: 20px; vertical-align: middle; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; height: 38px; }
header div.topInfo div.loginSide a.login { text-decoration: none; cursor: pointer; background: url(images/iconLogin.svg) no-repeat left center/16px 16px; padding-left: 20px; margin-right: 20px; min-height: 16px; }
header div.topInfo div.loginSide a:hover { text-decoration: underline; }

#formLogin { }
#formLogin div.background { position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 1000; background-color: rgba(127, 127,127, 0.001); z-index: 999; }
#formLogin div.popup { background: #f5f5f6; border: solid 3px #d9dadb; z-index: 1000; box-sizing: border-box; }
#formLogin div.comicArrow { position: absolute; right: 9px; top: -13px; width: 21px; height: 13px; background: url(Images/comicArrow.png) no-repeat 0 0 / 21px 13px; }
#formLogin div.row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; margin: 0 20px 10px 20px; }
#formLogin div.row:first-child { margin-top: 10px; }
#formLogin div.row:last-child { margin-bottom: 10px; }
#formLogin div.row div.field { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; }
#formLogin div.row div.field label { margin-top: 5px; width: 85px; }
#formLogin div.row div.field input { margin: 0 0px 0 10px; width: 200px; }
#formLogin div.row div.remember { align-self: center; }
#formLogin div.row div.remember label { margin-right: 10px; }
#formLogin div.row div.remember input { }
#formLogin div.row a { color: #505050; margin: 5px 0 0 0px; text-decoration: none; }
#formLogin div.row a:hover { text-decoration: underline; }
#formLogin div.row a.button { color: #FFFFFF; margin: 0; text-decoration: none; }


header div.topMenu { background: white none repeat scroll 0 0; height: 70px; }
header div.topMenu a.logotype { background: url(Images/logoAlsa.svg) no-repeat left center; display: block; float: left; height: 70px; width: 108px; background-size: 84px 32px; margin: auto 20px auto 0px; }
header div.topMenu ul.menu { float: right; margin-right: 20px; }
header div.topMenu ul.menu li { display: inline-block; }
header div.topMenu ul.menu li a { color: #87888A; display: inline-block; font-size: 19px; font-weight: normal; margin: 0 10px; text-decoration: none; box-sizing: border-box; border-bottom: solid 8px rgba(0,0,0,0); padding: 25px 0 18px 0; }
header div.topMenu ul.menu li a:hover { border-bottom: solid 8px #BFF0F8; }
header div.topMenu ul.menu li a.current { border-bottom: solid 8px #00C2E5; color: #00C2E5; }
header div.topMenu ul.menu li:last-child a { margin-right: 0; }

header div.topMenu div.menu_city { float: right; color: #000000; display: inline-block; font-size: 22px; font-weight: normal; line-height: 30px; margin: 18px 10px 10px 10px; text-decoration: none; box-sizing: border-box; border-right: solid 1px #B2B2B2; padding-right: 20px; }


#mobileMenu { background: #FFFFFF url("images/iconMenu.png") no-repeat scroll center center; background-size: 60px 60px; display: none; float: right; height: 60px; margin-right: 20px; margin-top: 10px; width: 60px; background-size: 35px 35px; border-radius: 30px; }

footer { background: #37333A; box-sizing: border-box; color: #FFFFFF; padding: 20px 0; width: 100%; text-align: center; }
footer .pageCenter { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row;  -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; }
footer a.logotype { background: url(Images/logoAlsaWhite.svg) no-repeat center center; display: block; height: 32px; width: 84px; background-size: 84px 32px; margin-right: 30px; }
footer div.links { flex: 1; text-align: left; font-size: 16px; }
footer div.links a { color: #FFFFFF; margin-right: 1em; }
footer span.socialRow { margin-left: 30px; }
footer span.socialRow a { background-size: 20px; background-position: center; background-repeat: no-repeat; display: inline-block; width: 20px; height: 20px; margin-left: 5px; }
footer span.socialRow a.facebook { background-image: url(Images/iconFacebook.svg); }
footer span.socialRow a.instagram { background-image: url(Images/iconInstagram.svg); }
footer span.socialRow a.twitter { background-image: url(Images/iconTwitter.svg); }
footer span.socialRow a.youtube { background-image: url(Images/iconYoutube.svg); }


div.titleGallery { clear: both; position: relative; width: 100%; }
div.titleGallery div.content { height: 400px; overflow: hidden; position: relative; width: 100%; }
div.titleGallery div.content div.item { height: 400px; left: 0; position: absolute; top: 0; background-position: center bottom; background-repeat: no-repeat; background-size: cover; width: 100%; }
div.titleGallery div.content div.item h2 { color: #ffffff; font-size: 40px; line-height: 45px; margin-left: 100px; margin-right: 100px; margin-top: 80px; text-align: center; text-shadow: 3px 3px 1px rgba(0, 0, 0, 0.7); text-transform: uppercase; }
div.titleGallery div.content div.item h3 { color: #ffffff; font-size: 30px; font-weight: normal; margin-top: 10px; text-align: center; text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.7); text-transform: uppercase; }
div.titleGallery div.content div.item .pageCenter { position: relative; height: 100%; }
div.titleGallery div.content div.item .pageCenter div.townHall { background: url(Images/logoAyuntamiento.svg) no-repeat left top; width: 300px; height: 122px; background-size: 300px 122px; position: absolute; right: 20px; bottom: 20px; }


div.titleGallery a { background-color: #87888A; display: block; height: 100px; margin-top: -50px; position: absolute; top: 50%; width: 50px; z-index: 500; }
div.titleGallery a.leftArrow { background: #87888A url("images/iconArrowLeft.png") no-repeat scroll center center; background-size: 25px auto; left: 0; }
div.titleGallery a.rightArrow { background: #87888A url("images/iconArrowRight.png") no-repeat scroll center center; background-size: 25px auto; right: 0; }

div.newsBar { background: #BFF0F8 none repeat scroll 0 0; clear: both; font-size: 24px; line-height: 30px; height: 50px; padding: 10px 10px; cursor: pointer; overflow: hidden; box-sizing: border-box; width: 100%; margin-top: 10px; }
div.newsBar a { display: block; white-space: nowrap; overflow: hidden; }

div.sections { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex;  -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; padding: 0; gap: 20px; margin: 20px 0; }
div.sections a { background-color: #ECEAE6; display: block; text-decoration: none; background-repeat: no-repeat; background-position: 30px 20px; padding: 10px 30px; flex: 1; }
div.sections a span.title { color: #00C2E5; display: block; font-size: 24px; margin-top: 50px; text-align: left; width: 100%; margin-bottom: 8px; }
div.sections a span.description { display: block; font-size: 14px; text-align: left; padding-bottom: 5px; }
div.sections a:hover span.title { text-decoration: underline; }
div.sections a.presentation { background-image: url("images/iconPresentation.png"); }
div.sections a.lines { background-image: url(images/iconLines.svg); background-size: auto 35px; }
div.sections a.waitTime { background-image: url("images/iconWaitTime.svg"); background-size: auto 35px; }
div.sections a.routes { background-image: url("images/iconRoutes.svg"); background-size: auto 35px; }
div.sections a.rates { background-image: url("images/iconRates.svg"); background-size: auto 35px; }

div.sectionContent div.links { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex;  -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; padding: 0; gap: 20px; margin: 20px 0; }
div.sectionContent div.links a { background-color: #ECEAE6; display: block; text-decoration: none; background-repeat: no-repeat; background-position: 30px 15px; padding: 30px; flex: 1; margin: 0; position: relative; }
div.sectionContent div.links a span.title { color: #00C2E5; display: block; font-size: 24px; margin-top: 30px; text-align: left; width: 100%; margin-bottom: 8px; }
div.sectionContent div.links a span.description { display: block; font-size: 14px; text-align: left; }
div.sectionContent div.links a span.combo { background: url(Images/iconComboWhite.svg) no-repeat; width: 20px; height: 11px; display: block; position: absolute; right: 30px; top: 50%; margin-top: -5px; }
div.sectionContent div.links a.expanded span.combo { transform: scaleY(-1); }
div.sectionContent div.links a:hover span.combo { width: 22px; height: 12px; right: 29px; }
div.sectionContent div.links a:hover span.title { text-decoration: underline; }

div.sections2 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex;  -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; padding: 0; gap: 20px; margin: 20px 0; }
div.sections2 .bigButton { background-color: #00C2E5; flex: 1; padding: 15px 40px; color: #FFFFFF; font-size: 25px; -webkit-box-align: flex-start; -webkit-flex-align: flex-start; -ms-flex-align: flex-start; -webkit-align-items: flex-start; align-items: flex-start; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; }
div.sections2 .bigButton span { }
div.sections2 .bigButton a.appIOSButton { background-image: url(Images/appIOS.svg); display: inline-block; width: 100px; height: 25px; background-color: #FFFFFF; background-repeat: no-repeat; padding: 5px; background-size: 100px 26px; background-position: center; border-radius: 10px; margin-top: 10px; margin-right: 10px }
div.sections2 .bigButton a.appAndroidButton { background-image: url(Images/appAndroid.svg); display: inline-block; width: 100px; height: 25px; background-color: #FFFFFF; background-repeat: no-repeat; padding: 5px; background-size: 100px 26px; background-position: center; border-radius: 10px; margin-top: 10px; margin-right: 10px }


#popupMobileMenu { align-content: center; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; background-color: rgba(0, 0, 0, 0.7); bottom: 0; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; left: 0; position: fixed; right: 0; top: 0; z-index: 1000; }
#popupMobileMenu ul.mobileMenu { background: #ffffff none repeat scroll 0 0; list-style: outside none none; padding: 0; position: relative; }
#popupMobileMenu ul.mobileMenu li { }
#popupMobileMenu ul.mobileMenu li.close { background: #ededee url("images/iconClose.png") no-repeat scroll center center / 20px 20px; background-size: 20px 20px; background-size: 20px 20px; border-radius: 30px; height: 60px; position: absolute; right: -35px; top: -35px; width: 60px; cursor: pointer; box-shadow: 1px 1px 20px rgb(0 0 0 / 50%); }
#popupMobileMenu ul.mobileMenu li.current { border-bottom: solid 2px #E5E5E5; border-top: solid 2px #E5E5E5; background: #F0F0F0; }
#popupMobileMenu ul.mobileMenu li.current a { font-size: 26px; }
#popupMobileMenu ul.mobileMenu li a { box-sizing: border-box; color: #000000; display: block; font-size: 25px; font-weight: bold; padding: 8px 20px 8px 30px; text-decoration: none; width: 100%; }
#popupMobileMenu ul.mobileMenu li a:hover { background-color: #ededee; }
#popupMobileMenu ul.mobileMenu li a span.name { vertical-align: middle; }
#popupMobileMenu ul.mobileMenu li a span.icon { display: inline-block; width: 40px; height: 40px; vertical-align: middle; border-radius: 1px; margin-right: 10px; background-size: 32px auto; background-repeat: no-repeat; background-position: center; }
#popupMobileMenu ul.mobileMenu li a.login span.icon { background-image: url(images/iconMenuLogin.svg); }
#popupMobileMenu ul.mobileMenu li a.logged span.icon { background-image: url(images/iconMenuLogin.svg); }
#popupMobileMenu ul.mobileMenu li a.lines span.icon { background-image: url(images/iconMenuLines.svg); }
#popupMobileMenu ul.mobileMenu li a.waitTime span.icon { background-image: url(images/iconMenuWaitTime.svg); }
#popupMobileMenu ul.mobileMenu li a.bonus span.icon { background-image: url(images/iconMenuBonus.svg); }
#popupMobileMenu ul.mobileMenu li a.notices span.icon { background-image: url(images/iconMenuNotices.svg); }
#popupMobileMenu ul.mobileMenu li a.rates span.icon { background-image: url(images/iconMenuRates.svg); }
#popupMobileMenu ul.mobileMenu li a.rules span.icon { background-image: url(images/iconMenuRules.svg); }
#popupMobileMenu ul.mobileMenu li a.contact span.icon { background-image: url(images/iconMenuContact.svg); }
#popupMobileMenu ul.mobileMenu li a.notifications span.icon { background-image: url(images/iconMenuNotifications.svg); }


div.topTitle { }
div.topTitle div.content { background-position: top center; height: 160px; background-repeat: no-repeat; width: 100%; background-size: cover; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; box-shadow: 0px 0px 40px rgb(0 0 0 / 10%) inset; }
div.topTitle h3 { background: #BFF0F8; text-align: center; font-size: 25px; padding: 10px; font-weight: normal; }
div.topTitle div.content h2 { color: #ffffff; font-size: 60px; text-align: center; font-weight: normal; text-shadow: 1px 1px 4px rgb(0 0 0 / 50%); }
div.topTitle div.content h3 { color: #ffffff; font-size: 24px; padding: 10px 20px; text-align: center; background: rgba(200,200,200,0.8); display: block; margin: 20px 20px 0; align-self: center; }

div.topTitleSimple { }
div.topTitleSimple div.content { width: 100% }
div.topTitleSimple div.content h2 { font-size: 40px; margin: 30px 0 30px; font-weight: normal; }

div.topTitle2 { height: 100px; min-height: 100px; }
div.topTitle2 div.content { height: 100px; min-height: 100px; margin: 0 auto; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; width: 100%; max-width: 960px; }
div.topTitle2 div.icon { margin-left: 10px; position: relative; width: 90px; margin-top: 15px; background-repeat: no-repeat; background-position: left top; background-size: auto; }
div.topTitle2 div.icon svg { }
div.topTitle2 div.icon span.label { position: absolute; left: 7px; top: 6px; width: 57px; line-height: 57px; text-align: center; font-size: 44px; font-weight: bold; color: #FFFFFF; }
div.topTitle2 div.icon span.len1 { font-size: 48px; }
div.topTitle2 div.icon span.len2 { font-size: 42px; }
div.topTitle2 div.icon span.len3 { font-size: 30px; }
div.topTitle2 div.icon span.len4 { font-size: 23px; }
div.topTitle2 div.icon span.len5 { font-size: 18px; }
div.topTitle2 div.icon span.len6 { font-size: 15px; }



div.topTitle2 div.name { align-self: center; font-size: 40px; font-weight: bold; color: #FFFFFF; margin-left: 10px; }

div.topTitle3 { height: 60px; min-height: 60px; background-color: #00C2E5; }
div.topTitle3 div.content { height: 60px; min-height: 60px; margin: 0 auto; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; max-width: 960px; width: 100%; }
div.topTitle3 div.icon { margin-left: 20px; position: relative; width: 35px; align-self: center; height: 32px; }
div.topTitle3 div.icon.clock { background: url(Images/iconClock.png) no-repeat 0 0 /32px 32px; }
div.topTitle3 div.icon.password { background: url(Images/iconPassword.png) no-repeat 0 0 /32px 32px; }
div.topTitle3 div.icon.configuration { background: url(Images/iconConfiguration.png) no-repeat 0 0 /32px 32px; }
div.topTitle3 div.name { align-self: center; font-size: 26px; font-weight: bold; color: #FFFFFF; margin-left: 10px; }

div.topTitle4 { height: 60px; min-height: 60px; background-color: #F9F7F5; }
div.topTitle4 div.content { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; height: 60px; min-height: 60px; margin: 0 auto; }
div.topTitle4 div.name { align-self: center; font-size: 30px; font-weight: bold; color: #333333; }



div.waitTime { }
div.waitTime div.sectionContent div.links { -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; }
div.waitTime div.sectionContent div.links a.waitTimeByLine { background-image: url("images/iconWaitTimeByLine.svg"); background-size: auto 35px; }
div.waitTime div.sectionContent div.links a.busStops { background-image: url("images/iconWaitTimeByBusStop.svg"); background-size: auto 35px; }
div.waitTime div.sectionContent div.links a.favorites { background-image: url("images/iconFavorites.svg"); background-size: auto 35px; }


div.waitTimeBusStops { }
div.waitTimeBusStops div.list,
div.waitTimeLines div.list { align-content: center; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex;  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 20px; padding: 30px 20px; }
div.waitTimeLines div.list a { padding-top: 10px; text-decoration: none; width: 100%; max-width: 440px; padding-left: 10px; padding-bottom: 10px; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; }
div.waitTimeLines div.list a span { }
div.waitTimeLines div.list a span.icon { display: block; height: 52px; margin-right: 10px; width: 62px; position: relative; }
div.waitTimeLines div.list a span.icon svg { }
div.waitTimeLines div.list a span.icon span.label { position: absolute; left: 6px; top: 0; width: 40px; height: 52px; line-height: 51px; text-align: center; font-size: 22px; font-weight: bold; }
div.waitTimeLines div.list a span.icon span.len1 { font-size: 32px; }
div.waitTimeLines div.list a span.icon span.len2 { font-size: 25px; }
div.waitTimeLines div.list a span.icon span.len3 { font-size: 22px; }
div.waitTimeLines div.list a span.icon span.len4 { font-size: 18px; }
div.waitTimeLines div.list a span.icon span.len5 { font-size: 14px; }
div.waitTimeLines div.list a span.icon span.len6 { font-size: 12px; }

div.waitTimeLines div.list a span.text { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex: 1; -moz-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; -webkit-box-flex-grow:  1; -moz-box-flex-grow:  1; -webkit-flex-grow:  1; -ms-flex-grow:  1; -webkit-box-flex-basis:  0; -moz-box-flex-basis:  0; -webkit-flex-basis:  0; -ms-flex-basis:  0; flex: 1 1 0; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; }
div.waitTimeLines div.list a span.text span.title { color: #00C2E5; font-size: 24px; font-weight: bold; }
div.waitTimeLines div.list a:hover span.text span.title { text-decoration: underline; }


div.waitTimeBusStops div.list a { -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; border-radius: 2px; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; margin: 8px 10px; min-height: 45px; width: 320px; padding: 5px; text-decoration: none; }
div.waitTimeBusStops div.list a span { color: #000000; font-size: 25px; }
div.waitTimeBusStops div.list a span.icon { color: #ffffff; display: block; font-size: 25px; font-weight: bold; line-height: 36px; margin-right: 15px; text-align: center; position: relative; background-size: 50px 57px; width: 50px; height: 57px; background-repeat: no-repeat; background-position: left top; }
div.waitTimeBusStops div.list a span.icon span.label { display: block; position: absolute; left: 0; top: 7px; width: 50px; font-size: 19px; color: #FFFFFF; }
div.waitTimeBusStops div.list a div.data { flex: 1; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; }
div.waitTimeBusStops div.list a span.name { margin-top: -16px; }
div.waitTimeBusStops div.list a span.distance { color: #808080; font-size: 20px; margin-top: 5px; }
div.waitTimeBusStops div.list a:hover span.name { text-decoration: underline; }

div.waitTimeBusStops .rowTitle { background: #EDEDED; text-align: center; color: #87888A; font-size: 25px; padding: 10px; text-transform: uppercase; }
div.waitTimeBusStops .gpsMessage { font-size: 17px; display: block; margin: 0 auto; color: #303030; }

div.searchField { background: #FFFFFF; max-width: 400px; margin: 0 auto; border: solid 1px #000000; border-radius: 20px; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; padding-left: 14px; }
div.searchField input { border: none; box-shadow: none; padding: 5px; background: transparent; flex: 1; font-size: 18px; }
div.searchField input:focus { outline: none; }
div.searchField div.clearSearch { background: url(Images/iconClear.png) no-repeat center center / 10px #EDEDED; width: 20px; height: 20px; border-radius: 25px; margin: 2px; align-self: center; cursor: pointer; }
div.searchField div.iconSearch { background: url(Images/iconSearch.png) no-repeat center center / 20px #E20513; width: 32px; height: 32px; border-radius: 25px; margin: 2px; cursor: pointer; }

div.favorites div.list div.noResults { }
div.favorites div.list div.noResults p { margin-bottom: 1em; }
div.favorites div.list div.noResults a { border: 0; margin: 0; padding: 0; display: inline; width: auto; height: auto; min-height: unset; }



div.waitTimeBusStop { }
div.waitTimeBusStop div.topTitle2 div.icon { background-size: 70px auto; margin-top: 10px; }
div.waitTimeBusStop div.waitTime,
div.waitTimeLine div.waitTime { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; padding: 30px 20px; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }
div.waitTimeBusStop div.waitTime ul { -webkit-box-align: initial; -webkit-flex-align: initial; -ms-flex-align: initial; -webkit-align-items: initial; align-items: initial; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-pack: start; -moz-box-pack: start; -ms-flex-pack: start; -webkit-justify-content: start; -ms-justify-content: start; justify-content: start; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row;  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
div.waitTimeBusStop div.waitTime ul li { -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; margin-bottom: 20px; cursor: pointer; cursor: pointer; padding-left: 10px; margin-right: 20px; }
div.waitTimeBusStop div.waitTime ul li a { color: #ffffff; display: block; height: 52px; text-decoration: none; width: 62px; margin-right: 10px; position: relative; }
div.waitTimeBusStop div.waitTime ul li a span.iconBusStopAnimated { animation-name: loadingSize; animation-duration: 1s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; }
div.waitTimeBusStop div.waitTime ul li a span.iconBusStopNotAnimated { transform: scale(1.1) !important; transition: transform 0.5s !important; }
div.waitTimeBusStop div.waitTime ul li a span.label { display: block; font-size: 21px; font-weight: bold; line-height: 41px; margin-right: 10px; text-align: center; width: 42px; z-index: 1; transform: scale(1); transition: transform 1s; position: absolute; left: 5px; top: 5px; text-shadow: 0px 2px 2px rgba(255,255,255,1); }

div.waitTimeBusStop div.waitTime ul li a span.len1 { font-size: 32px; }
div.waitTimeBusStop div.waitTime ul li a span.len2 { font-size: 25px; }
div.waitTimeBusStop div.waitTime ul li a span.len3 { font-size: 22px; }
div.waitTimeBusStop div.waitTime ul li a span.len4 { font-size: 18px; }
div.waitTimeBusStop div.waitTime ul li a span.len5 { font-size: 14px; }
div.waitTimeBusStop div.waitTime ul li a span.len6 { font-size: 12px; }


div.waitTimeBusStop div.waitTime ul li div.data { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }
div.waitTimeBusStop div.waitTime ul li div.data span.name { font-size: 22px; }
div.waitTimeBusStop div.waitTime ul li div.data span.value { font-size: 19px; color: #505050; margin-top: 5px; min-width: 200px; }

div.waitTimeBusStopFunctions { background-color: #F8F6F4; padding: 30px 0; }
div.waitTimeBusStopFunctions div.functions { clear: both; }
div.waitTimeBusStopFunctions div.functions a { background-size: 32px 32px; background-repeat: no-repeat; background-position: left top; }
div.waitTimeBusStopFunctions div.functions #favoritesAdd { background-image: url(Images/iconFavoritesOff.svg); padding-left: 48px; line-height: 32px; white-space: nowrap; font-size: 25px; cursor: pointer; background-size: 32px 32px; background-repeat: no-repeat; background-position: left top; color: #00C2E5; margin-bottom: 15px; }
div.waitTimeBusStopFunctions div.functions #favoritesRemove { background-image: url(Images/iconFavoritesOn.svg); padding-left: 48px; line-height: 32px; white-space: nowrap; font-size: 25px; cursor: pointer; background-size: 32px 32px; background-repeat: no-repeat; background-position: left top; color: #00C2E5; margin-bottom: 15px; }
div.waitTimeBusStopFunctions div.functions #favoritesAdd:hover { text-decoration: underline; }
div.waitTimeBusStopFunctions div.functions #favoritesRemove:hover { text-decoration: underline; }
div.waitTimeBusStopFunctions div.functions a.openMap { background-image: url(Images/iconOpenMap.svg); padding-left: 48px; line-height: 32px; white-space: nowrap; font-size: 25px; cursor: pointer; display: block; color: #00C2E5; }
div.waitTimeBusStopFunctions div.functions a.reload { background-image: url(Images/iconReload.svg); padding-left: 48px; line-height: 32px; white-space: nowrap; font-size: 25px; cursor: pointer; display: block; color: #00C2E5; margin-bottom: 15px; }


div.waitTimeLine div.waitTime h3 { padding: 10px 10px; text-align: center; font-size: 24px; white-space: normal; color: #FFFFFF; text-transform: uppercase; margin-bottom: 15px; box-shadow: 3px 3px 5px rgba(0,0,0,0.2); }
div.waitTimeLine div.waitTime ul { -webkit-box-align: initial; -webkit-flex-align: initial; -ms-flex-align: initial; -webkit-align-items: initial; align-items: initial; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; -webkit-box-pack: start; -moz-box-pack: start; -ms-flex-pack: start; -webkit-justify-content: start; -ms-justify-content: start; justify-content: start;  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 10px; margin-bottom: 20px; margin-left: 40px; }
div.waitTimeLine div.waitTime ul li { -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; margin-bottom: 20px; cursor: pointer; cursor: pointer; min-width: 300px; margin-right: 20px; flex: 1; }
div.waitTimeLine div.waitTime ul li a { display: block; text-decoration: none; margin-right: 10px; position: relative; }
div.waitTimeLine div.waitTime ul li a span.icon { color: #ffffff; display: block; font-size: 25px; font-weight: bold; line-height: 36px; text-align: center; position: relative; background-size: 50px 57px; width: 50px; height: 57px; background-repeat: no-repeat; background-position: left top; }
div.waitTimeLine div.waitTime ul li a span.icon span.label { display: block; position: absolute; left: 0; top: 7px; width: 50px; font-size: 19px; color: #FFFFFF; }

div.waitTimeLine div.waitTime ul li a span.iconBusStopAnimated { animation-name: loadingSize; animation-duration: 1s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; }
div.waitTimeLine div.waitTime ul li a span.iconBusStopNotAnimated { transform: scale(1.1) !important; transition: transform 0.5s !important; }
div.waitTimeLine div.waitTime ul li a span.join { width: 15px; display: block; background: #00C2E5; height: 30px; position: absolute; left: 23px; top: 57px; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); z-index: 0; }
div.waitTimeLine div.waitTime ul li div.data { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; margin-top: -5px; }
div.waitTimeLine div.waitTime ul li div.data span.name { font-size: 25px; }
div.waitTimeLine div.waitTime ul li div.data span.value { font-size: 20px; color: #505050; margin-top: 5px; }


div.waitTimeLine div.waitTime div.lineNotice { }
div.waitTimeLine div.waitTime div.lineNotice div.decoration { }
div.waitTimeLine div.waitTime div.lineNotice div.message { line-height: 1.5; margin: 0 20px 20px 20px; font-size: 16px; }

div.waitTimeLine div.waitTime div.lineNotice.typeChristmas { }
div.waitTimeLine div.waitTime div.lineNotice.typeChristmas div.decoration { background: url(images/noticeChrismas.png) no-repeat center top; height: 140px; background-size: auto 100%; margin: -10px 20px 10px 20px; }
div.waitTimeLine div.waitTime div.lineNotice.typeChristmas div.message { }

div.rates { }

div.rateBlock { margin: 10px 15px 30px; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; }
div.rateBlock h4 { font-size: 24px; color: #00C2E5; margin-bottom: 5px; display: block; text-align: right; box-sizing: border-box; }
div.rateBlock div.concept { box-sizing: border-box; width: 350px; padding-right: 10px; }
div.rateBlock div.concept div.request { text-align: right; font-size: 18px; margin-top: 20px; }
div.rateBlock div.concept div.request span { color: #333333; }
div.rateBlock div.concept div.request a { color: #333333; }
div.rateBlock div.concept div.hint { color: #333333; text-align: right; margin-top: 5px; font-size: 20px; }
div.rateBlock div.data { flex: 1; border-left: dotted 1px #AAAD18; padding-left: 20px; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }
div.rateBlock div.price { font-size: 24px; color: #333333; margin: 0 0 10px; }
div.rateBlock div.pointsOfSale { margin-bottom: 15px; line-height: 1.5; }
div.rateBlock div.notes { margin: -5px -10px; line-height: 1.5; background: #F0F0F0; padding: 10px 20px; border-radius: 10px; font-size: 14px; }

div.rules { }
div.rules div.sectionContent h2 { font-size: 24px; color: #00C2E5; margin-bottom: 10px; }
div.rules div.sectionContent p { line-height: 1.5; margin-bottom: 20px; }
div.rules div.sectionContent ul { list-style: none; margin-left: 0; }
div.rules div.sectionContent ul li { line-height: 1.5; margin-bottom: 20px; border-left: solid 3px #00a0dd; padding-left: 10px; padding-bottom: 3px; margin-left: 50px; text-align: justify; }


div.sectionContent { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -ms-justify-content: center; justify-content: center; padding: 50px 80px;  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 1080px; margin: 0 auto; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; font-size: 18px; }


div.loginForm { }
div.loginForm div.form { max-width: 500px; }
div.loginForm div.row.links { display: block; margin-top: 10px; }
div.loginForm div.row.links a { margin-right: 10px; }
div.loginForm div.sectionContent div.extraInfo { margin-bottom: 30px; }

div.notifications { }
div.notifications div.suscriptions { }
div.notifications div.suscriptions div.suscription { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; margin-bottom: 10px; border-bottom: dotted 3px #E0E0E0; padding-bottom: 10px; }
div.notifications div.suscriptions div.suscription:last-child { border-bottom: 0 none; }
div.notifications div.suscriptions div.suscription div.name { font-size: 25px; flex: 1; align-self: center; }
div.notifications div.suscriptions div.suscription div.check { background-repeat: no-repeat; background-position: center; width: 125px; height: 55px; display: block; cursor: pointer; background-size: 40px; }
div.notifications div.suscriptions div.suscription div.check.on { background-image: url(Images/checkboxOn.svg); }
div.notifications div.suscriptions div.suscription div.check.off { background-image: url(Images/checkboxOff.svg); }
div.notifications div.suscriptions div.suscription div.check.saving { background-image: url(Images/checkboxSaving.svg); }

div.notices { }
div.notices div.sectionContent article { }
div.notices div.sectionContent article h1 { color: #E82A2A; font-size: 24px; font-weight: bold; background-color: transparent; padding: 0 0 0.3em; box-shadow: none; margin: 15px 0 0 0; }
div.notices div.sectionContent article div.description { color: #000000; font-weight: normal; margin: 0 0 5px 0; line-height: 1.5; }
div.notices div.sectionContent article div.description p { line-height: 1.5; }
div.notices div.sectionContent article div.description img { max-width: 100%; }

div.notices div.listNotices { }
div.notices div.listNotices h2 { font-size: 30px; color: #333333; margin-bottom: 25px; padding-bottom: 10px; font-weight: normal; }
div.notices div.listNotices div.list { }
div.notices div.listNotices div.list article { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; margin-bottom: 40px; padding-top: 20px; }
div.notices div.listNotices div.list article header { width: 150px; display: block; min-width: 0; margin: 0 15px 0 0; background: transparent; max-width: none; border-right: solid 2px #00C2E5; }
div.notices div.listNotices div.list article header time { color: #00C2E5; font-weight: bold; text-shadow: 1px 1px 2px rgb(0 0 0 / 5%); font-size: 20px; }
div.notices div.listNotices div.list article div.body { flex: 1; line-height: 1.5; color: #505050; text-align: justify; }
div.notices div.listNotices div.list article div.body h3 { font-size: 22px; margin-bottom: 10px; color: #E82A2A; text-shadow: 1px 1px 2px rgb(0 0 0 / 5%); }
div.notices div.listNotices div.list article div.body p { line-height: 1.5; }
div.notices div.listNotices div.list article:first-child { border-top: none; padding-top: 0; }
div.notices div.listNotices div.list article div.body img { max-width: 100%; }

div.bonus { }
div.bonus div.listBonus { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex;  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: horizontal; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; -webkit-box-pack: flex-start; -moz-box-pack: flex-start; -ms-flex-pack: flex-start; -webkit-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; gap: 20px; margin: 0; -webkit-box-align: stretch; -webkit-flex-align: stretch; -ms-flex-align: stretch; -webkit-align-items: stretch; align-items: stretch; align-content: stretch; }
div.bonus div.listBonus div.bonus { display: block; background-color: #ECEAE6; padding: 15px 30px; width: 284px; }

@media (max-width: 1250px) {
	div.bonus div.listBonus div.bonus { width: 240px; }
}

@media (max-width: 1120px) {
	div.bonus div.listBonus div.bonus { width: 330px; }
}

@media (max-width: 1020px) {
	div.bonus div.listBonus div.bonus { width: 100%; }
}

div.bonus div.listBonus div.bonus:last-child { }
div.bonus div.listBonus div.bonus div.title { font-size: 25px; width: 100%; display: inline-block; color: #00C2E5; }
div.bonus div.listBonus div.bonus span.description { display: inline-block; width: 100%; margin: 10px 0; }
div.bonus div.listBonus div.bonus a.moreInformation { font-size: 20px; font-weight: lighter; }
div.bonus div.listBonus div.bonus a.moreInformation span.arrow { background: url(Images/iconMoreInformationArrow.svg) no-repeat left top/5px 11px; display: inline-block; width: 5px; height: 11px; margin-left: 10px; }

div.bonus div.form { }
div.bonus h2.title { color: #000000; font-size: 24px; font-weight: normal; margin: 0 0 20px; }
div.bonus div.requirements { margin-bottom: 20px; }
div.bonus div.requirements h2 { color: #00C2E5; font-size: 20px; font-weight: bold; margin: 0 0 15px; }
div.bonus div.requirements ul { list-style: outside disc; }
div.bonus div.requirements ul li { margin-left: 50px; margin-bottom: 10px; line-height: 1.5; color: #303030; }
div.bonus div.form div.row { -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }
div.bonus div.form div.row p { font-weight: bold; }
div.bonus div.form div.row div.tabField p { font-weight: normal; }
div.bonus div.form div.row div.tabField { margin-left: 50px; margin-top: 15px; margin-right: 10px; margin-bottom: 15px; }
div.bonus div.form div.row div.tabField div.field { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: flex-start; -moz-box-pack: flex-start; -ms-flex-pack: flex-start; -webkit-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; }
div.bonus div.form div.row div.tabField input[type=radio] { margin-right: 10px; }
div.bonus div.form div.row label.error { color: #E82A2A; }
div.bonus div.form div.row input.error { border-color: #E82A2A; color: #E82A2A; }
div.bonus div.form div.row select.error { border-color: #E82A2A; color: #E82A2A; }
div.bonus div.form div.row div.tabField div.field { margin-bottom: 10px; }
div.bonus div.form div.row div.tabField label { margin: 0; }
div.bonus div.form div.row div.tabField div.uploadList { margin-top: 10px; }
div.bonus div.form div.row div.tabField div.uploadList div.file { margin-bottom: 10px; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; }
div.bonus div.form div.row div.tabField div.uploadList div.file label { margin-right: 10px; }
div.bonus div.form div.row div.tabField div.uploadList div.file select { }
div.bonus div.form div.row div.tabField div.captcha { display: block; }
div.bonus div.form div.row div.tabField table { width: 100%; margin-right: 15px; box-sizing: border-box; }
div.bonus div.form div.row div.tabField table th { background-color: #E0E0E0; padding: 2px 10px; }
div.bonus div.form div.row div.tabField table a { color: #000000; }
div.bonus div.form div.row input[type=submit] { background-color: #00C2E5; }


div.bonus div.requirements { }
div.bonus div.requirements h1 { color: #00C2E5; font-size: 30px; font-weight: bold; text-align: center; margin: 0 30px 30px; }
div.bonus div.requirements h2 { color: #00C2E5; font-size: 20px; font-weight: bold; margin: 30px 0 15px; }
div.bonus div.requirements h2:first-child { margin-top: 0; }
div.bonus div.requirements ul { list-style: outside disc; }
div.bonus div.requirements ul li { margin-left: 50px; margin-bottom: 10px; color: #303030; }

@keyframes loadingSize {
	0% { transform: scale(0.9); }
	50% { transform: scale(1.1); }
	100% { transform: scale(0.9); }
}

div.lines { }
div.lines div.topTitle { }
div.lines div.topTitle h2 { }
div.lines div.topTitle div.content { }
div.lines div.sectionContent div.deco { width: 480px; }
div.lines div.sectionContent div.deco div.imageText { align-content: center; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; background: rgba(0, 0, 0, 0) url("images/imageDeco1.jpg") no-repeat scroll left top; background-size: 430px 230px; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; height: 230px; width: 430px; }
div.lines div.sectionContent div.deco div.imageText div.text { color: #ffffff; font-size: 26px; line-height: 30px; padding: 20px; }

div.linkMaps { text-align: center; margin-bottom: 50px; }
div.linkMaps a { background: url(Images/iconMap.svg) no-repeat 30px center / 40px #00C2E5; color: #FFFFFF; font-size: 30px; display: inline-block; padding: 0 30px 0 90px; line-height: 100px; font-weight: normal; }
div.linkMaps a span { }
div.linkMaps a:hover { box-shadow: 2px 2px 15px rgb(0 0 0 / 30%); text-decoration: none; }

div.list.lines { margin: 50px 0; }
div.list.lines a.button { margin: 0 0 10px 0; width: 100%; background: #00C2E5; box-shadow: 1px 1px 5px rgba(0,0,0,0.3); box-sizing: border-box; color: #FFFFFF; border-radius: 25px; text-align: center; text-align: center; }
div.list.lines { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex;  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; gap: 20px; }
div.list.lines a { padding-top: 10px; text-decoration: none; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; flex: 1; min-width: 48%; box-sizing: border-box; }
div.list.lines a span { }
div.list.lines a span.icon { display: block; height: 52px; margin-right: 10px; width: 62px; position: relative; }
div.list.lines a span.icon svg { }
div.list.lines a span.icon span.label { position: absolute; left: 5px; top: 0; width: 42px; height: 52px; line-height: 51px; text-align: center; font-size: 21px; font-weight: bold; }
div.list.lines a span.icon span.len1 { font-size: 30px; }
div.list.lines a span.icon span.len2 { font-size: 24px; }
div.list.lines a span.icon span.len3 { font-size: 21px; }
div.list.lines a span.icon span.len4 { font-size: 16px; }
div.list.lines a span.icon span.len5 { font-size: 14px; }
div.list.lines a span.icon span.len6 { font-size: 12px; }
div.list.lines a span.text { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex: 1; -moz-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; -webkit-box-flex-grow:  1; -moz-box-flex-grow:  1; -webkit-flex-grow:  1; -ms-flex-grow:  1; -webkit-box-flex-basis:  0; -moz-box-flex-basis:  0; -webkit-flex-basis:  0; -ms-flex-basis:  0; flex: 1 1 0; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; }
div.list.lines a span.text span.title { color: #00C2E5; font-size: 24px; }
div.list.lines a:hover span.text span.title { text-decoration: underline; }

div.lines div.sectionContent div.info { }
div.lines div.sectionContent div.info div.infoContent { clear: both; overflow: hidden; }
div.lines div.sectionContent div.info div.infoContent div.blockLineInfo { }
div.lines div.sectionContent div.info div.infoContent div.infoSubContent { }
div.lines div.sectionContent div.info div.infoContent div.infoSubContent div.blockLineInfo { }

div.lines div.sectionContent a.image { font-size: 0; color: #00C2E5; text-decoration: none; width: 100%; border: none; position: relative; display: block; }
div.lines div.sectionContent a.image:hover { text-decoration: underline; }
div.lines div.sectionContent a.image img { width: 100%; border: solid 5px #00C2E5; box-shadow: 1px 1px 5px rgba(0,0,0,0.3); box-sizing: border-box; border-radius: 10px; }
div.lines div.sectionContent a.image span.zoom { position: absolute; left: 30px; top: 30px; background: url("Images/iconZoom.png") no-repeat center center / 16px 16px #00C2E5; width: 32px; height: 32px; display: block; border-radius: 16px; }

div.lines div.sectionContent a.image.route img { border: 0; box-shadow: none; border-radius: 0; }
div.lines div.sectionContent a.image.route span.zoom { display: none; }

div.lines div.sectionContent div.infoAdvanced { line-height: 1.5; margin-left: 40px; margin-right: 40px; }
div.lines div.sectionContent div.infoAdvanced h2 { font-size: 25px; text-transform: uppercase; color: #505050; margin-top: 20px; margin-bottom: 5px; background-size: 32px 32px; padding-left: 40px; background-repeat: no-repeat; min-height: 32px; line-height: 32px; }
div.lines div.sectionContent div.infoAdvanced h2.iconTrain1 { background-image: url(Lines/iconCalendar.png); }
div.lines div.sectionContent div.infoAdvanced h2.iconTrain2 { background-image: url(Lines/iconClock.png); }
div.lines div.sectionContent div.infoAdvanced h2.iconTrain3 { background-image: url(Lines/iconBook.png); }
div.lines div.sectionContent div.infoAdvanced div.title { font-weight: bold; margin-left: 60px; margin-top: 1em; margin-bottom: 0.2em; }
div.lines div.sectionContent div.infoAdvanced p { margin-left: 60px; }


div.blockLineInfo { }
div.blockLineInfo div.title { font-size: 24px; font-weight: bold; background-color: #00C2E5; color: #FFFFFF; padding: 20px 30px; box-shadow: 4px 4px 10px rgb(0 0 0 / 15%); margin: 40px 0 30px 0; text-align: center; }

div.blockLineInfoItem { text-align: center; }
div.blockLineInfoItem div.title { color: #00C2E5; font-size: 24px; font-weight: bold; background-color: transparent; box-shadow: none; margin: 30px 0 10px 0; padding: 0; display: block; }
div.blockLineInfoItem div.description { color: #000000; font-weight: normal; margin: 0 0 5px 0; line-height: 1.5; text-align: center; display: block; }
div.blockLineInfoItem div.Notes { color: #303030; font-weight: normal; background-color: #DDDDDD; display: block; border-radius: 10px; padding: 10px 20px; margin: 10px auto 0; line-height: 1.5; }



div.contact { }
div.contact div.sectionContent div.deco { width: 480px; }
div.contact div.sectionContent div.deco div.imageText { align-content: center; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; background: rgba(0, 0, 0, 0) url("images/imageDeco1.jpg") no-repeat scroll left top; background-size: 430px 230px; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; height: 230px; width: 430px; }
div.contact div.sectionContent div.deco div.imageText div.text { color: #ffffff; font-size: 26px; line-height: 30px; padding: 20px; }

div.form { margin: 0 auto; border: solid 1px #C0C0C0; box-shadow: 5px 5px 20px rgb(0 0 0 / 25%); padding: 0; font-size: 18px; width: 100%; }
div.form form { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; margin: 40px 60px; }
div.form div.row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; margin-bottom: 25px }
div.form div.row h2 { color: #505050; font-size: 25px; margin: 10px 0 15px 0; }
div.form div.row:first-child h2 { margin-top: 0px; }
div.form div.row:last-child { margin-bottom: 0px; }
div.form div.row div.field { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; margin: 0 10px 0 0; flex: auto; min-width: 80px; }
div.form div.row div.fieldRow { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; margin: 0 10px 10px 0; flex: 1; }
div.form div.row div.field label { margin: 10px 0 5px 0; }
div.form div.row label.error { color: #E82A2A; }
div.form div.row div.field img { display: block; width: 200px; align-self: flex-start; border: solid 1px #87888A; margin: 0 0 10px 0; }
div.form div.row div.field input { }
div.form div.row input[type=submit] { font-size: 24px; padding: 20px 50px; align-self: center; margin: 20px auto 0; font-weight: normal; }
div.form div.row input[type=submit].important { font-size: 24px; padding: 15px 80px; align-self: center; margin: 20px auto 0; font-weight: normal; background: #FFFFFF !important; color: #FF5760; border: solid 3px #FF5760; }
div.form div.row input[type=submit].important:hover { color: #FFFFFF; background-color: #FF5760 !important; }
div.form div.row input.captcha { width: 202px; text-align: center; text-transform: uppercase; }
div.form div.row div.field textarea { height: 200px; min-height: 100px; max-height: 300px; max-width: 100%; min-width: 100%; }
div.form div.row.linkList { margin-bottom: 10px; }

div.form div.linkList { }
div.form a { color: #307294; text-decoration: underline; font-size: 18px; }
div.form a:hover { color: #307294; text-decoration: none; }
div.form a.button { color: #FFFFFF; text-decoration: none; }


div.contact div.form div.row input[type=submit] { background-color: #465BA6; }
a.button { background-color: #00C2E5; border: none; font-size: 20px; padding: 5px 20px; align-self: center; margin: 0 auto; text-transform: uppercase; display: inline-block; color: #FFFFFF; text-decoration: none; margin: 10px; cursor: pointer; }


div.form h2.title { color: #00C2E5; text-transform: uppercase; text-align: center; font-size: 30px; margin: 20px 60px 30px; }

div.form p { font-weight: normal; color: #505050; font-size: 18px; }
div.form label { color: #303030; font-size: 20px; }
div.form label.checkbox { color: #9c9c9c; font-size: 18px; }

div.success { background: url(images/iconOk.png) no-repeat 10px 10px / 30px #FFFFFF; border: 10px solid #78b82a; border-radius: 20px; box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1); clear: both; margin: 0 0 20px 0; padding: 10px 10px 10px 50px; color: #78b82a; font-weight: bold; font-size: 20px; min-height: 30px; line-height: 30px; }
div.success2 { background: url(images/iconOk.svg) no-repeat center 45px / 88px #FFFFFF; clear: both; margin: -1px; padding: 151px 80px 30px 80px; color: #505050; font-weight: bold; min-height: 30px; line-height: 30px; text-align: center; border-top: solid 16px #00C2E5; }
div.success2 h2 { font-weight: bold; }
div.success2 p { font-weight: normal; color: #000000; }

div.warning { background: url(images/iconWarning.png) no-repeat center 30px / 110px #ededee; clear: both; margin: 0; padding: 160px 30px 30px 30px; color: #505050; font-weight: bold; font-size: 20px; min-height: 30px; line-height: 30px; text-align: center; }
div.warning h2 { font-weight: bold; }
div.warning p { font-weight: normal; color: #000000; }

div.errors { border: 0; box-sizing: border-box; clear: both; margin: 0 0 20px 0; padding: 10px; border-bottom: solid 2px #E5C200; background: #E5C20022; }
div.errors div.title { margin: 0 0 10px; color: #e75336; font-size: 20px; font-weight: bold; background: url(images/iconError.png) no-repeat left center / 30px; line-height: 30px; padding-left: 40px; }
div.errors div.list { margin-left: 40px; }
div.errors div.list div.row { margin-bottom: 8px; }
div.errors div.list div.row div.label { float: left; font-weight: bold; width: 200px; }
div.errors div.list div.row div.value { max-width: 600px; }



div.myAccount { }
div.myAccount div.columns { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; }
div.myAccount div.columns div.columnA { margin-right: 50px; flex: 1; }
div.myAccount div.columns div.columnB { }
div.myAccount div.columns div.section { display: none; }
div.myAccount div.columns div.section.selected { display: block; }
div.myAccount h2 { color: #00C2E5; font-size: 20px; font-weight: bold; margin: 0 0 15px; text-transform: uppercase; border-bottom: solid 1px #00C2E5; padding-bottom: 5px; }
div.myAccount p { margin: 0 0 15px; }
div.myAccount div.myData { margin: 20px 0 20px; font-size: 20px; }
div.myAccount div.header { padding: 15px 20px; border: none; background: #00C2E5; color: #FFFFFF; font-size: 1.4em; }
div.myAccount div.myData div.field { margin: 0; padding: 15px 20px; border: solid 1px #E5E5E5; margin-bottom: -1px; }
div.myAccount div.myData div.label { margin-bottom: 5px; }
div.myAccount div.myData div.label a.change { float: right; font-size: 15px; font-weight: normal; color: #00C2E5; text-decoration: underline; cursor: pointer; }
div.myAccount div.myData div.value { line-height: 1.5; }
div.myAccount div.myData div.value span { font-size: 0.8em; margin-left: 15px; opacity: 0.7; }

div.myAccount div.myData form { margin: 20px; padding: 0; }
div.myAccount div.myData form div.row { margin: 0 0 10px 0; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }
div.myAccount div.myData form div.row div.field { margin: 0; padding: 0; border: none; }
div.myAccount div.myData form div.row div.label { }

div.myAccount div.noItems { border: solid 1px #AA8080; padding: 10px 20px; background: #F8F8E0; box-shadow: 1px 1px 4px rgb(0 0 0 / 10%); margin-top: 20px; }

div.myAccount div.userFiles { margin: 20px 0 20px; }
div.myAccount div.photoBlock { }
div.myAccount div.photoBlock img { box-sizing: border-box; margin-bottom: 10px; border-radius: 50%; box-shadow: 1px 1px 15px rgb(0 0 0 / 30%); border: solid 0px #F0F0F0; background-color: #F8F6F3; }
div.myAccount div.photoBlock div.userName { color: #000000; font-size: 16px; margin-bottom: 5px; font-weight: bold; }
div.myAccount div.photoBlock div.userEmail { margin-bottom: 30px; }
div.myAccount div.photoBlock a.sectionLink { font-size: 20px; display: block; color: #505050; margin-bottom: 5px; font-weight: bold; cursor: pointer; margin-bottom: 0.5em; }
div.myAccount div.photoBlock a.sectionLink.selected { color: #00C2E5; }


div.routes { }
div.routes div.form { max-width: 600px; }
div.routes div.form form { background: url(Images/iconRoutesVertical.svg) no-repeat 0px 79px; background-size: auto 114px; padding-left: 40px; }
div.routes div.form div.row h2 { background: url(images/iconRoutes.svg) no-repeat 0 0; background-size: auto 24px; text-align: left; color: #00C2E5; font-size: 25px; margin-bottom: 30px; padding-left: 50px; margin-left: -50px; }
div.routes div.route { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; -webkit-box-align: stretch; -webkit-flex-align: stretch; -ms-flex-align: stretch; -webkit-align-items: stretch; align-items: stretch; }
div.routes div.route div.label { font-size: 24px; }
div.routes div.route div.input { flex: 1; margin-bottom: 20px; margin-top: 10px; }
div.routes div.route div.input input { width: 100%; }
div.routes div.routeA { }
div.routes div.routeA div.label { }
div.routes div.routeB { }
div.routes div.routeB div.label { }


div.aboutUs div.row.year { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; }
div.aboutUs div.row div.year { color: #00C2E5; font-size: 25px; font-weight: bold; width: 70px; text-align: center; margin-bottom: 10px; }
div.aboutUs div.row div.text { flex: 1; border-left: dotted 1px #808080; padding-left: 10px; margin-bottom: 15px; }
div.aboutUs div.row ul { margin-left: 20px; }
div.aboutUs div.row ul li { color: #505050; }

div.row.doc { }
div.row.doc h3 { font-weight: bold; font-size: 22px; margin: 10px 0 5px 0; color: #FF5760; }
div.row.doc h4 { font-weight: bold; font-size: 20px; margin: 10px 0 5px 0; color: #FF5760; }
div.row.doc p { margin-bottom: 1em; color: #505050; }
div.row.doc ol { margin-bottom: 1em; }
div.row.doc ol li { margin-bottom: 5px; color: #505050; }
div.row.doc p:last-child { margin-bottom: 0; }

div.horizontalButtons { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; }
div.horizontalButtons a { flex: 1; text-align: center; text-transform: uppercase; background-color: #B1B3B4; font-size: 30px; padding: 10px 20px; }


div.homeMap { }
div.homeMap div.mapBlock { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; margin-top: 50px; }
div.homeMap div.mapBlock a { flex: 1; }
div.homeMap div.mapBlock img { width: 100%; }

div.freeTransfer { }

div.rowDecorated { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -ms-flexbox;  display: flex; -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; margin: 40px 0 40px; }
div.rowDecorated div.decoration { margin-right: 30px; }
div.rowDecorated div.decoration.transfer { background: url(Home/decorationFreeTransfer.png) left top / 380px transparent; width: 380px; height: 200px; }
div.rowDecorated div.content { flex: 1; margin: 0 20px 0 20px; }
div.rowDecorated div.content p { margin-bottom: 1em; line-height: 1.5; }
div.rowDecorated div.content p.iconRoute { background: url(Home/iconFreeTransferRoute.png) no-repeat left top / 64px transparent; padding-left: 75px; min-height: 64px; }
div.rowDecorated div.content img { width: 100%; }


div.errorPage { }
div.errorPage div.sectionContent div.errors { margin: 0 20px 0 20px; }
div.errorPage div.sectionContent div.errors div.list { line-height: 1.5; }


nav.linksPath { background-color: #00C2E5; overflow: auto; }
nav.linksPath ul { font-size: 20px; color: #FFFFFF; padding: 10px 0px; line-height: 30px; }
nav.linksPath ul li { display: inline; }
nav.linksPath ul li a { color: #FFFFFF; display: inline; }
nav.linksPath ul li span { color: #FFFFFF; display: inline; font-style: normal; }
nav.linksPath ul li:before { content: ">"; margin: 0 8px; }
nav.linksPath ul li:first-child { }
nav.linksPath ul li:first-child:before { content: unset; }

footer span.socialIcons { letter-spacing: 25px; }
footer span.socialIcons a { background-size: 160px auto; height: 40px; margin: 0; padding: 0; width: 40px; background-position-y: -40px; }
footer span.socialIcons a:hover { background-position-y: 0px; }
footer span.socialIcons a.facebook { background-position-x: 0px; }
footer span.socialIcons a.instagram { background-position-x: -40px; }
footer span.socialIcons a.twitter { background-position-x: -80px; }
footer span.socialIcons a.youtube { background-position-x: -120px; }

@media (max-width: 1200px) {
	div.titleGallery div.content { height: 200px; }
	div.titleGallery div.content div.item { height: 200px; }
}


@media (max-width: 1100px) {
	.pageCenter { padding: 0px 20px; }
	nav.linksPath ul { margin: 0 10px; }
}


@media (max-width: 950px) {
	body { background: none; }

	.hideMobile { display: none; }

	header div.topInfo { display: none; }
	header div.topMenu ul.menu { display: none; }
	header div.topMenu div.menu_city { margin-top: 25px; }
	footer span.socialRow { display: inline; }



	div.titleGallery { display: none; }

	div.sections {  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
	div.sections :nth-child(n) { min-width: 200px; }

	div.sections2 {  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
	div.sections2 :nth-child(n) { min-width: 200px; }

	#mobileMenu { display: block; }

	div.sectionContent { padding: 20px 20px; }

	div.waitTime div.sectionContent { -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; -webkit-box-flex-direction: column-reverse; -moz-box-flex-direction: column-reverse; -webkit-flex-direction: column-reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
	div.waitTime div.sectionContent div.deco { width: auto; }
	div.waitTime div.sectionContent div.links { margin-bottom: 20px; width: auto; -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; -webkit-box-align: stretch; -webkit-flex-align: stretch; -ms-flex-align: stretch; -webkit-align-items: stretch; align-items: stretch; }

	div.waitTimeLine div.waitTime div.lineNotice div.message { font-size: 16px; }
	div.waitTimeLine div.waitTime div.lineNotice.typeChristmas div.decoration { height: 90px; }

	div.lines div.sectionContent { -webkit-box-align: flex-start; -webkit-flex-align: flex-start; -ms-flex-align: flex-start; -webkit-align-items: flex-start; align-items: flex-start; }
	div.lines div.sectionContent div.deco { width: auto; }
	div.lines div.sectionContent div.links { margin-bottom: 20px; width: auto; }


	div.lines div.sectionContent div.info { -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }
	div.lines div.sectionContent div.info div.infoContent div.infoSubContent div.blockLineInfo { width: 100%; }
	div.lines div.sectionContent div.info div.infoContent div.infoSubContent { -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }

	div.lines div.sectionContent div.info div.links { display: block; clear: both; }

	div.contact div.sectionContent { }
	div.contact div.sectionContent div.deco { width: 100%; }

	div.form { margin-bottom: 20px; width: 100%; }
	div.form div.row { -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }
	div.form div.errors div.list div.row { -webkit-box-flex-direction: row; -moz-box-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; -webkit-box-orient: horizontal; flex-direction: row; }

	div.myAccount div.columns { -webkit-box-flex-direction: column-reverse; -moz-box-flex-direction: column-reverse; -webkit-flex-direction: column-reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
	div.myAccount div.columns div.columnA { margin-right: 20px; flex: 1; margin-left: 20px; margin-bottom: 20px; }
	div.myAccount div.columns div.columnB { margin-right: 20px; flex: 1; margin-left: 20px; margin-bottom: 20px; }
	div.myAccount div.columns div.section { display: block; margin-bottom: 50px; }
	div.myAccount div.photoBlock { text-align: center; }
	div.myAccount div.photoBlock a.sectionLink { display: none; }


	div.rateBlock div.concept { width: 160px; }

	/*div.bonus div.topTitle div.content,
	div.waitTime div.topTitle div.content,
	div.waitTimeLines div.topTitle div.content,
	div.waitTimeLine div.topTitle div.content,
	div.waitTimeBusStops div.topTitle div.content,
	div.waitTimeBusStop div.topTitle div.content { background-image: unset !important; background-color: #F8F6F4; height: auto; text-align: left; }

	div.bonus div.topTitle div.content h2,
	div.waitTime div.topTitle div.content h2,
	div.waitTimeLines div.topTitle div.content h2,
	div.waitTimeLine div.topTitle div.content h2,
	div.waitTimeBusStops div.topTitle div.content h2,
	div.waitTimeBusStop div.topTitle div.content h2 { color: #000000; font-size: 40px; margin: 30px; font-weight: normal; text-shadow: unset; text-align: left; }
*/

	div.bonus div.sectionContent { padding: 30px 15px; }
	div.bonus div.listBonus div.row { -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; }
	div.bonus div.form div.row div.tabField label { min-width: 100px; }
	div.bonus div.form div.row div.tabField div.uploadList div.file select { width: 150px; }

	div.form div.row.route { }

	div.rowDecorated { -webkit-box-flex-direction: column; -moz-box-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; -webkit-box-orient: vertical; flex-direction: column; -webkit-box-align: center; -webkit-flex-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; }
	div.rowDecorated div.decoration { margin: 0 0 20px; }
}
