* {
    margin: 0;
    padding: 0
}


html, body {
  height: 100%;
  padding: 0;
  margin: 0;
}
body {
  display: flex;
  flex-direction: column;
}


p {
    color: grey
}

.w-90 {width: 90% !important}

.heading {
    text-transform: uppercase;
    color: #DF0C36;
    font-size: 2rem;
    font-family: "HelveticaNeueW02-47LtCn 694048";
    line-height: 1em;
    font-weight: 400;
}




.alert-danger {
    background-color: #DF0C36 !important; color: #fff; font-family: "HelveticaNeueW02-47LtCn 694048";
}

.close {color: #fff !important; text-shadow: 0 1px 0 #000 !important; }

@media screen and (max-width: 720px) {
	
	.heading { font-size: 1.4rem}
	.steps { font-size: 18px !important}
	.fs-title  { font-size: 20px !important}
}


#msform {
    text-align: center;
    position: relative;
}

#msform fieldset {
    background: white;
    border: 0 none;
    border-radius: 0.5rem;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding-bottom: 20px;
    position: relative
}

#msform .form-card {
    text-align: left
}

#msform fieldset:not(:first-of-type) {
    display: none
}

#msform input,
#msform textarea, 
#msform select,
#msform input[type="radio"] {
    padding: 8px 15px 8px 15px;
    border: 1px solid #ccc;
    border-radius: 0px;
    margin-bottom: 25px;
    margin-top: 2px;
    width: 100%;
    box-sizing: border-box;
    font-family: "HelveticaNeueW02-47LtCn 694048";
    color: #2C3E50;
    background-color: #f8f8f8;
    font-size: 16px;
    letter-spacing: 1px
}

#msform input:focus,
#msform textarea:focus {
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: 1px solid #DF0C36;
    outline-width: 0
}

#msform input::placeholder,
#msform textarea::placeholder {
	font-style: italic;
}

#msform select [disabled] 
{
  cursor: not-allowed; background-color: #a5a7a8 !important; color: #fff !important;
}

#msform .btn-action-button {
	font-family: "HelveticaNeueW02-47LtCn 694048", Arial, sans-serif;
    width: 100px;
    background: #DF0C36;
    font-weight: bold;
    color: white;
    border: 0 none;
    border-radius: 0px;
    cursor: pointer;
    padding: 10px 5px;
    margin: 10px 0px 10px 5px;
    float: right
}

#msform .btn-action-button:hover,
#msform .btn-action-button:focus {
    background-color: #DF0C36; text-decoration: underline;
}

#msform .btn-action-button-previous {
	font-family: "HelveticaNeueW02-47LtCn 694048", Arial, sans-serif;
    width: 100px;
    background: #616161;
    font-weight: bold;
    color: white;
    border: 0 none;
    border-radius: 0px;
    cursor: pointer;
    padding: 10px 5px;
    margin: 10px 5px 10px 0px;
    float: right
}

#msform .btn-action-button-previous:hover,
#msform .btn-action-button-previous:focus {
    background-color: #000000;
	color: white;
}

.card {
    z-index: 0;
    border: none;
    position: relative
}

.fs-title {
    font-size: 25px;
    color: #DF0C36;
    margin-bottom: 15px;
    font-weight: normal;
    text-align: left
}


.merci {
    font-size: 25px;
    color: #DF0C36;
    margin-bottom: 15px;
    font-weight: normal;
    text-align: center;
}

.green-text {
    color: #41ad49;
    font-weight: normal
}


.red-text {
    color: #FF0000;
    font-weight: normal
}

.steps {
    font-size: 25px;
    margin-bottom: 10px;
    font-weight: normal;
    text-align: right
}

.fieldlabels {
    color: gray;
    text-align: left;
}

#progressbar {
    margin-bottom: 30px;
    overflow: hidden;
    color: lightgrey;
}

#progressbar .active {
    color: #DF0C36
}

#progressbar li {
    list-style-type: none;
    font-size: 15px;
    width: 20%;
    float: left;
    position: relative;
    font-weight: 400;
	
}


#progressbar li:first-child,
#progressbar li:last-child {
    list-style-type: none;
    font-size: 15px;
    width: 10%;
    float: left;
    position: relative;
    font-weight: 400
}

#progressbar .etape0:before {
	font-family: FontAwesome;
    content: "\f00d";
	background: lightgray !important;
}

#progressbar .etape0 {
	color: lightgrey;
}

#progressbar .etape1:before {
    font-family: FontAwesome;
    content: "\f02b"
}

#progressbar .etape2:before {
    font-family: FontAwesome;
    content: "\f007"
}

#progressbar .etape3:before {
    font-family: FontAwesome;
    content: "\f02a"
}


#progressbar .etape4:before {
    font-family: FontAwesome;
    content: "\f4fc"
}

#progressbar .etape5:before {
    font-family: FontAwesome;
    content: "\f1c1"
}

#progressbar .etape6:before {
    font-family: FontAwesome;
    content: "\f00c"
}


#progressbar li:before {
    width: 50px;
    height: 50px;
    line-height: 45px;
    display: block;
    font-size: 20px;
    color: #ffffff;
    background: lightgray;
    border-radius: 50%;
    margin: 0 auto 10px auto;
    padding: 2px
}


@media screen and (max-width: 576px) {
	
	.container {
    padding-right: 25px;
    padding-left: 25px;
}
	
	#progressbar li {font-size: 10px}
	
	#progressbar li:before {
    width: 20px;
    height: 20px;
    line-height: 15px;
    font-size: 10px;
	}
	
	#progressbar li.spec {font-size: 10px}

}





#progressbar li:after {
    content: '';
    width: 100%;
    height: 2px;
    background: lightgray;
    position: absolute;
    left: 0;
    top: 25px;
    z-index: -1
}

#progressbar li.active:before,
#progressbar li.active:after {
    background: #DF0C36
}

.progress {
    height: 20px
}

.progress-bar {
    background-color: #DF0C36
}

.fit-image {
    width: 100%;
    object-fit: cover
}


.input-group-append, .input-group-prepend {
    display: inline!important;
}

.input-group-text {
padding: 9px 15px 9px 15px !important; border-radius: 0px !important; line-height: normal !important; 
font-size: 16px;
letter-spacing: 1px; margin-top: 2px; margin-bottom: 25px;
}



.btn-outline-tlsa {
	margin-top: 2px; margin-bottom: 25px;
    color: #fff !important;
	background-color: #DF0C36 !important;
    border-color: #DF0C36 !important;
	border-radius: 0px !important;
	padding: 6px 15px  !important;
	font-family: "HelveticaNeueW02-47LtCn 694048";
	font-size: 16px !important;
}


footer {font-size: .8rem; background:#f8f8f8 ; color: #666; margin-top: auto;}

.footer-contenu {
    display: flex; flex-wrap: wrap;

}

.is-invalid{
	border-color: #DF0C36 !important;
}
.invalid-tooltip{
	margin-top: -25px;
	left: 15px !important;
	/*
	position: relative;
	width: max-content;
	*/
}
.invalid-tooltip.radio{
	margin-top: 0;
	position: relative;
}

.loading-input{
    float: right;
    margin-top: -50px;
    position: relative;
}

.search-tooltip{
	margin-top: -25px;
}

.search-tooltip .list-group-item.active,
.search-tooltip .list-group-item:hover{
    cursor: pointer;
	z-index: 2;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}
