﻿.flink a:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.red-message {
	color: #ff0000;
}

.toggle-chevron.collapsed:before {
	content: "\f078";
	display: block;
	width: 15px;
}

.toggle-chevron-collapsed {
	content: "\f078";
	display: block;
	width: 15px;
}

.toggle-chevron {
	font-family: 'FontAwesome';
	color: #1C69D4;
	content: "\f077";
	display: block;
	width: 15px;
	float: right;
	border: none;
	background: none;
	outline: none;
}

	.toggle-chevron::before {
		font-family: 'FontAwesome';
		color: #1C69D4;
		content: "\f077";
		display: block;
		width: 15px;
		float: right;
	}

	.toggle-chevron:focus::before {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

.dealer-contact a:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.faq-panel a:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.obj-focus {
	white-space: nowrap;
}

	.obj-focus:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

.fond-blanc {
	background-color: #FFF;
}

.package-option-selector {
	position: relative;
	display: inline-block;
	width: calc(97% - 78px);
	line-height: 4em;
	vertical-align: middle;
	margin: auto;
}

	.package-option-selector:hover {
		cursor: pointer;
	}

.inline-element {
	display: inline-block;
}

.right-element {
	float: right;
}

.left-element {
	float: left;
}

.allwidth-element {
	width: 100%;
}

#search-address {
	margin-right: 0.2rem;
}

.dealer-popup {
	width: 260px;
	height: 224px;
	padding: 3px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-khtml-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}

	.dealer-popup > img {
		display: none;
	}

	.dealer-popup .close {
		text-indent: 200%;
		white-space: nowrap;
		overflow: hidden;
		display: inline-block;
		margin: 2px;
		float: right;
		position: relative;
		cursor: pointer;
	}

		.dealer-popup .close:focus {
			box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.75) !important;
			opacity: unset !important;
		}

	.dealer-popup .header {
		height: 24px;
	}

		.dealer-popup .header h3 {
			text-align: center;
			margin: 3px 3px 3px 3px;
			display: inline-block;
			width: 230px;
			overflow: hidden;
			white-space: nowrap;
		}

	.dealer-popup .content {
		height: 188px;
		margin: 3px;
		padding: 4px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		-khtml-border-radius: 4px;
		-o-border-radius: 4px;
		border-radius: 4px;
	}

		.dealer-popup .content .wait {
			height: 100%;
			width: 100%;
		}

		.dealer-popup .content p,
		.dealer-popup .content label,
		.dealer-popup .content span {
			font-size: 14px;
		}

		.dealer-popup .content .dealer {
			height: 230px;
			position: static;
		}

			.dealer-popup .content .dealer > div {
				margin: 12px 4px 12px 4px;
			}

			.dealer-popup .content .dealer label {
				display: inline-block;
				width: 130px;
			}

			.dealer-popup .content .dealer .address p {
				display: inline-block;
				width: 100%;
				height: 20px;
			}

			.dealer-popup .content .dealer .actions a {
				display: inline-block;
				text-align: center;
				width: 100%;
				padding: 10px 0 10px 0;
				text-transform: uppercase;
				text-decoration: none;
				font-weight: bold;
			}

				.dealer-popup .content .dealer .actions a:focus {
					box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
				}

			.dealer-popup .content .dealer .actions {
				width: 238px;
				margin: 4px 4px 1px 1px;
				display: inline-block;
				position: absolute;
				bottom: 10px;
			}

		.dealer-popup .content .wait {
			overflow: hidden;
			text-indent: -999px;
		}

	.dealer-popup .footer {
		position: relative;
		margin-top: 6px;
	}

.dealer-popup-content .header h3 {
	color: #ffffff;
	position: absolute;
}

.price {
	font-weight: bold;
}

	.price.before-discount {
		font-weight: normal;
		text-decoration: line-through;
	}

.national-campaign,
.national-campaign-value {
	color: red;
}

	.national-campaign-value::after {
		content: "";
	}

.currency-euro:after {
	content: "€";
}

.currency-euro.national-campaign-value:after {
	content: "€";
}

.slot-cal-section {
	min-height: 60px;
}

.slots-spinner i {
	font-size: 24px;
}

.slot-cal-grid {
	display: grid;
	grid-template-columns: 3em repeat(7, 1fr);
	grid-auto-rows: minmax(1.75em, auto);
	margin-bottom: 1em;
}

.slot-cal-grid-corner {
	border: 1px solid #e0e0e0;
}

.slot-cal-grid-col-header {
	border: 1px solid #e0e0e0;
	font-size: x-small;
	padding: .25em;
	color: white;
	text-align: center;
	cursor: default;
}

.slot-cal-grid-row-header {
	border: 1px solid #e0e0e0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f7f7f7;
}

	.slot-cal-grid-row-header > div {
		cursor: default;
		color: #292929;
		font-size: 13px;
	}

.slot-cal-grid-cell {
	border: 1px solid #e0e0e0;
	display: flex;
	flex-direction: column;
}

	.slot-cal-grid-cell > button {
		background-color: white;
		border: 1px solid darkgrey;
		font-size: x-small;
		font-family: "bmwTypeNextWeb-bold", Arial, sans-serif;
		margin: .125em;
		border-radius: .25em;
	}

		.slot-cal-grid-cell > button.slot-cal-selected {
			color: white;
		}

.slot-cal-past {
	background-color: #dedede;
}

.slot-cal-today, .slot-cal-future {
	background-color: #f7f7f7;
}

.slot-cal-wday-0 {
	background-color: #dedede;
}

.out-of-focus-msg {
	opacity: 0.3;
}

.modal-body {
	min-height: 177px;
}

#myModalSpinner {
	display: flex;
	width: 100%;
	justify-content: center;
}

	#myModalSpinner .spinner {
		font-size: 24px;
	}

.mobility-star-position {
	font-size: 10px;
	color: black;
	padding: 0 !important;
}

@media all and (max-width: 767px) {
	#mobilitySection {
		margin-left: 0;
		margin-top: 0;
	}

	.slot-cal-grid-row-header > div {
		font-size: 8pt;
	}

	.slot-cal-grid-col-header {
		font-size: 8pt;
	}
}

@media all and (max-width: 400px) {
	.slot-cal-grid {
		grid-template-columns: 0 repeat(7, 1fr);
	}

	.slot-cal-grid-corner {
		display: none;
	}

	.slot-cal-grid-col-header {
		font-size: 4pt;
	}

	.slot-cal-grid-row-header {
		display: none;
	}

	.slot-cal-grid-cell > button {
		font-size: 4pt;
	}
}
/* Dealer */
.small-icon {
	min-width: 1.25em;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
}

.nearby-dealer-details {
	height: 0;
	transition: height 0.3s ease-in-out;
	z-index: 1;
}

	.nearby-dealer-details.shown {
		height: unset;
	}

.dealer-list-container {
	flex-grow: 1;
	flex-shrink: 0;
	min-width: 50%;
	/*max-height: 272px;*/
	/*overflow-y: scroll;*/
	/*scrollbar-width: thin;*/ /* Firefox specific scrollbar handling */
	outline: 0;
	margin-bottom: 0.5em;
	/*scrollbar-width: none;
	max-height: unset;*/
}

	.dealer-list-container:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

	/* Webkit specific scrollbar handling */
	.dealer-list-container::-webkit-scrollbar {
		width: .75em;
	}

	.dealer-list-container::-webkit-scrollbar-thumb {
		border-radius: 2em;
	}

.dealer-list {
	gap: 0.5em;
	display: grid;
}

.dealer-detail-container {
	flex-grow: 1;
	transition: height 0.3s ease-in-out;
}

.nearby-dealer-details.shown > .dealer-detail-container {
	padding: 4px 10px;
}

.dealer-detail {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	margin-top: 5px;
}

	.dealer-detail a:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

.dealer-map {
	flex-grow: 1;
	flex-shrink: 0;
}

.dealer-show-button {
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 2px;
	box-shadow: 0px 0px 3px 0px rgb(0 0 0 / 20%);
	/*margin: 0 0.2em;*/
	font-size: 12px;
	padding: 4px 10px;
	text-align: left;
	outline: none;
}

	.dealer-show-button:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

.dealer-select-button {
	width: 100%;
	min-width: 183px;
}

.dealer-name {
	font-size: 12px;
	padding: 0px;
	line-height: 16px;
}

.dealer-name-menu {
	font-size: 16px;
	margin: 0 0 0 0;
	text-transform: uppercase;
}

.dealer-detail-container > .dealer-detail > .dealer-name {
	font-size: 16px;
}

.dealer-detail-container > .dealer-detail > .dealer-address {
	font-size: 16px;
}

.dealer-detail-container > .dealer-detail {
	margin-bottom: 5px;
}

.dealer-website > a {
	cursor: pointer;
	user-select: none;
}

.field-label {
	font-weight: bold;
}

.distance {
	font-style: italic;
}

.dealer-contact {
	display: grid;
	grid-template-columns: 1.5em 1fr;
	row-gap: .5em;
}

.free-item {
	grid-column: 1;
	color: #fff;
	min-width: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 100%;
}

.mobility-blue-block {
	position: relative;
	right: -5px;
	height: calc(100% + 10px);
}

.item_line {
	margin: 5px 10px 10px 10px;
}

.item_line_menu {
	margin: 10px 0 5px 0;
}

.panier_group {
	min-height: 60px;
	clear: both;
}

.prix_panier {
	padding-bottom: 5px;
}

	.prix_panier img {
		margin-bottom: 5px;
	}

.form-control-disabled {
	height: 34px;
	opacity: 1;
	padding: 6px 12px;
	border: 0;
}

.text-red {
	color: #ff0000;
}

.mb5 {
	margin-bottom: 5px;
}

.not-allowed-cursor {
	cursor: not-allowed;
}

input[type="text"],
input[type="number"],
input[type="password"] {
	background: #f5f5f5;
	border: none;
	padding-left: 20px;
	font-weight: 500;
	margin-bottom: 10px;
	border-radius: 0;
}

.menu-see-more-container {
	display: flex;
}

	.menu-see-more-container > .small-icon {
		transform: unset;
		transition: transform 0.3s ease-in-out;
	}

	.menu-see-more-container.expanded > .small-icon {
		transform: rotate(-0.25turn);
	}

	.menu-see-more-container > .toggle-control > .menu-see-more {
		height: 0;
		opacity: 0;
		pointer-events: none;
		transition: height 0.3s ease, opacity 0.3s ease-in-out;
	}

	.menu-see-more-container.expanded > .toggle-control > .menu-see-more {
		height: 100%;
		opacity: 1;
		pointer-events: auto;
		background-color: #FBFCFF;
		padding: 5px 15px 2px 5px;
		border-bottom: #FBFCFF;
	}

.opening-hours-container {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

	.opening-hours-container > .small-icon {
		transform: unset;
		transition: transform 0.3s ease-in-out;
	}

	.opening-hours-container.expanded > .small-icon {
		transform: rotate(-0.25turn);
	}

	.opening-hours-container .small-icon {
		margin-right: 3px;
	}

.opening-hours {
	display: grid;
	grid-template-columns: 4.3em 1fr;
}

.opening-hours-container > .toggle-control > .opening-hours {
	height: 0;
	opacity: 0;
	pointer-events: none;
	transition: height 0.3s ease, opacity 0.3s ease-in-out;
}

.opening-hours-container.expanded > .toggle-control > .opening-hours {
	height: 100%;
	opacity: 1;
	pointer-events: auto;
}


.opening-period {
	display: inline-block;
}

.phone-number-header {
	margin-bottom: 10px;
}

.numero_etape {
	font-size: 23px;
}

.toggle-control {
	margin-left: 0.25em;
	margin-right: 0.25em;
}

	.toggle-control > .expander-button {
		cursor: pointer;
		user-select: none;
	}

.hidden-element {
	display: none;
}

.expander-button {
	border: none;
	background: none;
	outline: none;
	margin: 0.2rem;
}

	.expander-button:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
		outline: none;
	}

.total_prix {
	font-size: 28px;
	font-weight: bold;
	padding-bottom: 10px;
	padding-top: 5px;
	float: right;
	text-align: right;
}

.total_vt {
	font-size: 14px;
	color: #000;
	font-weight: 400;
}

.ttc_explain {
	font-weight: normal;
	font-size: 11px;
	/*line-height: 0px !important;*/
}

.faq-list {
	list-style-type: disc;
	padding-left: 20px;
}

@media (max-width:1024px) { /* Mobile */

	.nearby-dealer-details {
		flex-direction: column;
		padding-right: 0;
	}

	.dealer-list-container {
		min-width: unset;
		max-width: unset;
	}

	.nearby-dealer-details.shown > .dealer-detail-container {
		min-height: unset;
	}
}

@media (max-width:991px) { /* Mobile */
	.dealer-select-button > button {
		right: 16px;
	}
}

.stage-summary-empty {
	padding: 5px;
	color: #262626;
	background-color: #f5f3f4;
	min-height: 100px;
}

.stage-summary {
	color: #262626;
}

	.stage-summary p {
		margin: 10px 5px 20px 10px;
		line-height: 16px;
	}

	.stage-summary > .content > h1,
	.stage-summary-empty > .content > h1 {
		line-height: 170%;
		border-bottom: 1px solid #ccc;
		margin-bottom: 10px;
		/*padding-top: 10px;*/
		min-width: 100%;
	}


.dealer-select-button {
	display: flex;
	justify-content: center;
	z-index: 999;
	margin: 10px 0 0 0;
}

.menu-vertical {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	margin: 0px 0px 5px 0px !important;
}

@media only screen and (min-width : 768px) {
	.adjust-footer {
		padding-right: 0px;
	}

	.hidden-xl {
		display: none !important;
	}

	.menu-horizontal {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: stretch;
	}

		.menu-horizontal .expandable-content {
			position: absolute;
			z-index: 999;
		}

	.toggle-all-button {
		display: inline-block;
		cursor: pointer;
	}

		.toggle-all-button > a:focus > span {
			box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
		}

	.toggle-icon {
		width: auto;
	}

	/*    .stage-summary-empty {
        margin: 0 15px 0 0;
    }*/

	.last-stage {
		margin: 0 0 0 0;
	}

	.stage-summary {
		/*margin: 0 15px 0 0;*/
		border-top: 1px solid rgba(0,0,0,0.1);
	}

	.menu-item-xl {
		flex: 1 1 0;
		overflow: visible;
		position: relative;
	}

	.menu-item-expandable {
		display: flex;
		flex-direction: column;
		right: 0;
		left: 0;
	}

	.left-main-block {
		flex-basis: 65%;
		flex-grow: 1;
	}

	.dealer-map-container.shown {
		flex-basis: 26.3%;
	}

	.flex-row {
		display: flex;
		flex-direction: row;
	}

	.prix {
		margin: 15px 0 0 0;
	}

	.faq-panel {
		flex-basis: 50%;
	}

	.right-faq {
		flex-basis: 50%;
	}
}

@media only screen and (max-width : 767px) {
	/*    .stage-summary-empty {
        margin: 0 15px 15px 0;
    }*/
	.padding-stage { /* override bootstrap grid scss style */
		padding-right: 0px !important;
	}

	.title-bar { /* override bootstrap grid scss style */
		max-width: none !important;
	}

	.container { /* override bootstrap grid scss style */
		max-width: none !important;
	}

	.stage-summary-empty hr {
		margin: -5px 0 0 10px;
		width: 170px;
	}

	/*    .stage-summary {
        margin: 0 15px 15px 0;
    }*/

	.dealer-map-container {
		display: flex;
		flex-direction: column;
	}

	.right-faq {
		margin-top: 15px;
	}
}

#plannerDate:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.slot-cal-grid button:focus-visible {
	border: none;
	outline: none;
}

.slot-cal-grid button:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input[name="ownerGroup"]:focus-visible {
	border: none;
	outline: none;
}

input[name="ownerGroup"]:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input[name="civilityGroup"]:focus-visible {
	border: none;
	outline: none;
}

input[name="civilityGroup"]:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input[name="courtesyCarMobilityGroup"]:focus-visible {
	border: none;
	outline: none;
}

input[name="courtesyCarMobilityGroup"]:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input[name="waitingRoomGroup"]:focus-visible {
	border: none;
	outline: none;
}

input[name="waitingRoomGroup"]:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input[name="courtesyCarOffertGroup"]:focus-visible {
	border: none;
	outline: none;
}

input[name="courtesyCarOffertGroup"]:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input[name="courtesyCarGroup"]:focus-visible {
	border: none;
	outline: none;
}

input[name="courtesyCarGroup"]:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.personal-basic-button:focus {
	outline: none;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* End of Dealer stylisation */
.mobility-tool-tip {
	margin-right: -15px !important;
}

/* Takata related */
#takataSubHeader p {
	font-size: 14px;
}

#takataBodyVin {
	border: 1px solid #e8e8e8;
}

#takataBodyHeader {
	background-color: #f7f7f7;
	min-height: 50px;
	padding: 15px 10px 10px 10px;
	font-size: 19px;
}

#takataGlobalError {
	padding: 8px;
	border: 1px #F2BABA;
	border-radius: 3px;
	background-color: #F6CCCC;
	min-height: 35px;
	max-width: 600px;
	color: #D93635;
}

#takataBodyFooter {
	background-color: #f7f7f7;
	min-height: 50px;
	padding: 10px;
}

#takataBodyResult {
	border: 1px solid #e8e8e8;
}

.takataGreenMessage {
	width: 100%;
	padding: 8px;
	border: 1px #D8EFD0;
	border-radius: 3px;
	background-color: #D8EFD0;
	min-height: 35px;
	color: #2F6618;
}

.takataYellowMessage {
	width: 100%;
	padding: 8px;
	border: 1px #FFEFD2;
	border-radius: 3px;
	background-color: #FFEFD2;
	min-height: 35px;
	color: #8D6F3C;
}

#takataStopMention {
	width: 100%;
	color: #ff0000;
	text-align: center;
}

.takataTabHeader {
	text-align: center !important;
	font-weight: bold;
	border: 1px solid rgb(232, 232, 232);
	padding: 5px 5px 5px 5px;
}

#takataOptin {
	outline: none;
}

#takataOptin:focus {
	border: none;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.takataTabColumn {
	text-align: center !important;
	border: 1px solid rgb(232, 232, 232);
	padding: 5px 5px 5px 5px;
}

	.takataTabColumn a:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

.takata-dedicated-center {
	font-weight: bold;
	padding-left: 0px !important;
}

.takata-local-dealer {
	color: #3072d3;
	font-size: 14px;
}

.takata-models {
	text-decoration: underline !important;
}

.takataReportingSectionButtonLogout {
	padding: 13px;
}

.takata-header-group {
	background-color: #f7f7f7;
}

.takata-border {
	border: 1px solid rgb(232, 232, 232);
}

.campaignReportingItem {
	cursor: pointer;
}

.campaignReportingIcon {
	max-width: 80px;
}

.campaign-sife-button {
	text-align: end;
	padding-right: 0px !important;
}

.takata-dedicated-center {
    font-weight: bold;
    padding-left: 0px !important;
}

.campaign-sife-button {
    text-align: end;
    padding-right: 0px !important;
}

.selector-name {
	font-size: 16px;
}

.fixTitle {
	font-size: 16px;
	line-height: normal;
}


.form-control-max500 {
	max-width: 500px;
}

#dealer {
	line-height: normal;
}

#search-dealer-button {
	width: 120px;
	height: 38px;
}

	#search-dealer-button:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
		outline: none;
	}

.padding-searching {
	height: 1em;
}

.z-option {
	border: none;
	outline: none;
}

.z-package {
	width: 98%;
	text-align: left;
	background: none;
	border: none;
	outline: none;
}

	.z-package:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

.z-button {
	text-align: left;
	background: none;
	border: none;
	padding: unset;
	outline: none;
}

.button-z-service-image {
	margin-right: 10px;
	border: none;
	outline: none;
}

	.button-z-service-image:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

#collapseOne {
	min-height: 24em;
}

#city:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.customer-form-block {
	height: 40px;
	margin-bottom: 20px;
}

.civility-group {
	height: 40px;
}

.comment-text-area:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.owner-group {
	padding: 6px 12px;
	height: 34px;
}

.alert-warning {
	display: grid;
	grid-template-columns: 21px auto;
	padding: 15px;
	background-color: white;
	border: 2px solid red;
}

	.alert-warning img {
		grid-column: 1;
	}

.licence-warning {
	font-weight: bold;
	padding-left: 10px;
	align-self: center;
	background-color: white;
	color: black;
}

#button-optionInsideAdded:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.vinselector-popup-button {
	text-align: center;
	margin-top: 40px;
}

#issueConfirmation {
	display: initial;
}

	#issueConfirmation .modal-body {
		text-align: justify;
	}

.close-popup {
	width: 10px;
	height: 10px;
	float: right;
	border: none;
	outline: none;
	background-repeat: no-repeat;
	background-position-x: right;
	cursor: pointer;
}

	.close-popup:focus {
		box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
	}

.z-bloc-mobility {
	height: auto !important;
}

.mobility-section-message {
	min-height: 3em;
}
