@font-face {
    font-family: 'Montserrat-Light';
    src: url("fonts/Montserrat-Light-webfont.eot");
    src: url("fonts/Montserrat-Light-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/Montserrat-Light-webfont.woff2") format("woff2"), url("fonts/Montserrat-Light-webfont.woff") format("woff"), url("fonts/Montserrat-Light-webfont.ttf") format("truetype"), url("fonts/Montserrat-Light-webfont.svg#montserratlight") format("svg");
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Montserrat';
    src: url("fonts/Montserrat-Regular-webfont.eot");
    src: url("fonts/Montserrat-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/Montserrat-Regular-webfont.woff2") format("woff2"), url("fonts/Montserrat-Regular-webfont.woff") format("woff"), url("fonts/Montserrat-Regular-webfont.ttf") format("truetype"), url("fonts/Montserrat-Regular-webfont.svg#montserratregular") format("svg");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Montserrat-Bold';
    src: url("fonts/Montserrat-Bold-webfont.eot");
    src: url("fonts/Montserrat-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/Montserrat-Bold-webfont.woff2") format("woff2"), url("fonts/Montserrat-Bold-webfont.woff") format("woff"), url("fonts/Montserrat-Bold-webfont.ttf") format("truetype"), url("fonts/Montserrat-Bold-webfont.svg#montserratbold") format("svg");
    font-weight: 700;
    font-style: normal;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 80px;
    background-color: rgb(248, 248, 248);
}

.navbar-general {
    background-color: rgb(12, 81, 138);
    border: none;
    border-color: transparent;
    border-radius: 0px;
    height: 82px;
    margin-bottom: 0;
}

.navbar-general a.logo {
    padding: 7px;
    display: table;   
}

.navbar-general a.logo img {
    height: 65px;
    width: 408px;
}
/*************************************/
/* PASTILLE MON COMPTE               */
/*************************************/
.pastille {
    margin-top: 10px;
}

.mon-compte{
	margin-top: -8px;
}

.banner-mon-compte__connexion-wrapper .banner-mon-compte__connexion-avatar,
.banner-mon-compte__connexion-wrapper .banner-mon-compte__connected-avatar {
	background-color: rgb(255, 255, 255);
}

.banner-mon-compte__connexion-wrapper .banner-mon-compte__connexion-avatar > svg > path {
	fill: rgb(12, 81, 138);
}

.banner-mon-compte__connexion-wrapper .banner-mon-compte__connected-avatar span.letter {
	color: rgb(12, 81, 138);
}

.banner-mon-compte__connexion-wrapper .banner-mon-compte__my-account::after{
	color: rgb(12, 81, 138) !important;
}

.banner-mon-compte__connexion-wrapper .banner-mon-compte__sub-menu-parent .banner-mon-compte__sub-menu{
	margin: 0px;
}

.btn-paris:hover:after, .btn-paris:focus:after, .btn-paris[disabled]:after {
	width: 100%;
}

/*************************************/
/* BOUTONS            				 */
/*************************************/
.btn-paris, .btn-paris:hover{
	text-transform: uppercase;
	color: rgb(255,255,255);
	font-family: "Montserrat";
	font-size: 14px;
	position: relative;
	z-index: 1;
}

.btn-paris:after{
	border-radius: 5px;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transition: width 0.35s ease;
	transition: width 0.35s ease;
	width: 0;
	z-index: -1;
}

.btn-red{
	background-color: #df225a;
}

.btn-blue{
	background-color: #0c518a;
}

.btn-red:after{
	background-color: #b41a48;
}

.btn-blue:after{
	background-color: #0f4573;
}

/************************************/
/* FORMULAIRE            			*/
/************************************/
h1.section-title {
	border-left: solid 5px rgb(248,226,115);
	height: 80px;
	padding-left: 40px;
	padding-top: 20px;
	margin-top: 30px;
}

.row-group{
	margin-top: 30px;
}

.row-title{
	border-bottom: solid 2px rgb(13,80,139);
	color: rgb(13,80,139);
}

.row-title label{
	font-size: 16px;
	font-weight: 800;
}

.row-group p, .row-group .radio label, .row-group .checkbox label{
	font-family: 'Montserrat-Light';
}

.hero {
    height: 300px;
    background-image: url("../images/image-DMR/hero.jpg");
}

.hero-filter {
    background-color: rgba(12, 81, 138, 0.65);
    height: 300px;
}

.main-heading {
    display: table-cell;
    vertical-align: middle;
    height: 300px;
}

.main-heading h1 {
    color: white;
    font-family: 'Montserrat-Bold';
    font-size: 56px;
    font-weight: 800;
    margin: 0;
}

.picto-steps, .picto-steps-ramen{
    margin-top: 40px;
}

.picto-steps .step {
    margin-bottom: 20px;
}

.picto-steps .step .picto {
    padding: 30px;
    background-color: rgb(255,255,255);
    display: table;
    border-radius: 80px;
}

.picto-steps .step small {
    display: table;
    background-color: rgb(12, 81, 138);
    color: rgb(255,255,255);
    font-family: 'Montserrat';
    font-size: 14px;
    font-weight: 300;
    border-radius: 50%;
    width: 28px;
    height: 29px;
    position: absolute;
}

.picto-steps .step small span{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.picto-steps .step-description{
    width: 225px;
    display: block;
    margin: 0 auto;
    text-align: center;
    font-family: 'Montserrat';
    font-size: 17px;
    font-weight: 700;
    color: rgb(12, 81, 138);
}

.pull-middle {
    display: table;
    margin: 0 auto;
}

.mobile-app .app-title {
    font-family: 'Montserrat';
    font-size: 18px;
    font-weight: 500;
    color: rgb(12, 81, 138);
    text-transform: uppercase;
}

.mobile-app p{
    font-family: 'Montserrat';
    font-size: 18px;
    font-weight: 300;
    color: rgb(39, 39, 39);
}

.mobile-app {
    margin-top: 60px;
}
.mobile-app .app-logo {
    margin-right: 50px;
}

.mobile-app .app-description ul.badges {
    padding-left: 0;
    display: table-cell;
    height: 40px;
    vertical-align: middle;
}

.mobile-app .app-description ul.badges li {
    list-style: none;
    display: inline-block;
}

.horizontal-steps {
    margin-top: 30px;
    background-color: rgb(242, 247, 248);
}

.horizontal-steps .step .headline {
    height: 65px;
    width: 100%;
    display: table;
    position: relative;
    border-top: 1px solid rgb(185, 209, 211);
    background-color: rgb(255,255,255);
}

.horizontal-steps .step .content {
    margin-top: 30px;
    margin-left: 0px;
    margin-bottom: 15px;
    margin-rigt: 0px;
}

.horizontal-steps .step:last-child{
    border-bottom: 1px solid rgb(185, 209, 211);
}

.horizontal-steps .step.active .headline {
    border: none;
    color: rgb(245, 245, 245);
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    background-color: rgb(12, 81, 138);
}

horizontal-steps .step.valide .headline  {
	padding-top: 20px;
	height: 65px;
    width: 100%;
    display: table;
    position: relative;
    border-top: 1px solid rgb(185, 209, 211);
    background-color: rgb(255,255,255);
    color: rgb(0,0,0);
}

.horizontal-steps .step.valide h2 {
	color: rgb(12, 81, 138);
}

.horizontal-steps .step.active .headline:before {
    content:'';
    width: 0;
    height: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 50px solid rgb(12, 81, 138);
    position: absolute;
    left: 49%;
    transform: scaleY(.5) scaleY(.5);
    margin-top: 46px;
}

.horizontal-steps .step.active .headline h2,
.horizontal-steps .step .headline h2 {
    margin: 0;
    display: table-cell;
    height: 65px;
    vertical-align: middle;
}
.horizontal-steps .step .headline h2 img,
.horizontal-steps .step.active .headline h2 img {
    margin-right: 20px;
}

.horizontal-steps .step .headline h2 {
    color: rgb(12, 81, 138);
    font-family: 'Montserrat-Bold';
    font-size: 22px;
    font-weight: 700;
}

.horizontal-steps .step.active .headline h2 {
    color: rgb(255, 255, 255);
}

a.cgu {
    margin: 40px 0;
    display: block;
    color: rgb(39, 39, 39);
    text-decoration: underline;
    font-family: 'Montserrat';
    font-size: 18px;
    font-weight: 300;
}

.footer {
    background-color: rgb(245, 245, 245);
    width: 100%;
    height: 78px;

    position: absolute;
    bottom: 0;
}

.site-links {
    padding-left: 0px;
    display: table-cell;
    height: 78px;
    vertical-align: middle;
}

.site-links li {
    list-style: none;
    display: inline;
    padding-right: 10px;
}

.site-links li a {
    font-size: 15px;
    color: rgb(51, 51, 51);   
    margin-right: 30px;
}

.site-links li a:hover {
    text-decoration: none;
}

.site-links li a.master-site {
    font-weight: 500;
}

.champs-adresse, .message-info {
    color: #0c518a;
    font-size: 16px;
    font-weight: 400;
}

.input-datepicker input {
	background-image: url("../images/image-DMR/calendar-datepicker.png");
	background-position: 90% center;
	background-repeat: no-repeat;
}

.case-a-cocher{
	color: #0c518a;
    font-size: 16px;
}

.btn-center {
    display: block;
    margin: 0 auto;
    margin-top: 25px;
    margin-bottom: 25px;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 700;
    padding: 15px;
    background-color: #df225a;
}

.btn.modifier {
    float: right;
    width: 141px;
    height: 44px;
    background-color: #0c518a;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 700;
    margin-top: -70px;
    text-transform: uppercase;
}

.infobulle {
	width: 260px;
	display: block;
	position: relative;
	float: right;
}

.infobulle .popover {
	position: relative !important;
}

.popover.right {
	display: block;
	box-shadow: none;
	background-color: #fae46a;
	font-family: inherit;
	border: none;
}

.popover.right > .arrow:after {
	border-right-color: #fae46a;
} 

.infobulle .popover.right > .arrow {
    border-right-color: #fae46a;
}

.champs-info {
    font-size: 14px;
    font-weight: 300;
    color: #747677;
    float: right;
    padding-top: 20px;
}

.select-bloc {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10.5px 12px 10.5px 0;
    border-color: transparent #fae46a transparent transparent;
    position: absolute;
    left: 299px;
    top: 33px;
}

.form-control:focus {
    border: 2px solid;
    border-color: #0C518A;
    box-shadow: none;
}

.navbar-general a.logo.mobile {
    display: none;
}

.horizontal-steps .step .headline h2 img {
    float: left;
}

.horizontal-steps .step .headline h2 span {
    position: absolute;
    padding-top: 5px;
}

button {
    text-transform: uppercase;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .picto-steps .step-description {
        margin-bottom: 30px;
    }
    .picto-steps {
		display: none;
    }
    .mobile-title {
        font-size: 18px;
        color: #0c518a;
        font-weight: 400;
    }
    .mobile-info {
        font-size: 18px;
        color: #272727;
    }
    .mobile-info .underline {
        text-decoration: underline;
    }
    .horizontal-steps {
        margin-top: 16px;
    }
    .select-bloc {
        left: 88px;
        top: 33px;
    }
    .horizontal-steps .step .content {
        margin-top: 5px;
    }
    .navbar-general a.logo {
        display: none;
    }
    .navbar-general a.logo.mobile {
        display: table;
    }
    .navbar-general a.logo.mobile img {
        height: 45px;
        width: 141px;
        margin-top: 23px;
        margin-left: 277px;
    }
    .mobile-app .app-logo {
        margin-right: 0;
        text-align: center;
    }
    .col-md-10.app-description {
        text-align: center;
        margin-top: 20px;
    }
    .mobile-app .app-description ul.badges {
        display: inherit;
    }
    .mobile-app {
        margin-top: 10px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
    .select-bloc {
        left: 360px;
        top: 33px;
    }
    .navbar-general a.logo {
        display: none;
    }
    .navbar-general a.logo.mobile {
        display: table;
    }
    .navbar-general a.logo.mobile img {
        height: 65px;
        width: 196px;
        margin-top: 3px;
        margin-left: 355px;
    }
    .col-md-10.app-description {
        margin-top: 20px;
        text-align: inherit;
        margin-left: 70px;
    }
    .col-md-10.app-description {
        margin-top: 0;
    }
}
@media (min-width: 320px) and (max-width: 767px) {
    body {
        margin-bottom: 210px;
    }
    .picto-steps {
        display: none;
    }
    .select-bloc {
        display: none;
    }
    .navbar-general {
        height: 62px;
    }
    .navbar-general a.logo {
        display: none;
    }
    .navbar-general a.logo.mobile {
        display: table;
        margin: 0 auto;
    }
    .navbar-general a.logo.mobile img {
        height: 45px;
        width: 141px;
        margin-top: 10px;
    }
    .main-heading {
        height: 110px;
    }
    .main-heading h1 {
        font-size: 24px;
    }
    .hero {
        height: 112px;
    }
    .hero-filter {
        height: 112px;
    }
    .mobile-title {
        font-size: 18px;
        color: #0c518a;
        font-weight: 400;
    }
    .mobile-info {
        font-size: 18px;
        color: #272727;
    }
    .mobile-info .underline {
        text-decoration: underline;
    }
    .horizontal-steps {
        margin-top: 10px;
    }
    .horizontal-steps .step .content {
        margin-top: 2px;
    }
    .infobulle {
        display: block;
        margin: 0 auto;
        float: none;
    }
    .site-links li {
        display: block;
        margin: 0 auto;
        text-align: center;
    }
    .site-links {
        display: inherit;
    }
    .site-links li {
        padding-right: 0;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .site-links li a {
        margin-right: 0;
    }

    .mobile-app .app-logo {
        margin-right: 0;
        text-align: center;
    }
    .col-md-10.app-description {
        text-align: center;
        margin-top: 20px;
    }
    .mobile-app .app-description ul.badges {
        display: inherit;
    }
    .mobile-app {
        margin-top: 10px;
    }
    .picto-steps .step-description {
        margin-bottom: 20px;   
    }

    .horizontal-steps .step .headline h2 {
        font-size: 20px;
    }
    .horizontal-steps .step .headline h2 span {
        padding-top: 0;
    }
    .horizontal-steps .step.active .headline h2 span {
        padding-top: 5px;
    }
    .footer {
        height: 210px;
    }
    .infobulle-center{
	margin-top: -7px;
	}
}