*{box-sizing: border-box}
html{scroll-behavior: smooth;}
body{margin: 0;font-size:62.5%; font-family: 'Roboto', sans-serif;}
a{text-decoration: none;}
p, .js-to_expand, .form-btn, .routeBtns a, label, legend{font-size: 1.75em; line-height: 25px;}
h2 + p{margin-top:0;}
h3 + p{margin-top:0;}
a, button i{text-decoration: none;-webkit-transition: all 0.15s ease-in;transition: all 0.15s ease-in;}
a *{-webkit-transition: all 0.15s ease-in;transition: all 0.15s ease-in;}
font { pointer-events: none; }
header{display: flex;justify-content: space-between;padding:20px 4%;align-items: center;}
header .logo{width:200px;}
.navWrap{display: flex;align-items: center;justify-content: flex-end;}

.handle{display:none;}

nav.mainNav{width:100%;}
nav.mainNav  ul{
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-left: 0;
    list-style-type: none;
}

nav.mainNav  ul li{
    text-align: center;
    font-size: 1em;
    padding-left: 25px;
}

nav.mainNav  ul li > a{
    font-size: 1.75em;
    color:#4E504F;
    font-weight: 700;
}

nav.mainNav ul li:hover > a{color:#00A8E7;}
nav.mainNav ul li.active > a{border-bottom: 2px solid #FFF;}

nav.mainNav ul li.hasSub .subWrap{display: none;}
nav.mainNav ul li .subWrap{position: absolute;left: 0; width:100%;}
nav.mainNav ul li .subWrap .sub{margin-top:12px;padding:40px 20% 40px 40%;background-color:#00A8E7;text-align: left;width: auto;display: flex;}
nav.mainNav ul li .subWrap .sub .subGroup{margin-right: 40px;}
nav.mainNav ul li .subWrap .sub .subGroup:last-of-type{margin-right: 0;}
nav.mainNav ul li .subWrap .sub .subGroup span{display: block; color:#FFF;;font-size: 1.65em;padding-bottom: 10px;font-weight: bold;}
nav.mainNav ul li .subWrap .sub .subGroup ul{display: block;width: auto;}
nav.mainNav ul li .subWrap .sub .subGroup ul li{text-align: left;padding-bottom: 4px;}
nav.mainNav ul li .subWrap .sub .subGroup ul li a{font-size: 1.45em; color:#FFF;}
nav.mainNav ul li .subWrap .sub .subGroup ul li a:after{padding-left: 5px; content: '\f054';color: #B0C72C;font-family: "Font Awesome 6 Pro";font-weight: 900;opacity: 0;}
nav.mainNav ul li .subWrap .sub .subGroup ul li:hover a{color:#4E504F;}
nav.mainNav ul li .subWrap .sub .subGroup ul li a:hover:after{opacity: 1;}

.navExtra{margin-left: 20px;display: flex;align-items: center;}
.navExtra button i, .navExtra i{font-size: 2em;color:#4E504F;vertical-align: middle;}
.navExtra i.translate{font-size: 3em;margin-left: 8px;}
.navExtra button i:hover, .navExtra i:hover{color:#00A8E7;}
.navExtra button, .search-form button{border:none;background-color: transparent;font-size: inherit;cursor:pointer;}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.btn{display: inline-block;background-color:#009ee3;margin:10px 0;padding: 15px 30px;color:#FFF !important;margin-right: 20px;border-radius: 5px;font-size: 1.65em;}
.btn:hover{background-color:#B0C72C;}
p .btn{font-size: inherit;}

.hero{
    background-size: cover;
    background-position: center;
    height:550px;
    display: flex;
    align-items: center;
}
.heroText{padding-left:4%;}
.heroText h2{color:#FFF;font-size: 4.25em;margin:0 0 10px;}
.heroText p{color:#FFF;font-size: 2em;}
.heroText a{font-size: 1.75em;}

.quickLinks{margin:80px 4%;display: flex;justify-content: space-around;}
.quickLink{text-align: center;}
.quickLink:nth-child(n+2){margin-left:10px}
.quickLink h2{font-size: 2.5em;color:#4E504F;margin-bottom: 3px;}
.quickLink i{font-size: 6em; color:#4E504F;}
.quickLink p{color:#4E504F;}
.quicklink a:hover{color:#00A8E7;}
.quickLink .btn{margin-right: 0;}

/*** ROUTE PLANNER ***/
.plannerRouteContent{padding:40px 4%;display: flex;justify-content: space-between;}
form .styled-select { 
	position:relative; 
	overflow-x: hidden;
	box-sizing: border-box;
    text-align: left;
    outline: none;
    vertical-align: middle;
    display: inline-block;
    cursor: default;
    border: 1px solid #c9c9c9;
    font-size: 16px;
    border-radius: 1px;  
    color: #535353;
    font-weight: bold;
	margin-bottom: 8px;
    -webkit-appearance: none;
    -moz-appearance: none;
}
.routeFinder form select.fullWidth{flex-basis: 100%;}
.form-btn:hover, .form-btn:focus {opacity:0.7;}
.routeFinder{background-color:#B0C72C;}
.routeFinder h2{color:#FFF;font-size:3em;background-color:#879822;margin: 0;padding:20px;text-align: center;}
.routeFinder form{margin: 0;}
fieldset{border:0;display: flex;flex-direction: column;}
.routeFinder form select {
	height: 30px;
	border:none !important;
	outline:none;
	line-height:1;
	padding:5px;
    margin:10px 10px;
    flex-basis: 50%;
}
.routeFinder .selectRoute{background: #FFF url(/_resources/themes/sunmetro/images/route-drop-arrow.jpg) no-repeat 100% 50% !important;}
.routeFinder legend{color:#FFF;margin-bottom: 5px;10px;font-weight: bold;}
.routeFinder p{margin: 0;padding-left:15px;color:#FFF;font-weight: bold;}
.routeFinder .routeBtns{display: flex;justify-content: center;}
.routeFinder .routeBtns a{display:block; background:#879822; color:#fff;border-radius: 5px; text-align:center; padding: 10px; margin:10px 20px 20px 20px; text-decoration:none;}
.routeFinder .routeBtns a:hover, .routeFinder .routeBtns a:focus {opacity:0.7;}
.routeFinder .plannerRouteContent div{flex-basis: 30%;text-align: center;}
.homeContent{display: flex;margin:40px 0;padding:0 4%;}
.homeContent .homeLeft{flex-basis:50%;margin-right: 40px;}
.homeContent .homeRight{flex-basis:50%;}
.homeContent h2{font-size: 3.65em;color:#4E504F;}
.homeContent h3{font-size: 2.35em;margin-bottom: 5px;}

/*** ANNOUNCEMENTS ***/
.announcements{display: flex;flex-direction: column;}
.announcement{display: inline-block;background-color:#009ee3;margin:10px 0;padding: 15px 30px;color:#FFF !important;margin-right: 20px;border-radius: 5px;}
.announcement.red{background-color:#C93D3D !important;}
.announcement.orange{background-color:#f2933a !important;}
.announcementTitle{display: flex;align-items: center;margin-top: 15px;}
.announcementTitle i{font-size: 2.35em;margin-right: 5px;}
.announcementTitle h3{margin:0;}
.announcement a{color:inherit;}
.announcement a:hover{opacity:0.5;}
.announcement p{margin-top: 5px;}

.homeNews .btn{margin-top: 0;}
.homeNews h3{color:#4E504F;}
.alert{background-color:#009ee3;color:#FFF;padding:20px 8%;text-align:center;font-weight:bold;}
.alert a{text-decoration:underline;opacity:.8;}
.alert a:hover{opacity:.8;text-decoration:none;}
.deptDate {font-weight: bold;font-style: italic;margin-top:0;}


/*** Internal Layouts ***/
.content p, .content li{font-size: 1.65em;}
.content a, .content a:visited {color: #357ae8;}
.content.pageTitle h1{font-size: 5em;font-weight: 900; margin:10px 0;color: #009ee3;
padding-bottom: 5px;}
.content h2{font-size: 3.5em; margin: 40px 0 10px;color: #2d2d2d;text-transform:capitalize;}
.content h3{font-size: 3em;margin:20px 0 10px;color:#2d2d2d;}
.content h4{font-size: 2.65em;margin:20px 0 10px;color:#2d2d2d;}
.content h5{font-size: 2em;margin:20px 0 10px;color:#2d2d2d;}
.content h6{font-size: 1.65em;margin:20px 0 10px;color:#2d2d2d;}
.column100 > h2:first-of-type, .column50 > h2:first-of-type, .column30 > h2:first-of-type, .columnFlex > h2:first-of-type{margin-top: 0;}
.content h2 + p,.content h3 + p,.content h4 + p,.content h5 + p,.content h6 + p{margin-top:0;}
.content{display: flex;justify-content: space-between;padding:0 2% 40px;}
.content.pageTitle{padding-bottom:10px;}
.content img{max-width: 100%;height: auto;}
.content img.left {float: left;max-width: 50%;margin: 5px 20px 10px 0;}
.content img.leftAlone {float: left;margin-right: 100%;margin-bottom: 10px;clear: both;}
.content img.right {float: right;max-width: 50%;margin: 5px 0 10px 20px;}
.content img.rightAlone{float:right;margin-left:100%;margin-bottom: 10px;clear: both;}
.content img.center{float: none;margin-left: auto;margin-right: auto;display: block;margin-bottom: 10px;clear: both;}
.content li li{font-size:1em;}
.smallText{font-size:1.25em !important;}
.columnFlex{flex:1;margin-right:120px;}
.column100{flex-basis: 100%;}
.column60{flex-basis: 60%;}
.column50{flex-basis: 50%;}
.column50:nth-child(1){margin-right: 80px;}
.column30{flex-basis: 30%;}

.internalHeader {
    margin-bottom: 40px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.internalHeader .headerTitle{
    display: flex;
    justify-content: center;
    align-items: center;
    height:340px;
    width: 100%;
    background-size: cover;
}
.internalHeader .headerTitle h1{
    color: #FFF;
    font-size: 45px;
    line-height: 35px;
	font-weight:bold;
    margin:0;
    font-weight: 700;
    text-transform: uppercase;
    text-shadow: 0 1px 10px #000;
    text-align: center;
}
nav.sectionNav h3{font-size: 2.5em;}
nav.sectionNav{padding:10px 20px;background-color: #EAEAEA;margin-bottom:30px;}
nav.sectionNav ul{list-style-type: none;padding-left: 0;}
nav.sectionNav ul li{padding-bottom: 5px;}
nav.sectionNav ul li a{color:#009ee3;-webkit-transition: all 0.25s ease-in;transition: all 0.25s ease-in;}
nav.sectionNav ul li a:hover{color:#B0C72C;}
nav.sectionNav a.current {color: #2d2d2d;}

/*** TABLES ***/

table {
    border-collapse: collapse; /* borders are collapsed into a single border when possible */
    border: 1px solid #d4d4d4;
    border-spacing: 0; /* The border-spacing property sets the distance between the borders of adjacent cells - acts as a backup to border-collapse: collapse */
    margin: 0 0 10px;
    text-align: left;
	font-size: 1.75em;
}
table tr:nth-child(even) {background-color: #ededed;}
table th, thead td {background-color: #ededed}
table td, table th {padding: 15px; border: 1px solid #d4d4d4; vertical-align: top;}
table th {font-weight: bold;}
table li{font-size:inherit !important;}  

table.noStyle{border:none;}
table.noStyle tr:nth-child(even){background-color:#FFF;}
table.noStyle td, table.noStyle th{border:none;}

table.fullWidth{width:100%;}

.RouteArea table tr td{vertical-align: middle;}
.RouteArea .route{color:#FFF;border-radius: 50%;padding: 10px;height: 40px;width: 40px;text-align: center;font-weight: bold;}
.RouteArea .county{color:#000;border-radius: 10px;padding: 10px;height: 40px;width: 40px;font-weight: bold;}
.RouteArea td a span{display: block;}
.RouteArea td a{display: inline-block;margin:5px 10px 5px 0;}

/*** EDITOR ***/
.text-left{text-align:left;}
.text-right{text-align:right;}
.text-center{text-align:center;}

/*** TRANSIT CENTERS ***/
.transitCenters{margin:40px 0;}
.transitCenters .centers{display: flex;flex-wrap: wrap;justify-content: space-between;}
.transitCenters .centers .center{flex-basis: 48%; display: flex;align-items: center;margin-bottom: 30px;}
.transitCenters .centers .center div:nth-child(1){margin-right: 10px;}
.transitCenters .centers .center img{max-width: none;}
.transitCenters .centers .center h3{font-size: 1.65em;margin:0;}
.transitCenters .centers .center p{margin: 5px;}
.transitCenters .centers .center .centerAmenities{padding-bottom: 5px;}
.transitCenters i{font-size: 1.65em;color: #2d2d2d;margin-top:5px;}
.transitCenters .centers .center .centerAmenities i:nth-child(n+2){margin-right: 5px;}

.transitCenters .centerLedgend{display: flex;flex-wrap: wrap;align-items: center;}
.transitCenters .centerLedgend p{margin-top: 0;margin-right:10px;flex-basis: 20%;}
.transitCenters .centerLedgend p i{margin-right: 5px;vertical-align: middle;}

/*** PASSES ***/
.passesWrap{margin:25px 0;display: flex;justify-content: space-between;}
.pass{flex-basis: 100%;margin-right: 20px;text-align: center;}
.pass:last-child{margin-right: 0;}
.pass .passLength{background-color: #009ee3;border-radius: 20px 20px 0 0; color:#FFF;}
.pass .passLength h3{color:#FFF;}
.pass .passDetails{border:3px solid #009ee3;border-radius: 0 0 20px 20px;}
.pass .passLength{padding:20px;}
.pass .passPrice{padding-top: 20px;}
.pass .passPrice p{padding:0 20px;}
.pass .passPurchase{padding:10px 20px;}

/*** FORMS ***/
.search-form-wrapper {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    padding: 20px 15px;
    margin-top: 50px;
    background-color:#B0C72C;
}
.search-form-wrapper.open {
    display: block;
}
.search-form{display: flex;justify-content: center;align-items: center;}
.search-form .gSearch{flex:1;}
.search-form .gSearch table{border: 0;margin: 0;border-collapse: inherit;}
.search-form .gSearch table td{border: 0;padding: inherit;}
.search-form .search-close{flex-basis: 10%;text-align: center;}
.search-form .search-close i{font-size: 3em;margin-left: 10px;color:#4E504F;}
input.gsc-input{padding:10px !important;}

/*** FORM ***/
.userform-fields input, .userform-fields textarea{
    width: 100%;
    display: block;
    box-sizing: border-box;padding: 10px;
    font-size: 1.4em;
}
.userform-fields label, .userform-fields legend{
    display:block;
    font-size: 1.5em;
    margin-top: 5px;
    margin-bottom: 5px;
    font-weight: 600;
}
.userform-fields select{width: 100%;padding: 10px;font-size: 1.4em;}
.userform-fields fieldset{margin:10px 0;}
.userform-fields fieldset label{display:inline-block;}
.userform-fields fieldset input{display:inline-block;width:auto;}
.userform input[type=submit]{
    border: 0; 
	background-color: #009ee3;
	border-radius: 10px;
    color: #FFF;
    font-size: 18px;
    display: inline-block;
    padding: 15px 30px;
    font-weight: 400;
    margin-top:20px;
    cursor: pointer;
	-webkit-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
}
.userform input[type=submit]:hover{background: #B0C72C;}
.requiredField label::after {content: "*";}
.userform-fields textarea{font-family: 'Poppins', sans-serif;}

footer{background-color:#4E504F;display: flex; justify-content: space-between;padding:4%;color:#FFF;}
footer .fContact{display: flex;}
footer .fContact h3{font-size:1.85em;}
footer .fContact div:first-of-type{margin-right: 40px;}
footer .fLeft img{max-width:200px;}
footer .fRight{display: flex;flex-direction: column;align-items: flex-end}
footer .fRight .btn{margin-top:30px;margin-right: 0;}
footer .fRight .social{display: flex;align-items: center;}
footer .fRight .social:nth-child(1){margin-bottom: 15px;}
footer .fRight .social h3{font-size: 2em;margin: 0;}
footer .fRight .social a i{font-size: 3em;color:#FFF;}
footer .fRight .social a:hover{opacity:0.5;}
footer .fRight .social a:nth-child(n+2){margin-left: 15px;}
footer .fRight .copy a{color:#FFF;}
footer .fRight .copy a:hover{opacity:0.5;}

@media (min-width:1010px){
    nav.mainNav button {display: none;}
    [hidden]{display: block;} 
}

@media only screen and (max-width: 1250px) {
    .passesWrap{flex-direction: column;}
    .pass{margin:20px 0;}
    .pass:first-child{margin-top: 0;}
}

@media only screen and (max-width: 1130px) {
	.transitCenters .centers .center{flex-basis: 100%;}
    .transitCenters .centerLedgend p{flex-basis: 45%;}
}

@media (max-width: 1009px) {
   [hidden]{display: none !important;} 
    nav.mainNav button{
        background-color: transparent;
        border: 0;
        color:#4E504F;
        font-size: 3em;
        cursor: pointer;
    }
    nav.mainNav button span{
        position:absolute;
        left:-10000px;
        top:auto;
        width:1px;
        height:1px;
        overflow:hidden;
    }
    nav.mainNav{text-align: center;margin: 20px 0;}
    nav.mainNav.responsive{
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        background-color: #009ee3;
        padding:20px;
        margin:0;
    }
    nav.mainNav.responsive i.fa-bars{display: none;}
    nav.mainNav i.fa-times{display: none;}
    nav.mainNav.responsive i.fa-times{display: block;color:#FFF;}
    nav.mainNav ul{
        height: 100vh;
        flex-direction: column;
        justify-content: flex-start;
    }
    nav.mainNav.responsive ul li > a{color:#FFF;}
    nav.mainNav ul li{margin:10px 0;width:100%;text-align: center;padding: 0;}
    nav.mainNav ul li a{padding: 0;}
    
    nav.mainNav ul li .subWrap .sub{flex-direction: column;text-align:center;padding:40px 20px;background-color: #B0C72C;} 
    nav.mainNav ul li .subWrap .sub .subGroup ul{padding: 0;}
    nav.mainNav ul li .subWrap .sub .subGroup ul li{text-align: center;}
    nav.mainNav ul li .subWrap .sub .subGroup ul li a{color:#FFF;}
    nav.mainNav ul li .subWrap .sub .subGroup ul li a:after{display: none;} 
}

@media only screen and (max-width: 998px) {
    .homeContent{flex-direction: column;}
}

@media (max-width: 768px) {
    .quickLinks{flex-direction: column;}
    .quickLink:nth-child(n+2){margin:40px 0;}
    
    .plannerRouteContent{flex-direction: column;}
    
    .homeContent{flex-direction: column;}
    .homeContent .homeLeft{flex-basis:100%;margin-right: 0;text-align: center;}
    .homeContent .homeRight{flex-basis:100%;}
    
    .announcement{margin-right: 0;}
    .columnFlex{margin-right: 0;}
    .content{flex-direction: column;}
    .column50, .column60{flex-basis: 100%;}
    .column50:nth-child(1){margin-right: 0;}
    .column50:nth-child(2){margin-top: 40px;}
    .column30{flex-basis: 100%;margin-top: 40px;}
	.content img.right{float: none;max-width: 100%;margin: 5px auto 10px auto;display:block;}
    table{max-width:100%;}
	table td{max-width:100%;}
    .hasSectionNav{order:-1;margin-top: 0;}
	.embed{ position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; width: auto !important;}
	.embed iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
    footer{flex-direction: column;align-items: center;}
    footer .fContact{flex-direction: column;}
    footer .fContact div:first-of-type{margin-right: 0;}
    footer .fLeft{text-align: center;margin-top:30px;}
    footer .fRight{margin-top: 40px;align-items: center;}
}

@media (max-width: 645px) {
    
    .announcementTitle{flex-direction: column;text-align: center;}
    .announcementTitle i{font-size: 3em;margin-right: 0;margin-bottom: 10px;}
    .announcement p{text-align: center;margin-top: 15px;}
}