html {
    height: 100%;
}

body {
    background: none repeat scroll 0 0 #F8F8F8;
    width: 100%;
    height: 100%;
    font-family: arial, sans-serif;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: arial, sans-serif;
}

h3 {
    font-size: 1rem;
}


header, footer {
    width: 100%;
}

/*
header
**/

header {
    position: relative;
    background: #404040;
    border-bottom: 3px solid #F24C3D;
    height: 45px;
}

header.fixed {
    z-index : 1001;
}

section {
    margin-top: 45px;
    min-height: 100%;
}

h1 {
    font-size: 1.2em;
    color: #fff;
    margin: .4em;
    text-align: center;
}

a.toggle_menu {
    position: absolute;
    vertical-align:bottom;
    padding: .8em 1.5em;
    top: 0;
    left: 0;
    color: #fff;
}

header a.button {
    padding: 0.25rem .6rem;
    xbackground: #c0c0c0;
    xcolor: #4d4d4d;
    xborder-color: #d9d9d9;
}

a.button-ok {
    position: absolute;
    top: 0.3em;
    right: 1em;
}

/*
off canvas menu
**/


.mainmenu ul {
    list-style: none;
    margin:0;
    padding: 0;
    position: absolute;
    z-index: 10;
    width: 100%;
}

.mainmenu ul li {
    border-bottom: 1px solid #252525;
    border-top: 1px solid #4B4B4B;
    width: 100%;
}

.mainmenu ul li a {
    display: block;
    color: #ddd;
    padding: .7em;
}

.mainmenu ul li a:active {
    background: #3e3e3e;
    color: #fff;
}

.fblogo {
    text-align: center;
    width: 100%;
    margin-top: 106px;
    margin-bottom: 1em;
    position: absolute;
    bottom: 2em;
}

.version-info {
    width: 100%;
    text-align: center;
    position: absolute;
    bottom: 1em;
}

.app-version {
    color: #666;
    font-size: 10px;
}


/*
Form + autocomplete
**/

#home .maincol {
    padding-top: 2em;
}

.formrow {
  position: relative;
}

.formrow.focus span.prefix {
    background: #79C04B;
    color: #fff;
}


.formrow  .autocomplete.columns {
    position: absolute;
    z-index: 10;
    top: 2em;
}

span.prefix, label.prefix {
    background: #EAEAEA;
}

span.deleteicon {
    position: absolute;
    top: 0;
    right: 0;
    width: 24px;
    height: 36px;
    padding-top: 8px;
    cursor: pointer;
}

input.deletable {
    padding-right: 24px;
}


#distance-row input[type="range"],
#sponsor-routes form input[type="range"]  {
    width: 100%;
    margin: 10px 0 24px 0;
    position: relative;
}

#distance-row output,
#sponsor-routes form output {
    z-index: 20;
    position: absolute;
    background-color : #b4b4b4;
    width: 65px;
    height: 25px;
    text-align: center;
    color: white;
    border-radius: 3px;
    display: inline-block;
    font: bold inherit;
    bottom: 70%;
    right: 0;
    line-height: 25px;
}

#myroutes ul,
.autocomplete {
    background: #fafafa;
    border: 1px solid #ccc;
    border-radius: 2px;
}

#myroutes ul,
.autocomplete ul {
    list-style: none;
    margin: 0;
}

#myroutes li,
.autocomplete li {
    border-top: 1px solid #969696;
    line-height: 15px;
    padding: 9px 14px 7px;
    position: relative;
}

.autocomplete li.header {
    background-color: #C0C0C0;
    color: #FFFFFF;
    padding: 7px 14px;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
}

#myroutes h3
.autocomplete h3 {
    font-size: 18px;
    font-weight: normal;
    line-height: 22px;
    margin-bottom: 3px;
    white-space: normal;
}

#myroutes li span.route-length,
.autocomplete span.locatie-soort {
    color: #777777;
    font-size: 15px;
    font-style: italic;
    margin-left: 10px;
}

.autocomplete p.locatie-plaats {
    float: left;
    white-space: normal;
}
.autocomplete p {
    color: #333333;
    font-family: 'proxima-nova',"helvetica neue",arial,sans-serif;
    font-size: 15px;
    letter-spacing: 0.2px;
}
.autocomplete p, .autocomplete h3 {
    margin: 0;
    line-height: 1.3;
}

.autocomplete li.current-location {
    border-bottom: 2px solid #969696;
}

.autocomplete li.current-location p {
    font-style: italic;
    color: #0088CC;
    font-size: 16px;
}

/*
Splashscreen
**/

.splashrow {
    position: relative;
    height: 100%;
    background: transparent;
}

.splashrow p {
    font-family: "open sans", Arial, Sans-serif;
    margin: 3em 0 1.5em;
}

.splashrow .columns {
    text-align: center;
}

.loadinganim {
    margin: 1em 0 3em;
}

.xlogocols {
    position: absolute;
    bottom: 2em;
}

#loading {
    min-height: 120px;
    border: 1px solid #ccc;
    border-radius: 5px;
    z-index: 10000;
    position: fixed;
    top: 60px;
    bottom: 60px;
    left: 15px;
    right: 15px;
    background: #fff;
    opacity: 0.9;
}

section#loading {
    min-height: 100px;
}

#loading .maincol,
#loading .splashrow {
    height: auto;
}

/*
tabs
 **/



.tabs dd > a {
    border: 1px solid #f4f4f;
    padding: 0.5rem 1rem;
    font-size: 14px;
    border-radius: 2px;
}


.tabs dd.active > a {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

.tabs-content {
    height: 100%;
}

.tabs-content .content {
    background: #fff;
}

.tabs-content h2 {
    font-size: 1.2em;
}

.tabs-content .row {
    margin-left: 0;
    margin-right: 0;
}

.tabs-content .content.active {
    border-top: 1px solid #ccc;
}


/* routebeschrijving
**/

.dl-horizontal:before, .dl-horizontal:after {
    content: "";
    display: table;
    line-height: 0;
}

.dl-horizontal:after {
    clear: both;
}

.dl-horizontal dt {
    color: #3381C5;
    float: left;
}

.dl-horizontal dd {
    margin-left: 100px;
}


.dl-horizontal dt {
    font-weight: normal;
}

/**
 Route results and navigation directions
**/

ul.routeresults {
    list-style: none;
    background: #fafafa;
    margin: 0 0 60px 0;
    border: 1px solid #ccc;
}

ul.routeresults li {
    border-bottom: 1px solid #969696;
    line-height: 15px;
    padding: 10px 14px 12px;
}

.routeresults li {
    -webkit-transition: 500ms;
    -moz-transition: 500ms;
}

ul.routeresults li .direction {
    font-size: 15px;
    /*margin-bottom: 0;*/
    /*color: #595959;*/
}

.direction .dir-icon {
    float: left;
    width: 3em;
    height: 3em;
    margin-right: 0.2em;
}

.direction .dir-text {
    text-align: left;
    display: inline-block;
    clear: none;
    float: right;
    line-height: 1.4;
    width: 80%;
}

.direction .dir-text * {
    display: inline;
    text-align: left;
}

.dir-text * {
    padding-right: 0.3em;
}

.dir-text .target {
    padding-left: 0.3em;
    font-weight: bold;
}

.dir-text .target .s {
    font-weight: normal;
}

.direction .via-icon,
.direction .segment-icon {
    margin-left: 0.5em;
    vertical-align: bottom;
    float: right;
    clear: none;
}

.focus .direction .dir-text {
    background : #ff0;
}

.highlight .direction {
    min-height: 14em;
    min-width: 90%;
    top: 45px;
    left: 0;
    right: 0;
    bottom: 60px;
    margin: 0;
    padding: 0;
    position: fixed;
    z-index: 1000;
    background : #fff;
    color: #010101;
}

.highlight .direction .dir-icon {
    display: block;
    clear: both;
    height: 10em;
    width: 10em;
    margin: 1.8em auto 1.2em;
    float: none;
}

.highlight .direction .dir-text {
    font-size: 155%;
    width: 100%;
}

.highlight .direction .dir-text * {
    display: block;
    clear: both;
    float: none;
    text-align: center;
    line-height: 1.5;
}

.highlight .direction .dir-distance {
    font-size: 140%;
}

.highlight .direction .target {
    font-size: 120%;
    margin-top: 0.5em;
    padding-top: 0.8em;
    background: url(../img/directions/more_arrow.svg) no-repeat top center;
}

.dir-text .target .s {
    font-size: 80%;
}

.dir-stop {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    border-top: 1px solid #ddd;
    height: 64px;
    z-index: 1000;
    background : #fff;
    margin: 0;
    padding-top: 5px;
}

.dir-stop dl {
    display: none;
}
.step-button,
.kaartbutton-override {
    display: none;
}
.dir-stop .kaartbutton-override {
    display: inline-block;
    float: right;
}
.step-button,
.dir-stop .toggle-highlight,
.dir-stop .kaartbutton-override {
    padding: 0.75rem 0.5rem 0.5rem;
}

/* media queries to handle smaller screens
**/

/* iphone 5 */
@media screen and (max-height: 570px) {
    ul.routeresults .highlight .direction {
        font-size: 12px;
    }
}

/* iphone 4 */
@media screen and (max-height: 480px) {
    ul.routeresults .highlight .direction {
        font-size: 10px;
    }
}

/* extra opties
**/


.extraopties {

}

.extraopties a {
    color: #595959;
    /*display: block;
    padding: .5em;
    border: 1px solid #ccc;
    border-radius: 5px;*/
}

.extraopties a span {
    display: inline-block;
    background: url('../img/sprite_plusmin.png') no-repeat -6px -4px;
    width: 11px;
    height: 12px;
    margin-right: 5px;
}

.extraopties a.no_extraopties span {
    background: url('../img/sprite_plusmin.png') no-repeat -6px -22px;
}

.formrow hr{
    margin-top: 0
}

/* routetypes */

select {
    background: #fff;
    margin-top: 10px;
    font-size: 0.875rem;
}

select:hover {
    background: #fff;
}

/* over?

.dl-horizontal.dl-options dd {
    margin-left: 150px;
}

input.input-nummer {
    padding: 7px 8px;
    text-align: center;
    width: 40px;
    display:inline-block;
}

form.route-opties .icon {
    width: 30px;
    height: 35px;
    padding: 0;
    background: url(../img/plusminbuttons.svg) 0 -2px no-repeat ;
    background-size: 65px 68px;
    border: none;
}

    form.route-opties .icon.min {
        background: url(../img/plusminbuttons.svg) 0px -36px no-repeat ;
        background-size: 65px 68px;

    }

        form.route-opties .icon:hover,
        form.route-opties .icon:active {
        background: url(../img/plusminbuttons.svg) -35px -2px no-repeat;
        background-size: 65px 68px;

    }

    form.route-opties .icon.min:hover,
        form.route-opties .icon.min:active {
        background: url(../img/plusminbuttons.svg) -35px -36px no-repeat;
        background-size: 65px 68px;

    }

*/


/*
instellingen
**/


.rowheader {
    background-color: #C0C0C0;
    color: #4d4d4d;
    padding: 7px 14px;
    xtext-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
    border-top: 1px solid #969696;
    border-bottom: 1px solid #969696;
    font-size: 18px;
}


.button.secondary {
    background: #ccc;
}

.button.disabled {
    background: #b4b4b4;
    border-color: #999;
}

    .button.disabled:hover {
        background: #b4b4b4;
        border-color: #999;
    }


/*
basic text
**/

.shadow {
    display: block;
    position: relative;
}

.shadow:before {
    border-radius: 4px;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3) inset;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
}

.shadow img {
    border-radius: 4px;
    display: block;
    margin-bottom: 30px;
}

.contentcol {
    background: #fff;
}

.button.photo {
    background: #ccc url(../img/icon_camera.svg) center 6px no-repeat;
    background-size: 30px 60px;
}

    .button.photo:hover {
    background: #DADADA url(../img/icon_camera.svg) center -30px no-repeat;
    background-size: 30px 60px;
    }





/*
maincol
**/

.maincol {
    height: 100%;
    /* margin-top: 2em; */
}

/*
buttons
**/

.button, button {
    background: #79C04B;
    border-right: 1px solid #4bb147;
    border-bottom: 1px solid #4bb147;
}

button:hover, button:focus, .button:hover, .button:focus {
    background: #4bb147;
}

button.sidebutton {
    position: fixed;
    right: 0;
    bottom: 30px;
    z-index: 400; /*must be above 399 to float over map */
    margin-bottom: 0;
    font-size: 0.875rem;
}

button#button-melden {
    background-color: #fff;
    padding: 38px 13px 5px 13px;
    color: #222;
    border-bottom: 1px solid #efefef;
    background: #fff url(../img/alerticon.svg) center 5px no-repeat;
    background-size: 32px 32px;
}

    button#button-melden.active {
        background: #FBD800 url(../img/alerticon-active.svg) center 5px no-repeat;
        border-bottom: #DBBE0C;
    }


/*
map
**/

#panel-kaart {
 padding: 0;
 height: 100%;
}

#panel-kaart .row {
   width: auto;
   height: 100%;
   margin-left: -15px;
   margin-right: -15px;
}

#map {
    width: 100%;
    height: 100%;
    min-width: 275px;
    min-height: 370px;
    border: 0px solid #F00;
}

.mapbutton {
    width: 30px;
    height: 30px;
    padding: 5px 1px 1px 1px;
    border-radius: 5px;
    background-color: #fff;
    border:none;
    box-shadow: 0px 0px 0px 2px rgba(0,0,0,0.25);
    position: absolute;
    top: 10px;
    left: 12px;
    z-index: 450;
}
#trackme {
    background-color: #fff;
    top: 125px;
}
    #trackme.active {
        background-color: #01BDFF;
    }
#trackme svg {
    fill: #000;
    width: 20px;
    height: 20px;
}
    #trackme.active svg {
        fill: #fff;
    }

/* Dialog
**/

.dialog {
    position: fixed;
    z-index: 1010; /*Must be over 1000 to float over map-buttons*/
    top: 30%;
    left: 50%;
    width: 270px;
    margin-left: -135px;
    max-width: 400px;
    background-color: #fff;
    border-radius: 5px;
    padding: 20px;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.4);
}

.dialog h3 {
    font-size: 1rem;
    margin-bottom: 1rem;
}

.dialog p {
    font-size: 0.875rem;
    line-height: 1.4;
}

.dialog .button {
    font-size: 0.875rem;
    padding: 1rem;
    margin: 0 auto;
    display: block;
}

.dialog .close {
    position: absolute;
    right: 7px;
    top: 7px;
    display: block;
}

#dialog-melden {
    display: none;
}

#dialog-melden h3{
    background: #fff url(../img/alerticon.svg) 0px 0px no-repeat;
    background-size: 32px 32px;
    padding-left: 40px;
    min-height: 32px; /* for alert icon */
}

/* loading dots
**/


.loading {
    width:46.666666666666664px;
    position: absolute;
    top: 1.1em;
    right: 1em;
}


.loadingdot {
    display:block;
    background-color:#404040;
    float:left;
    height:6px;
    margin-left:5px;
    width:6px;
    -webkit-animation-name:bounce_circleG;
    -webkit-animation-duration:1.65s;
    -webkit-animation-iteration-count:infinite;
    -webkit-animation-direction:linear;
    -webkit-border-radius:4px;
    animation-name:bounce_circleG;
    animation-duration:1,.65s;
    animation-iteration-count:infinite;
    animation-direction:linear;
    border-radius:4px;
}

header .loadingdot {
    background-color: #404040;
}

.loadingdot_1 {
    -webkit-animation-delay:0.33s;
    animation-delay:0.33s;
}

.loadingdot_2 {
    -webkit-animation-delay:0.77s;
    animation-delay:0.77s;
}

.loadingdot_3 {
    -webkit-animation-delay:0.99s;
    animation-delay:0.99s;
}

@-webkit-keyframes bounce_circleG {
    0% {
    }

    50% {
        background-color:#fff;
    }

    100% {
    }

}

@keyframes bounce_circleG {
    0% {
    }

    50% {
        background-color:#fff;
    }

    100% {
    }

}

.content-page-container>section {
    display: none;
}

#map_currentlocation {
    position: absolute;
    top: 50px;
    left: 50px;
    background-color: rgba(255, 255, 255, 0.75);
    vertical-align: middle;
    z-index: 401;
}

#map_currentlocation .direction {
    margin: 10px 5px;
    padding: 0;
}

.sponsor-notice {
    text-align: center;
    margin-top: 50px;

}

.sponsor-notice img{
    width: 90%;
}

.campaign-notice {
    text-align: center;
    margin-top: 16px;
}
.campaign-notice img {
    width: 90%;
}
/* (Settings)formulieren */

#settings .maincol {
   /* padding-top: 2em;*/
}


#settings form {
    font-size: 0.875rem;
}

#settings form label {
    font-size: 16px;
    margin-bottom: .5em;
}

#settings form .formrow {
    margin: 0 0 .5em;
}

#settings input[type='checkbox']+label {
    color: #000;
    font-size: 14px;
    max-width: 87%;
    margin-bottom: 0;
    margin-right: 0;
    margin-top: -2px;
    vertical-align: text-top;
}

#controlfields {
    background: grey;
    float: left;
    clear: both;
    padding: 5px;
    margin: 5px;
}
#controlfields input[type="text"],
#controlfields label {
    min-width: 8em;
    max-width: 12em;
    height: 1.3em;
    float: left;
    line-height: 1;
    font-size: 12px;
    padding: 4px 5px;
    margin: 0 0 5px 0;
}
#controlfields label {
    clear: left;
    background: lightgrey;
}
.hidden-text,
.hidden-comma {
    display: block;
    width: 1px;
    height: 1px;
    left: -1000em;
    top: 0;
    overflow: hidden;
    position: absolute;
}
.readspeaker_placeholder,
.routeresults .readspeaker_placeholder,
.routeresults audio {
    width: 1px;
    height: 1px;
    left: -1000em;
    top: 0;
    overflow: hidden;
    position: absolute;
}
/* waypoints debug */
#waypoints {
    display: none;
}
#waypoints.visible {
    position: fixed;
    display: block;
    width: 50px;
    right: 0;
    top: 45px;
    bottom: 15px;
    z-index: 1001;
    border-left: 1px dotted #003;
    background: #ececec;
    padding: 0;
    overflow: auto;
}
.current-coordinates,
.waypointinfo {
    float: left;
    display: block;
    width: 48px;
    margin: 2px 0;
    padding: 2px 1px;
    font-size: 10px;
    line-height: 12px;
    border-bottom: 1px dotted #003;
}
.waypointinfo:first-child {
    background: #9a9;
}
.waypointinfo:last-child {
    background: #a99;
}
.waypointinfo[current="current"] {
    background: #33f;
}
.current-coordinates {
    background: #aa9;
}
.newclosest {
    border-top: 1px solid red;
    border-bottom: 1px solid red;
}
.current-coordinates .coord,
.waypointinfo .status,
.waypointinfo .dist,
.waypointinfo .actual,
.waypointinfo .coord {
    float: left;
    display: block;
    width: 22px;
    overflow: hidden;
    border: 1px solid #444;
    background: #fff;
    border-radius: 2px;
    margin-top: 1px;
    text-align: center;
}
.waypointinfo .status {
    width: 44px;
}
.waypointinfo .coord {
    font-size: 8px;
}
.current-coordinates .coord {
    width: 44px;
}

html #__vconsole .vc-switch {
    border-radius: 0;
    bottom: -8px;
    box-shadow: none;
    background-color: #ffa500;
}

/** -- #sponsor -- */
#sponsor-routes {
    /*border-top: 2px solid #1d2129;*/
    background: #5bc2ce;
    padding: 0 0 25px 0;
    z-index: 100;
    top: 65px;
    bottom: 0;
    position: absolute;
}

#sponsor-routes .columns,
#sponsor-routes .column {
    background: #5bc2ce;
}

#sponsor-routes button.expand {
    text-align: left;
    margin: 0;
    padding-left: 20px;
    border: 0;
    background: #5bc2ce;
    color: #1d2129;
}
#sponsor-routes button.expand .arrow {
    float: right;
    font-size: 1;
    width: 0;
    height: 0;
    margin-right: 20px;
    margin-top: 5px;
}
#sponsor-routes.toggle-open button .arrow {
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #1d2129;
}
#sponsor-routes.toggle-close button .arrow {
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #1d2129;
}
#sponsor-routes-wrapper {
    margin: 0;
}
#sponsor-routes-wrapper ul,
#sponsor-routes-wrapper ul li {
    list-style: none;
    padding: 0;
    margin: 0;
}
#sponsor-routes-wrapper ul li a {
    display: block;
    padding: 5px;
    line-height: 2;
    border-bottom: 1px solid #2898A5;
    text-indent: 15px;
    color: #1d2129;
}
#sponsor-routes-wrapper ul li:last-child a {
    border-bottom: 0;
}
#sponsor-routes .sponsor-notice {
    margin-top: 5px;
    margin-bottom: 1rem;
}

#sponsor-routes form {
    padding: 0 20px;
    margin: 50px 0;
}

#sponsor-routes form legend{
    font-size: 1rem;
    font-weight: bold;
}

#sponsor-routes form .formrow{
    margin: 1rem 0;
}

#sponsor-routes form label{
    font-size: 1rem;
    color: #1d2129;
}

#sponsor-routes form input[type=range]{
    margin-bottom: 0;
    background-color: transparent;
}

#sponsor-routes form output {
    background-color: #2898A5;
    bottom: 57%;
}

#sponsor-routes form button {
    background-color: #404040;
    border-color: #000;
    border-radius: 3px;
    padding: .5rem 2rem;
    margin: 0 auto;
    display: block;
}

#sponsor-routes form button:active,
#sponsor-routes form button:hover,
#sponsor-routes form button:focus {
    background-color: #2898A5;;
    border-right: 1px solid #0C5B65;
    border-bottom: 1px solid #0C5B65;
}

#sponsor-routes-wrapper ul li a.info {
    line-height: 2;
    float: right;
    display: inline-block;

    padding: 5px;
    border-bottom: none;
}

#sponsor-routes-wrapper ul li a.info img {
    width: 22px;
    height: 22px;
    vertical-align: center;
    margin-right: 15px;
}

/** -- /#sponsor -- */

#featured-routes-list,
#featured-routes-list li {
    list-style: none;
    padding: 0;
    margin: 0;
}
#featured-routes-list {
    margin-bottom: 25px;
}
#featured-routes-list li a {
    display: block;
    padding: 5px;
    line-height: 2;
    border-bottom: 1px solid #333;
    text-indent: 15px;
    color: #1d2129;
}

#featured-routes-list li:first-child a {
    border-top: 1px solid #333;
}


#featured-routes-list li a.info {
    line-height: 2;
    float: right;
    display: inline-block;

    padding: 5px;
    border-bottom: none;
}

#featured-routes-list li a.info img {
    width: 22px;
    height: 22px;
    vertical-align: center;
    margin-right: 15px;
}
