html {
    background:#ecf0f5;
    background-size:cover;
    color: #6d6e70;
}
body
{
    font-family:Raleway;
    margin:0;
    padding:0;
    font-size:14px;
    text-align:center;
    background: #6d6e70;
}
h2 svg
{
    width:30px;
    height:25px;
    vertical-align:bottom;

}
h2 svg *
{
    fill:#445472;
}
h2
{
    /* text-align: left; */
    font-weight: 600;
    text-transform: none;
    font-size: 20px;
    color: #445472;
    text-align: left;
    font-size: 16px;
    margin-top: 0;
}
#save
{display:none;}

.box
{
    display:block;
    background:white;
    text-align:left;
    font-size:14px;
    margin:auto;
    width:calc(100% - 20px);
    max-width: 800px;
    /* margin-bottom:100px; */
    border-radius: 0 0 5px 5px;
    /* border:solid 1px #eaebed; */
    position: relative;
    box-shadow: rgba(0,0,0,0.2) 5px 0px 5px;
}
.col3 {
    display: inline-block;
    width: 33%;
    box-sizing: border-box;
    padding: 10px;
}
.col2 {
    display: inline-block;
    width: 50%;
    box-sizing: border-box;
    padding: 20px;
    vertical-align: top;
    /* letter-spacing: 0.3px; */
    line-height: 16px;
    text-align: justify;
    /* word-break: break-word; */
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto;
    font-size: 13px;
    font-weight: 100;
}
.col1 {
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
}
.part
{
    display:block;
    padding:20px;

}

.part2
{
    background:#f7f8fa;
}

.btn:hover
{
    border-color:#445472;
}
.btn
{
    display:inline-block;
    width:100px;
    margin: 10px 2px;
    border-radius: 4px;
    border: solid 1px #eaebed;
    background:white;
    text-align:center;
    position:relative;
    padding:10px 0;
    color: #004789;
}
.rappel
{
    padding: 5px;
    border-left: solid 1px #445472;
    margin: 10px;
}
.rappel b
{
    color:#445472;
}
.restriction {
    padding: 5px;
    border: solid 1px #e74c3c5e;
    margin: 3px;
    /* color: white; */
    display: inline-block;
    max-width: 245px;
    /* background: #d24335; */
    font-size: 12px;
    line-height: 12px;
    border-radius: 4px;
}
.restriction b
{
    color:#e74c3c;
    text-transform:uppercase;
}
.btn input
{
    position:absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor:pointer;
}
.btn.checked
{

    background:#445472;
    color:white!important;
    border-color:#445472;
}
.btn.checked svg *
{

    fill:white;
}
.btn svg
{
    width: 100%;
    height: 30px;
}

.btn svg *
{
    fill: #004789;
}
input,select
{
    box-sizing: border-box;
    border: solid 1px #eaebed;
    background:white;
    font-size:14px;
    font-weight:300;
    padding:10px;
    width:100%;
    font-family:Raleway;
    border-radius: 4px;
    color: #004789;
}

.input small
{
    display: inline-block;
    /* padding-bottom: 19px; */
    vertical-align: top;
    margin-top: -5px;
    opacity: 0.3;
}
h3
{
    /* text-transform: uppercase; */
    color: #445472;
    font-weight: normal;
    margin-bottom: 0;
    font-weight: 600;
    text-align: left;
}
.act {
    padding: 20px 10px;
    text-align: center;
}
.act:nth-child(2n)
{
    background: #fbfcfd;
}
.btn span {
    /* font-weight: bold; */
    font-size: 10px;
    color: #445472;
    display: block;
}
@media screen and (max-width:800px)
{
    .col3
    {
        width:100%;
    }
}
@media screen and (max-width:600px)
{
    .col2
    {
        width:100%;
    }
}
.act .btn {
    height: 41Px;
    padding-top: 17px;
    vertical-align:top;
}
.act .btn:hover span {
    opacity:1;
}
.act .btn.complet:hover span{
    background: rgba(255,255,255,0.7);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    line-height: 70px;
    font-size: 14px;
    cursor:not-allowed;
    color:#e74c3c;
}
.act .btn span {
    opacity:0.5;
}
.act .btn.complet span {
    opacity:1;
}
.act .btn.complet,
.act .btn.complet:hover
{
    color:#eaebed;
    border:solid 1px #eaebed!important;
}
.act .btn.doublon
{
    color:#eaebed;
}

table {
    padding: 20px;
    margin: 0;
    border: none;
    width: 100%;
    box-sizing: content-box;
    border-spacing : 0;
    border-collapse : collapse;
    /* margin: 20px; */
    margin-bottom: 20px;
    max-width: 800px;
    margin: 0 auto 20px auto;
    border: solid 3px #fbfcfd;
    background: white;
}

tr {
    margin: 0;
    padding: 0;
    border: solid 1px #ccc;
    border: solid 2px transparent;
}

td {
    border: solid 1px #f7f7f7;
    margin: 0;
    padding: 6px 5px;
    font-size: 12px;
    text-align:center;
}
td:first-child
{
    text-align:left;
    font-weight: bold;
    color: #445472;
    /* background: white!important; */
    cursor: default;
    font-family: Raleway;
    font-size: 12px;
    font-weight: lighter;
    text-transform: uppercase;
    /* background: #fbfcfd!important; */
}

td span span {
    font-weight: bolder;
    display: block;
    font-size: 14px;
    color: #6ec5ce;
}

body table thead td {
    font-weight: bolder;
    /* color: #445472; */
    background: white!important;
    cursor: default;
    color: #636363!important;
    font-weight: lighter;
    text-transform: none!important;
    font-size: 12px!important;
    background: #fbfcfd!important;
}

td span {
    font-size: 10px;
    color: #ccc;
}

table tr td.clickable:hover {
    background: #6ec5ce;
    cursor: pointer;
    /* color: white!important; */
}
table tr td.active{
    background: #6ec5ce;
    cursor: pointer;
    position:relative;
    /* color: white!important; */
}
table tr td.active:after{
    opacity:1;
    color:white;
    content:'+';
    position:absolute;
    top: 50%;
    left:0;
    width: 100%;
    text-align: center;
    font-weight: bolder;
    margin-top: -10px;
    line-height: 20px;
    transform:rotate(45deg);
    font-size: 39px;
}
table tr td.active *{
    opacity:0;
}
@media screen and (max-width:500px)
{
    table
    {
        display:none;
    }
}

tr:nth-child(2n) td:first-child {
    /* background: #fbfcfd!important; */
}

tr:nth-child(2n) {
    background: #fbfcfd;
}

table tr td.clickable:hover * {
    color: white;
}

body table tr:hover {
    background: rgba(100, 197, 206, 0.09)!important;
    /* border: solid 2px #445472; */
}
.col4 {
    display: inline-block;
    width: 25%;
    box-sizing: border-box;
    padding: 20px;
    vertical-align: top;
}

h1 {
    text-align: center;
}

small {
    display: block;
    text-align: left;
}

p.info {
    margin: 0 100px;
    display: block;
    max-width: 800px;
    margin: auto;
    text-align: center;
    /* font-style: italic; */
    line-height: 24px;
    letter-spacing: 1px;
    font-weight: 100;
    font-family: raleway;
    margin-top: 50px;
}

footer {
    display: block;
    /* background: white; */
    text-align: left;
    font-size: 14px;
    margin: auto;
    width: calc(100% - 20px);
    max-width: 800px;
    padding-bottom: 20px;
    border-radius: 0 0 5Px 5px;
    /* border: solid 1px #eaebed; */
    font-size: 10px;
    text-align: justify;
    color: white;
    padding-top: 5px;
}
#logo
{
    position: fixed;left: 50%;/* top: 0; *//* background: red; *//* height: 200px; *//* width: 200px; */margin-left: -584px;
}

.bandeau {
    position: absolute;
    background: #01bb00;
    padding: 5px;
    font-size: 18px;
    color: white;
    right: 0;
    top: 30px;
    width: 249px;
    text-align: center;
}

.bandeau2 {
    position: absolute;
    background: #84e717;
    padding: 5px;
    font-size: 18px;
    color: white;
    right: 150px;
    top: 63px;
    width: 99px;
    text-align: center;
}

.info
{
    position: absolute;
    border-left: solid 1px #445472;
    width: 218px;
    /* padding-left: 20px; */
    top: 105px;
    right: 0;
    padding: 10px 20px;
    /* background: red; */
    color: #445472;
    font-weight: 300;
    font-size: 16px;
}

p.info2 {
    display: block;
    max-width: 600px;
    margin: auto;
    margin-top: 50px;
    text-align: center;
    font-size: 15px;
    line-height: 18px;
    font-style: italic;
    text-align: justify;
}
.bandeau3
{
    background: #00b6ff;
    padding: 5px;
    font-size: 18px;
    color: white;
    width: 200px;
    text-align: center;
    margin-left: -20px;
    box-sizing: border-box;
    width: 100%;
    max-width: 520px;
    padding-left: 60px;
    text-align: left;
}
.bandeau4 {
    background: #ff7bac;
    padding: 5px;
    font-size: 18px;
    color: white;
    width: 200px;
    text-align: center;
    margin-left: -20px;
}
.bandeau5 {
    background: #01bb00;
    padding: 5px;
    font-size: 18px;
    color: white;
    width: 200px;
    text-align: center;
    margin-left: -20px;
}

.bandeau6 {
    background: #ff9a50;
    padding: 5px;
    font-size: 18px;
    color: white;
    width: 200px;
    text-align: center;
    margin-left: -20px;
}

.col1.blue {
    background: white;
    /* padding-top: 0; */
}

.col1.rose {
    padding-top: 0;
    /* background: #fff3f8; */
}
.col1.orange
{
    /* padding-top:0; */
    /* background:#ff9a50; */
}

h3 b {
    color: #00b6ff;
}
#bandeauFixed
{

    top: 601px;
    position: absolute;
    left: 50%;
    margin-left: -400px;
}

.col4 svg {
    width: 100%;
    height: 40px;
}

.col4
{
    display: inline-block;
    width: 25%;
    box-sizing: border-box;
    padding: 20px;
    vertical-align: top;
    text-align: center;
    color: black;
    text-decoration: none;
    opacity: 0.5;
}
.col4:hover
{
    opacity:1;
}
.col4.active
{
    opacity:1;
    color:#ff7bac;
}

.col4.active svg *
{
    fill:#ff7bac;
}

#details
{
    border: solid 2px rgb(255, 185, 211);
    position:relative;
    background: rgb(242, 242, 242);
    border-radius: 20px;
    /* color: rgba(0, 0, 0, 0.6705882352941176); */
}
#details div:before {
    content: "";
    height: 0;
    width: 0;
    display: block;
    border: solid 20px rgb(255, 185, 211);
    position: absolute;
    top: -40px;
    left: 12.5%;
    margin-left: -20px;
    border-top-color: transparent;
    border-left-color: transparent;
    border-right-color: transparent;
}

#details div:after {
    content: "";
    height: 0;
    width: 0;
    display: block;
    border: solid 20px #f2f2f2;
    position: absolute;
    top: -37px;
    left: 12.5%;
    margin-left: -20px;
    border-top-color: transparent;
    border-left-color: transparent;
    border-right-color: transparent;
}
#details #train:before,
#details #train:after
{
    left: 37.5% !important;
}
#details #metro:before,
#details #metro:after
{
    left:62.5% !important;
}
#details #bicycle:before,
#details #bicycle:after
{
    left:87.5% !important;
}


h3 span {
    background: #00b6ff;
    color: white;
    /* border-radius: 5px; */
    padding: 0px 8px;
    font-size: 9px;
    /* word-break: keep-all; */
    display: inline-block;
    text-transform: uppercase;
    line-height: 16px;
    /* margin-top: -1px; */
    /* position: absolute; */
    vertical-align: top;
}

@media screen and (max-width:1200px) and (min-width:997px)
{
    .box,footer
    {
        margin-left:194px;
    }
    #logo {
        position: fixed;
        left: 10px;
        margin:0;

    }
    #bandeauFixed {
        left: 194px;
        margin:0;
        opacity:0;
    }
}
@media screen and (max-width:1022px)
{
    #bandeauFixed {
        opacity:0;
        display:none;
        visibility:hidden;
    }
    #logo {
        position: absolute;
        left: 0px;
        top: -100px;
        padding: 6px 0px 15px 10px;
        background: #445472;
        margin: 0;
        width: 90px;
    }
    .col1 img
    {
        margin-left:0;

    }
    .box
    {
        margin:auto;
        margin-top:100px;
        max-width:100%;

    }
    footer
    {
        margin:auto;
        max-width:100%;
    }
    html,body {
        background: #445472;
    }

}
@media screen and (max-width:850px)
{
    .box,footer
    {
        width:100%;
        margin:0;
        margin-top:100px;
        max-width:100%;
        box-shadow: none;
        /* overflow: hidden; */
    }


}
@media screen and (max-width:571px)
{
    .col1 img{
        width: 200px;
        margin-top: 27px;
    }
}
@media screen and (max-width:571px)
{
    .col1 img{
        width: 200px;
        margin-top: 27px;
    }
}
@media screen and (max-width:499px)
{
    .col1 img{
        position: absolute;
        top: -127px;
        right: 0;
        padding: 10px 30px;
        height: 80px;
        width: auto;
        background: white;
    }
    .bandeau,.bandeau2,.info
    {
        position:relative;
        top:auto;
        left:auto;
        right:auto;
    }
    .info
    {
        width:100%;
        box-sizing: border-box;
    }
    .info2
    {

        margin-top: 20px;
    }
    .col2,.col1
    {
        padding-left: 5px;
        padding-right: 5px;
    }
    .bandeau3
    {
        padding-left:20px;
    }
}


a {
    display: block;
    text-align: right;
    width: 100%;
    color: #ff9a50;
    font-weight: bold;
    text-decoration: none;
    font-size: 14px;
}

.col2 a:hover {
    color: #ff7bac;
}

.col1.green a {
    text-align: left;
    margin: 0;
    display: inline;
    font-weight: normal;
}

.col1>a.synthese {
    text-align: center;
    background: #ff7bac;
    font-size: 20px;
    color: white;
    display: block;
    border: solid 2px #ff7bac;
    width: auto;
    margin: auto;
    padding: 5px 0;
}

.col2 a {
    text-align: right;
}

a.synthese:hover {
    background: white;
    color: #ff7bac;
}

a.green {
    color: #43bc09;
}