#page .form-control{
    border-radius: 0!important;
}
#page .text-center .obligatoire{
    float: none;
}

#page form .form_group{
    display: flex;
   	text-align: left;
}

#page form .group{
    position:relative; 
    margin-bottom: 15px; 
    letter-spacing: 1px;
}
#page form .group textarea{
    resize: none;
}
#page form .group input, #page form .group textarea{
    font-size: 17px;
    color: #000;
    padding: 5px 10px 2px 5px;
    display:block;
    width:100%;
    border: none;
    border-bottom: 1px solid #000;
    background: none !important;
    border-radius: 0px;
}
#page form .group select{
    color:#003245;
    font-size: 15px;
    font-weight:normal;
    border-top: none;
    border-left: none;
    border-right: none;
    padding-left: 1px;
    border-bottom: 1px solid #003245;
}
#page form .group select:focus{
    outline: none;
    box-shadow: none;
}
#page form .group input:focus, #page form .group textarea:focus{
    outline:none;
    box-shadow: none;
}

#page form .group label{
    color:#003245;
    font-size: 17px;
    font-weight:normal;
    position:absolute;
    pointer-events:none;
    left:15px;
    top: 5px;
    transition:0.2s ease all; 
    -moz-transition:0.2s ease all; 
    -webkit-transition:0.2s ease all;
    padding: 0;
    max-width: calc(100% - 30px);
    line-height: initial;
    text-align: left;
}
#page form .group select ~ label{
    top: 4px;
    left: 20px;
}

#page form .group input:focus ~ label, #page form .group input.filled ~ label,
#page form .group textarea:focus ~ label, #page form .group textarea.filled ~ label{
    top: -13px;
    font-size:12px;
    color: #000;
}
#page form .group select.filled ~ label{
    opacity: 0;
}
#page form .group .bar{
    position:relative;
    display:block;
    width:100%;
}
#page form .group .bar:before, #page form .group .bar:after{
    content:'';
    height:1px; 
    width:0;
    bottom:1px; 
    position:absolute;
    background: #000; 
    transition:0.2s ease all; 
    -moz-transition:0.2s ease all; 
    -webkit-transition:0.2s ease all;
}
#page form .group .bar:before{
    left:50%;
}
#page form .group .bar:after{
    right:50%; 
}

#page form .group input:focus ~ .bar:before, #page form .group input:focus ~ .bar:after,
#page form .group textarea:focus ~ .bar:before, #page form .group textarea:focus ~ .bar:after{
    width:50%;
}
#page form .group .form-control:not(.invalid):focus{
    border-color: #000;
}
#page form .group .form-control.filled{
    border-color: #000;
}
#page form .group .form-control.invalid{
    border-color: #80172d;
}
#page form .group input.invalid ~ label{
    color: #80172d;
}
#page form .group input.invalid ~ .bar:before, #page form .group input.invalid ~ .bar:after,
#page form .group input.filled:not(.invalid):invalid ~ .bar:before, #page form .group input.filled:not(.invalid):invalid ~ .bar:after{
    background: #80172d;
}

#page form .group input.filled:not(.invalid):invalid{
    border-bottom: 1px solid #80172d;
}
#page form .group input.filled:not(.invalid):invalid ~ label{
    color: #80172d;
}

#page form .group .chkbx .form-check{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
#page form .group .chkbx input{
    position: relative;
    display: inline-block;
    width: auto;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 0;
    
}
#page form .group .chkbx label{
    position: relative;
    top: 0;
    left: 25px;
    pointer-events: all;
    user-select: none;
}



#page form .group .chkbx label:before,
#page form .group .chkbx label:after{
	position: absolute;
	top: 50%;
	left: -38px;
	
}

#page form .group .chkbx label:before{
	content: '';	
	height: 25px;
	width: 25px;
	border: 2px solid #80172d;
	border-radius: 15%;
	transform: translateY(-50%);
}

#page form .group .chkbx input[type="checkbox"] + label::after {
    content: "\2714";
    color: #FFF;
    line-height: 25px;
    font-size: 20px;
    text-align: center;
    left: -34px !important;
	top: calc(50% - 12px);
}

#page form .group .chkbx input:focus ~ label{
    top: 0;
    font-size: 17px;
    color: #003245;
}

#page form .group .chkbx input[type="checkbox"]:checked + label::before{
  background: #80172d;
  border-color: #80172d;
}
#page form .group .chkbx input[type="checkbox"] + label::after{
	transform: scale(0);
}
#page form .group .chkbx input[type="checkbox"]:checked + label::after{
	transform: scale(1);
}

#page form .group .chkbx label::before,
#page form .group .chkbx label::after {
  transition: .25s all ease;
}


#page form b{
    position: absolute;
    top: 0;
    right: 0;
    color: #80172d;
    font-size: 18px;
}


#page form .obligatoire {
    float:left;
    display: inline-block;
    margin-top:15px;
    color: #003245;
    font-size: 15px;
}
#page form .obligatoire b {
    position:relative;  
}


@keyframes ripple {
  0% {
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
  }
  50% {
    box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);
  }
  100% {
    box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);
  }
}
.md-radio {
  margin: 16px 0;
}
.md-radio.md-radio-inline {
  display: inline-block;
}
.md-radio input[type=radio] {
  display: none;
}
.md-radio input[type=radio]:checked + label:before {
  border-color: #80172d;
  animation: ripple 0.2s linear forwards;
}
.md-radio input[type=radio]:checked + label:after {
  transform: scale(1);
}
.md-radio label {
  display: inline-block;
  height: 20px;
  position: relative;
  padding: 0 30px;
  margin-bottom: 0;
  cursor: pointer;
  vertical-align: bottom;
}
.md-radio label:before, .md-radio label:after {
  position: absolute;
  content: "";
  border-radius: 50%;
  transition: all 0.3s ease;
  transition-property: transform, border-color;
}
.md-radio label:before {
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(0, 0, 0, 0.54);
}
.md-radio label:after {
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  transform: scale(0);
  background: #80172d;
}



/*-- bouton back to top--*/

#page .buttonRetour{
	border-radius:5px;
	padding:10px;
	font-size:15px;
	text-align:center;
	color:#fff;
	background:rgba(0, 0, 0, 0.25);
	position:fixed;
	bottom: 55px;
	right: 25px;
	opacity:1;
	z-index:999999;
	transition:all-in-ease-in 0.2s;
	backface-visibility:hidden;
	text-decoration:none;
	
}	
#page .buttonRetour:before{
	content:"\25b2";
}

#page .buttonRetour:hover{
	background:rgba(0,0,0,1);
	transition:all ease-in 0.2s;
}
 



/* -- Bouton submit avec icone --*/
#page form button {
	position: relative;
	/*background-color: #960100;*/
	color:#FFF;
	border:none;
	padding: 10px 40px 10px 40px;
	border-radius:5px;
	text-transform: capitalized;
	transition: all 0.2s ease;
	overflow: hidden;
	font-size:20px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#6a0100+1,960100+100 */
	background: #6a0100; /* Old browsers */
	background: -moz-linear-gradient(top, #6a0100 1%, #960100 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #6a0100 1%,#960100 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #6a0100 1%,#960100 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6a0100', endColorstr='#960100',GradientType=0 ); /* IE6-9 */
}

#page form button i {
	margin-right:15px;	
}

#page form button:hover{
	box-shadow: 2px 2px 6px 2px rgba(51,51,51,0.3);
}


#page form b {
	position: absolute; top: 0; right: 0px;	
}



#page form .obligatoire {
	float:left;
	display: inline-block;
	margin-top:15px;
}

#page form .obligatoire b {
	position:relative;	
}
