/* variables */
:root{
	/* button */
	--e-primary-button-color: #000; /*#c3002f; */
	--e-primary-button-color-hover: #fff; /*#920023; */
	--e-primary-button-text-color: #fff;
	--e-primary-button-disabled: #eeeeee;
	
	--e-secondary-button-color: #fff;
	--e-secondary-button-color-hover: #fff;
	--e-secondary-button-text-color: #333;
	
	/* typography */
	--e-primary-color: #000; /*#c3002f; */
	
	/* divider */
	--e-divider-color: #c3002f!important;
}

.body,p{
	font-family: "NissanBrand"!important;
	font-size:14px!important;
	font-weight:400;
}
p{
	font-family:inherit;
}
a:focus{
	outline:0px!important;
}
input[type=checkbox][name="register-acceptance"]:checked:before {
    content: "";
    margin-bottom: -1px;
    color: var(--e-primary-color)!important;
    font-weight: 600;
}
a.link,
span.link{
	text-transform:uppercase;
	cursor:pointer;
	transition:ease 0.3s;
}
a.link:hover,
span.link:hover{
	text-decoration:underline;
	color:inherit;
}
span.optional{
	font-weight:300;
}
.hide{
	display:none;
}
.hidden{
	visibility:hidden;
}
h4.link{
	font-weight:300;
	font-size:14px;
	margin:10px auto;
	cursor:pointer;
}
h2.heading-title{
	font-family:'NissanBrand';
	font-weight:300!important;
	font-size:30px;
}
.divider-heading{
	background:var(--e-divider-color)!important;
}
.divider-heading .elementor-divider-separator{
	border-color:var(--e-divider-color)!important;
}
.elementor-icon-list-item a:focus{
	outline:0px!important;
}
input[type=button]:focus{
	background:var(--e-primary-button-color-hover)!important;
}
.top-sticky{
	position:sticky!important;
	top:80px;
}
.header-sticky{
	position:fixed!important;
	top:0;
	left:0;
	width:100%;
	margin:0 auto;
	z-index:3000;
	background:#fff;
}


/* form control */
ul.fields{
	list-style:none;
	display:inline-flex;
	margin:0;
	width:100%;
	flex-wrap:wrap;
	font-family:'NissanBrand';
}
ul.fields li{
	width:100%;
	margin-bottom:20px;
}
select.form-control{
	height:45px;
}
.form-control{
	width:100%;
	padding:10px;
	border:1px solid #ccc;
	transition:ease 0.3s;
}

.form-control.btn-primary:hover{
	background:var(--e-primary-button-color-hover);
	color:#000;
}
.form-control.btn-primary{
	background:var(--e-primary-button-color);
	color:var(--e-primary-button-text-color);
	border-radius:100px;
	max-width: 100%;
    padding: 10px;
    font-family: "NissanBrand";
    font-size: 15px;
	font-weight:700;
    text-align: center;
    text-transform: uppercase;
	margin-bottom:8px;
	cursor:pointer;
	border:2px solid var(--e-primary-button-color);
}
/*
.form-control.btn-primary::after{
	transition: .25s;
    font-size: 11px;
    content: "\e634";
    font-family: 'Nissan-Icon';
    color: #FFF;
    top: 50%;
    margin-left: 20px;
	margin-top:5px;
    left: 45px;
	float:right;
}
*/
.form-control.btn-primary.disabled {
    background: #aaa;
    cursor: not-allowed;
}
.form-control.btn-simple{
	background:#fff;
	color:var(--e-secondary-button-text-color);
	border-radius:0;
	max-width: 100%;
    padding: 10px;
    font-family: "NissanBrand";
    font-size: 14px;
    text-align: left;
    text-transform: uppercase;
	margin-bottom:8px;
	cursor:pointer;
	border:0;
}
.form-control.btn-simple:hover{
	color:var(--e-primary-button-color);
	
}
.form-control.btn-simple::after{
	transition: .25s;
    font-size: 11px;
    content: "\e634";
    font-family: 'Nissan-Icon';
    color:var(--e-primary-button-color);
    top: 50%;
    margin-left: 20px;
	margin-top:5px;
    left: 45px;
	float:right;
}

.form-control.btn-secondary:hover{
	background:var(--e-secondary-button-color-hover);
	color:#000!important;
}
.form-control.btn-secondary{
	background:var(--e-secondary-button-color);
	color:var(--e-secondary-button-text-color);
	border-radius:100px;
	max-width: 100%;
    padding: 10px;
    font-family: "NissanBrand";
	font-weight:700;
    font-size: 14px;
    text-align: center;
    text-transform: uppercase;
	margin-bottom:8px;
	cursor:pointer;
	border:2px solid #000;
}
select.form-control,
input.form-control{
	border:1px solid #000;
	border-radius:5px;
	height:46px;
}
/*
.form-control.btn-secondary::after{
	color:var(--e-primary-button-color);
	transition: .25s;
    font-size: 11px;
    content: "\e634";
    font-family: 'Nissan-Icon';
    top: 50%;
    /*margin-left: 20px;
	margin-top:5px;
    left: 45px;
	float:right;
}
*/
.form-control.short{
	width:300px;
}
.form-control[name="vehicle-list-history"]{
	margin-bottom:20px;
}
.error-message{
	display:none;
	color:#c3002f;
}
.field label{
	font-weight:600;
	width:100%;
	display:block;
}
.field.mobile select.form-control{
	width:5vw;
	height:46px;
	border-radius:5px;
}
.field.mobile input.form-control{
	width:20vw;
	height:46px;
	border-radius:5px;
}
.field span.checkbox-label{
	float:right;
	width:calc(100% - 40px);
}
.form-control[name="register-button"]:disabled{
	background: var(--e-primary-button-disabled);
}

.field-read-only{
	border: 1px solid #ccc;
	margin:-1px 0 0 0!important;
	padding:10px;
}
h3.sub-header{
	margin: 20px 0;
}
h4.field-value{
	font-size:14px;
	font-weight:600;
	margin:0;
}
span.message{
	text-decoration:italic;
}
span.message.error{
	color:#c3002f;
}
.notice{
	padding:10px;
	margin-bottom:20px;
	display:none;
}
.notice.error{
	color: #c3002f;
	background:#c3002f26;
}
.notice.success{
	background:#cccccc30;
	font-style:italic;
	border:1px solid #ccc;
}

.tceas-web-booking .eael-tab-inline-icon{
	border: 1px solid #ccc;
    padding: 30px!important;
    margin-right: 40px!important;	
}

/* tceas menu */
.tceas-menu{
	display:inline-flex;
	margin:0;
	list-style:none;
	width:100%;
	flex-wrap:nowrap;
	justify-content:flex-end;
	border-top:1px solid rgba(0,0,0,0.2);
	padding:10px 20px;
}
.tceas-menu li.tceas-menu-item{
	width:fit-content;
	padding-left:32px;
	font-family:'NissanBrand';
	font-weight:500;
	cursor:pointer;
}
.tceas-menu li.tceas-menu-item.active{
	text-decoration:underline;
	text-underline-offset:8px;
}
ul.mobile-menu{
	display:none;
}
.tceas-menu li.tceas-menu-item p{
	font-family:'NissanBrand'!important;
	font-weight:500;
	font-size:15px!important;
}

/* dashboard - my profile */
.user-profile ul.fields{
	width:60%;
}
img.profile-avatar{
	border-radius:50%!important;
	width:110px;
	height:110px!important;
}

/* dashboard - upcoming service */
ul.block{
	display: inline-flex;
    list-style: none;
    width: 100%;
    background: #fff;
    padding: 10px;
    flex-wrap: wrap;
    font-family: 'NissanBrand';
    align-content: stretch;
    font-size: 14px;
    margin: 0;
}
.template{
	display:none;
}
.loading{
	font-family:'NissanBrand';
	margin-bottom:20px;
}
span.number{
	color:var(--e-primary-color);
}
ul.service-upcoming{
	display: inline-flex;
	margin:0;
	list-style:none;
	flex-wrap:wrap;
	width:100%;
}
ul.service-upcoming li.service{
	margin-bottom:10px;
	width:50%;
}
ul.service-upcoming li.service .wrapper{
	border:1px solid #ccc;
	margin:5px;
}
ul.block li.left{
	width:60%;
}
ul.block li.right{
	width:40%;
}
ul.block li.left .heading{
	font-size:16px;
	margin:0;
}
ul.block li.left ul.details{
	display: inline-flex;
    list-style: none;
    width: 100%;
    flex-wrap: nowrap;
    margin: 8px 0 0 0;
}
ul.block li.left ul.details li{
	width:50%;
}
ul.block li.left ul.details li h4.value{
	font-size:14px;
	margin:0;
}
ul.block li.right{
	display:inline-flex;
}
ul.block li.right ul.ctas{
	list-style:none;
	display:inline-flex;
	flex-wrap:wrap;
}
ul.block li.right ul.ctas li.cta{
	width:100%;
}

/* dashboard update profile */
.cta-section{
	width:60%;
	margin-top:30px;
}
.user-profile-edit .fields{
	width:60%;
}

/* package details */
.detail#service-package,
.detail#price-estimation{
	width:50%;
}
ul.jobs,
ul.parts{
	list-style:none;
	margin:0;
	display:inline-flex;
	width:60%;
	flex-wrap:wrap;
}
ul.jobs li.job,
ul.parts li.part{
	width:100%;
	border: 1px solid #ccc;
    margin: -1px 0 0 0!important;
    padding: 10px;
}

/* book a service form */
.book-a-service-form{
	width:75%;
	margin:20px auto;
}

ul.sections{
	list-style:none;
	display:inline-flex;
	margin:0;
	width:100%;
	flex-wrap:wrap;
}
ul.sections li.section{
	width:100%;
	padding:0;
	margin-bottom:20px;
}
ul.sections li.section .wrapper{
	padding:20px 15px;
}
ul.sections li.section#vehicle .wrapper{
	background:#eee;
}
ul.sections li.section#vehicle .wrapper .block{
	margin-bottom:20px;
	flex-wrap:wrap;
}
ul.sections li.section ul.service-centre-list{
	list-style:none;
	display:inline-flex;
	width:100%;
	margin:0;
	flex-wrap:wrap;
}
ul.sections li.section ul.service-centre-list li.service-centre{
	width:100%;
	border:1px solid #eee;
	cursor:pointer;
	transition:ease 0.3s;
	background:#fff;
	position:relative;
}
ul.service-centre-list li.service-centre span.favorite{
	position:absolute;
	top:10px;
	right:20px;
	font-size:18px;
	cursor:pointer;
	transition:ease 0.3s;
}
ul.service-centre-list li.service-centre span.favorite.selected{
	color:var(--e-primary-color);
}
ul.service-centre-list li.service-centre span.favorite:hover{
	color:var(--e-primary-color);
}
ul.sections li.section ul.service-centre-list li.service-centre.selected{
	border:1px solid var(--e-primary-button-color);
	background:#eee;
}
ul.sections li.section#service-centre-list ul.service-centre-list > li.service-centre:hover{
	background:#eee;
}
ul.sections li.section ul.service-centre-list li.service-centre .tags{
	display:inline-flex;
	flex-wrap:nowrap;
	margin:0;
	list-style:none;
	width:100%;
	background:#eee;
	height:100%;
	align-items:center;
	padding:0 5px;
}
ul.sections li.section ul.service-centre-list li.service-centre .tags li.tag{
	padding: 0 10px;
}
ul.service-centre-list li.service-centre .form-control.btn-simple{
	margin-bottom:0;
}
ul.days {
    list-style: none;
    display: inline-flex;
    margin: 0;
    flex-wrap: nowrap;
    width: 100%;
}
ul.days li.day{
	width: calc(100%/7);
    background: #000;
    text-align: center;
    padding: 6px;
}
ul.days li.day:not(.disabled):hover,
ul.days li.day.active{
	background:var(--e-primary-button-color);
	color:#fff;
	transition:ease 0.3s;
	cursor:pointer;
}
h4.day{
	margin:0;
}
li.day:not(.disabled):hover > h4.day,
li.day:not(.disabled).active > h4.day{
	color:#fff;
}
ul.timeslots {
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    margin: 0;
    width: 100%;
	border:1px solid #eee;
}
ul.timeslots li.timeslot {
    width: calc(100%/5);
    padding: 10px;
    text-align: center;
	cursor:pointer;
	transition:ease 0.3s;
	font-family:"NissanBrand";
	font-weight:600;
	font-size:16px;
	display:inline-flex;
	justify-content:center;
	flex-wrap:wrap;
}
ul.timeslots li.timeslot.full h4.bks{
	color:#aaa;
	cursor:default;
}
ul.timeslots li.timeslot h4.bks{
	transition:ease 0.3s;
	font-weight:600;
	cursor:pointer;
	width:80px;
	padding:10px;
	margin:0 auto;
	font-family:'NissanBrand';
}
ul.timeslots li.timeslot:not(.full):hover h4.bks{
	background:var(--e-primary-button-color);
	color:#fff;
}
ul.timeslots li.timeslot.active h4.bks{
	background:var(--e-primary-button-color);
	color:#fff;
}
ul.ctas#book-a-service{
	display:inline-flex;
	margin:0;
	list-style:none;
	flex-wrap:wrap;
	width:60%;
}
ul.ctas#book-a-service li.cta{
	width:100%;
}

li.tag{
    background-size: contain!important;
    background-repeat: no-repeat!important;
    width: 36px;
    content: '';
    display: block;
    height: 24px;
    background-position-x: 5px!important;
	--webkit-background-position-x: 5px;
}
li.tag.nissan{
	background: url('/wp-content/plugins/tceas-web-booking/assets/images/nissan.png');
}
li.tag.renault{
	background: url('/wp-content/plugins/tceas-web-booking/assets/images/renault.png');
}
li.tag.infiniti{
	background: url('/wp-content/plugins/tceas-web-booking/assets/images/infiniti.png');
	width:54px;
}
.ui-datepicker{
	background:#fff;
	padding:10px;
	width:330px;
}
.ui-datepicker .ui-datepicker-next{
	float:right;
}
.ui-datepicker .ui-datepicker-title{
	text-align:center;
	text-transform:uppercase;
}
.ui-datepicker table.ui-datepicker-calendar thead{
	font-weight:600;
	background:#000;
	color:#fff;
}
.ui-datepicker table.ui-datepicker-calendar tbody td{
	text-align:center;
}
.ui-datepicker table.ui-datepicker-calendar tbody td.ui-state-disabled a{
	color:#ccc;
}
.ui-datepicker table.ui-datepicker-calendar tbody td:not(.ui-state-disabled):hover{
	background:var(--e-primary-color);
	font-weight:600;
}
.ui-datepicker table.ui-datepicker-calendar tbody td.ui-datepicker-today{
	background:var(--e-primary-color);
	font-weight:600;
}
.ui-datepicker table.ui-datepicker-calendar tbody td a{
	text-align:center
}
.ui-datepicker table.ui-datepicker-calendar tbody td:hover a.ui-state-default{
	color:#fff;
}

.ui-datepicker table.ui-datepicker-calendar tbody td:hover a:hover{
	background:var(--e-primary-color);
	font-weight:600;
	color:#fff;
}
.ui-datepicker table.ui-datepicker-calendar tbody td a.ui-state-highlight{
	color:#fff;
}
.col-full{
	width:100%!important;
	display:block;
	padding:10px 0;
}
.col-half{
	width:50%!important;
}
.col-70{ width: 70%; display:block; padding:0 }
.col-30{ width: 30%; position:relative; display:block;}
.label,.heading{
	font-family:'NissanBrand';
	margin-bottom:0;
	font-size:14px;
	font-weight:400;
}
h4.value{
	font-size:14px;
}

/* add vehicle */
.section#book-a-service .service-appointment div.form-control.btn-primary{
	width:300px;
}

/* appointment details */
.appointment-detail{
	width: 60%;
    display: block;
    padding: 20px 15px;
    border: 1px solid #ccc;
}
ul.details{
	display: inline-flex;
    flex-wrap: wrap;
    margin: 0;
    list-style: none;
    width: 100%;
    margin-top: 15px;
}
ul.details li.detail{
	width:50%;
}
ul.details li.detail.full{
	width:100%;
}
ul.options{
	display: inline-flex;
    width: 100%;
    margin: 0 0 20px;
    list-style: none;
    flex-wrap: wrap;
    background: #eee;
}
ul.options li.option{
	width:100%;
	padding:0 10px;
}
ul.options li.option p{
	margin:0;
}
ul.options li.option .form-control.btn-simple{
	width:fit-content;
	background:transparent;
	transition:ease 0.3s;
	padding:10px;
	margin:0;
	display:block;
}
ul.options li.option .form-control.btn-simple:hover{
	color:var(--e-primary-color);
}

/* add vehicle */
.add-vehicle-form{
	width:60%;
}

section#incoming-service{
	background:#eeeeee;
	padding:2em 7vw;
	margin-bottom:20px;
}
section.section{
	padding:0;
}
section#book-a-service{
	padding:10px 7vw;
}
div.tceas-container{
	padding:10px 7vw;
}
div.tceas-container#home{
	padding:0;
}
/* popup dialog */
.dialog#popup-tnc .overlay,
.dialog#popup .overlay{
	width: 100%;
    position: fixed;
    z-index: 90000;
    height: 100vh;
    display: block;
    background: #00000050;
    top: 0;
    left: 0;
	overflow:hidden;
	backdrop-filter:blur(1px);
}
.dialog#popup-tnc .overlay .popup{
	position: absolute;
    width: 90%;
    max-width: 768px;
    display: inline-block;
    z-index: 95000;
    background: #fff;
    padding: 40px 10px 10px;
    top: 5%;
    left: calc(50% - 768px/2);
    box-shadow: 0 0 10px 0 #777;
    height: 550px;
}
.dialog#popup-tnc .overlay .popup .container{
	overflow-y: scroll;
    margin: 10px 0;
    height: 80%;
    display: block;
    position: relative;
    width: 100%;
    border: 1px solid #ccc;
    max-width: 100%;
    padding: 10px;
}
.dialog#popup .overlay .popup{
	position: absolute;
    width: 300px;
    display: inline-block;
    z-index: 95000;
    background: #fff;
    padding: 40px 20px 12px;
    top: calc(50% - 150px);
    left: calc(50% - 150px);
	box-shadow:0 0 10px 0 #777;
}
.dialog#popup-tnc .overlay .popup div.close,
.dialog#popup .overlay .popup div.close{
	position: absolute;
    top: 6px;
    right: 20px;
    cursor: pointer;
    z-index: auto;
    color: #000;
    font-weight: 900;
    font-family: Nissan Bold;
    font-size: 22px;
}
.dialog#popup .overlay .popup .popup-label{
	color: var(--e-primary-color);
	text-align:center;
}
.dialog#popup .overlay .popup ul.fields li.field{
	margin:0;
}
.dialog#popup .loading-image{
	margin: 10px auto;
	width:32px;
	display:block;
}
table.service-list{
	margin:20px auto;
	border:1px solid #e9e9e9;
}
table.service-list thead tr {
	border-bottom:1px solid #000;
}
table.service-list thead tr th{
	background:#fff;
	font-weight:700;
	border-bottom:1px solid #e9e9e9;
}

table.service-list thead th:nth-child(even){
	background:#f7f7f7;
}
table.service-list thead th#mileage,
table.service-list thead th#paid-amount,
table.service-list thead th#date{
	width:200px;
}
table.service-list thead th#mileage{
	text-align:center;
}
table.service-list thead th#paid-amount{
	text-align:right;
}
table.service-list tbody td#location,
table.service-list tbody td#date{
	cursor:pointer;
}
table.service-list tbody td#mileage{
	text-align:center;
}
table.service-list tbody td:nth-child(even){
	background:#f7f7f7;
}
table.service-list tbody tr:hover td{
	background:#eee!important;
	transition:ease 0.3s;
}
p.loading{
	padding:10px;
}
span.message{
	display:none;
}
.field input[type="radio"]{
	opacity:0;
	display:inline-block;
	width:0;
	position:fixed;
}
.field .radio-mark{
	background: var(--e-global-color-d3ba02e);
    color: #fff;
    margin: -10px;
    display: inline-block;
    position: relative;
    left: 8px;
    background-color: #e1e1e1;
    padding: 7px 16px;
    font-family: sans-serif,Arial;
    font-size: 14px;
    border: 1px solid #eee;
    border-radius: 0;
    font-family: "NissanBrand";
	font-weight:bold;
    cursor: pointer;
}
.field input[type=radio]:checked + .radio-mark{
    background-color: #000;
    color: #FFF;
}

ul.row{
	width:100%;
	display:inline-flex;
	list-style:none;
	margin:20px 0;
	flex-wrap:nowrap;
}
ul.row li.right{
	width:50%;
	padding:10px;
}
ul.row li.left{
	width:50%;
	padding:10px;
}
.workshop-detail ul.details .value{
	margin-bottom:3px;
}
div[name="forget-button"],
div[name="register-button"],
div[name="login-button"]{
	width:265px;
}

th#total-amount,
td#total-amount{
	text-align:right;
}

@media only screen and (min-width:900px) and (max-width:1300px){
	section#incoming-service{
		padding:2em 2vw;
	}
	section#book-a-service{
		padding:2em 2vw;
	}
}

@media only screen and (max-width:768px){
	body{
		overflow-x:hidden;
	}
	section#dashboard .elementor-column{
		width:100%!important;
	}
	section#book-a-service,
	section#incoming-service{
		padding:10px;
	}
	.appointment-detail{
		width:100%;
	}
	ul.details li.detail {
		width: 50%;
	}
	.workshop-detail ul.details li.detail{
		width:100%;
		margin-bottom:10px;
	}
	.book-a-service-form{
		width:100%;
	}
	.cta-section{
		width:100%;
	}
	.user-profile ul.fields{
		width:100%;
	}
	li.field#profile-image{
		text-align:center;
	}
	.field.mobile select.form-control{
		width:70px;
	}
	ul.row{
		flex-wrap:wrap;
	}
	ul.row li.right{
		width:100%;
	}
	ul.row li.left{
		width:100%;
	}
	
	table.service-list tbody td span.branch-name{
		float:left;
	}
	
	.form-control.short{
		width:100%;
	}
	.add-vehicle-form{
		width:100%;
	}
	.col-70{ width: 100%; }
	.col-30{ width: 100%; }
	
	div.elementor-column#menu-nav {
		position: fixed;
		top: 60px;
		z-index: 90000;
		background: #fff;
		left: 0;
		display:none;
	}
	ul.jobs,
	ul.parts{
		width:100%;
	}
	.dialog#popup-tnc .overlay .popup{
		max-width:330px;
		left:calc(50% - 330px/2 );
	}
	
	.elementor-element.nissan-icon-text{
		position:absolute;
		top:8px;
		left:0;
		z-index:100;
	}
	
	/* tceas sub menu */
	ul.tceas-menu{
		display:none;
		position: absolute;
		background: #fff;
		top: 45px;
		left: 0;
		z-index: 200;
		border: 1px solid rgba(0,0,0,0.2);
	}
	ul.tceas-menu li{
		padding:0!important;
		margin:10px 0;
	}
	
	ul.mobile-menu{
		display:inline-flex;
		flex-wrap:nowrap;
		margin:0;
		width:100%;
		list-style:none;
		padding:10px;
	}
	ul.mobile-menu li.mobile-menu-item#menu-label{
		width:calc(100% - 40px);
	}
	ul.mobile-menu li.mobile-menu-item#menu-button{
		width:40px;
		cursor:pointer;
		text-align:center;
	}
	.tceas-container{
		padding:10px!important;
	}
	ul.mobile-menu li.mobile-menu-overlay{
		display:none;
	}
	ul.mobile-menu.opened li.mobile-menu-overlay{
		height: 100vh;
		width: 100%;
		opacity: 1;
		display: inline-block;
		position: fixed;
		top: 0;
		left: 0;
		background: #ffffff9a;
		z-index: 2;
	}
}
/*@import 'tceas-web-booking-extra.min.css';*/