@charset "utf-8"; 
/* CSS Document */


	ul.time-table > li, ul.time-slots, .dt-sc-reservation-form.dt-appointment-form .dt-sc-button.show-time-shortcode, .dt-sc-appointment-scheduler-form .dt-sc-button.bordered, .dt-sc-goback-box .appointment-goback { -webkit-transition: all 0.3s ease 0s; -moz-transition: all 0.3s ease 0s; -o-transition: all 0.3s ease 0s; -ms-transition: all 0.3s ease 0s; transition: all 0.3s ease 0s;}
	
	ul.time-table > li:before, ul.time-table > li:after, .dt-sc-available-times ul.time-slots:before, .dt-sc-available-times ul.time-slots:after { -webkit-transition: all 0.75s ease 0s; transition: all 0.75s ease 0s; }



	/*----*****---- << Reservation >> ----*****----*/
	.page-template-tpl-reservation #primary.content-full-width { margin-bottom:70px; }
	.page-template-tpl-reservation a.dt-sc-button.show-time { margin-top:50px; }
	.page-template-tpl-reservation a.dt-sc-button.schedule-it { margin-top:0; }
	.page-template-tpl-reservation .available-times { width:100%; float:left; margin-top:50px; }
	.page-template-tpl-reservation h5.hr-title { height: 50px; line-height: 50px; margin-bottom: 30px; position: relative; }
	.page-template-tpl-reservation h5.hr-title span { border: 1px solid; padding: 10px 20px; position: relative; z-index: 1; }

	.page-template-tpl-reservation h5.hr-title:after { border-top: 1px dashed; content: ""; height: 2px; position: absolute; left: 0; right: 0; top: 50%; width: 100%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

	ul.time-table > li:before, ul.time-table > li:after,
	.dt-sc-available-times ul.time-slots:before, .dt-sc-available-times ul.time-slots:after { border-left:12px solid; border-right:12px solid; border-top: 10px solid; content:""; display:block; height:0; margin: 0 auto; position:absolute; bottom: auto; left:50%; width:0; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
	ul.time-table > li:before, .dt-sc-available-times ul.time-slots:before { top:0; }
	ul.time-table > li:after, .dt-sc-available-times ul.time-slots:after { top: -2px; }

	ul.time-table > li ul, ul.time-table > li > span { position:relative; z-index:1; }

	ul.time-table { display:block; float:left; list-style-type:none; width:100%; }
	ul.time-table > li { display:block; float:left; margin-bottom:20px; margin-right:2%; overflow: hidden; position:relative; padding:15px 20px 0; text-align:center; width:15%; }
	ul.time-table > li:nth-child(6n) { margin-right:0; }
	
	ul.time-table > li span { display:block; font-size: 14px; letter-spacing: 1px; }
	ul.time-table > li > p { font-size:16px; margin:0; }
	ul.time-table > li > p > span { display:block; font-size:13px; }
	ul.time-slots { display:inline-block; margin: 15px 0; padding:5px 0 0; text-align:center; }
	ul.time-slots > li { clear:both; display:block; float:left; margin:0 auto 5px; padding:0; width:110px; }
	ul.time-slots > li a { border-style: solid; border-width: 0 0 1px; display:inline-block; min-width:56px; padding:5px 18px; position: relative; width:100%; z-index: 1; }

	.dt-sc-available-times ul.time-slots { display: block; float: left; overflow: hidden; margin: 0; padding: 30px 20px; position: relative; text-align: center; width: 100%; }
	.dt-sc-available-times ul.time-slots > li { clear: none; display: inline-block; float: none; margin: 5px; }	
	.dt-sc-available-times ul.time-slots > li:last-child { margin-right: 0; }
	.dt-sc-available-times ul.time-slots > li a { border-width: 1px; }
	
	.available-times .dt-sc-title.with-right-border-decor h3 { margin-bottom: 50px; }	


	ul.time-table > li:hover:before, ul.time-table > li.selected:before,
	.dt-sc-available-times ul.time-slots:hover:before, .dt-sc-available-times ul.time-slots.selected:before { border-width: 1000px 1200px 0; }
	ul.time-table > li:hover:after, ul.time-table > li.selected:after,
	.dt-sc-available-times ul.time-slots:hover:after, .dt-sc-available-times ul.time-slots.selected:after { top: 0; }

	.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br, .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl, 	.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { border-radius:0 !important; }
	.ui-widget-content { margin:3px 0; }
	
	#personalinfo.personal-info { float:left; width:100%; }
	#personalinfo.personal-info p, .personal-info textarea { margin-bottom:30px; } 	

	.personal-info textarea ~ .column, .personal-info textarea ~ .column ~ .column { clear: none; display: block; margin: auto; padding: 0 10px; }
	.personal-info textarea ~ .column ~ .column p > .dt-sc-captcha { border-bottom: 1px solid; display: block; font-size: 16px; line-height: normal; padding: 15px 10px; text-align: center; width: 100%; }
	.personal-info textarea ~ .column, .personal-info textarea ~ .column ~ .column, 
	.personal-info textarea ~ .column > p, .personal-info textarea ~ .column ~ .column > p { width: 50%; }
	.personal-info textarea ~ .column > p { float: right; }
	.personal-info textarea ~ .column ~ .column > p { float: left; }

	.page-template-tpl-reservation .personal-info h5.hr-title { text-align: center; }

	.dt-sc-reservation-form.dt-appointment-form { margin-bottom: 60px; }
	.dt-sc-reservation-form.dt-appointment-form p { margin-bottom: 20px; }
	.dt-sc-reservation-form.dt-appointment-form p:last-child { display: none; }
	.dt-sc-reservation-form.dt-appointment-form label { text-transform: uppercase; letter-spacing: 0.5px; padding: 0 10px; }
	.dt-sc-reservation-form.dt-appointment-form input, .dt-sc-reservation-form.dt-appointment-form select, .dt-sc-reservation-form.dt-appointment-form textarea { padding-left: 10px; padding-right: 10px; }
	.dt-sc-reservation-form.dt-appointment-form .selection-box.form-calender-icon { display: block; }
	
	.page-template-tpl-reservation-type2 #primary { padding-bottom: 80px; }
	
	.dt-sc-appointment-scheduler-form label span { margin-right:10px; }
	.dt-sc-appointment-scheduler-form .generate-schedule { float:none; }
	.dt-sc-appointment-scheduler-form .dt-sc-button.bordered { margin: 40px 0; }
	
	.dt-sc-schedule-box, .dt-sc-contactdetails-box, .dt-sc-notification-box, .steps h2, .steps h3, .steps h4, .steps h5 { float:left; width:100%; }
	.steps h2, .steps h3, .steps h4, .steps h5 { clear: both; text-align: center; } 
	.steps h2 { padding-bottom: 15px; position: relative; }
	.steps h2:after { content: ""; height: 1px; margin: auto; position: absolute; bottom: 0; left: 0; right: 0; width: 47px; }

	.dt-sc-schedule-progress { float: left; width: 100%; position: relative; margin-bottom: 20px; width: 33.333%; padding: 27px 10px 14px 10px; margin-right: 0px; text-align: center; }
	.dt-sc-schedule-progress.step3 { margin-right: 0; }

	.dt-sc-schedule-progress .dt-sc-progress-step { float: left; margin: 0 0 30px 0; position: relative; text-align: center; width: 100%; }
	.dt-sc-schedule-progress .dt-sc-progress-step:before, .dt-sc-schedule-progress .dt-sc-progress-step:after { border-top: 1px dashed; content: ""; height: 0; position: absolute; top: 50%; width: 50%; z-index: -1; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
	.dt-sc-schedule-progress .dt-sc-progress-step:before { left: -10px; }
	.dt-sc-schedule-progress .dt-sc-progress-step:after { right: -10px; }

	.dt-sc-schedule-progress.step1 .dt-sc-progress-step:before, .dt-sc-schedule-progress.step3 .dt-sc-progress-step:after { content: none; }

	.dt-sc-schedule-progress .dt-sc-progress-step span { display: inline-block; float: none; font-size: 36px; height: 100px; line-height: 100px; position: relative; width: 100px; z-index: 0; }
	.dt-sc-schedule-progress h4 { clear: both; font-size: 20px; margin-bottom: 20px; }
	.dt-sc-schedule-progress p { font-size:14px; } 

	.dt-sc-schedule-progress .dt-sc-progress-step span:before { content: ""; height: auto; position: absolute; bottom: 5px; left: 5px; right: 5px; top: 5px; width: auto; z-index: -1; }

	.dt-sc-appointment-contactdetails-form { width: 100%; float: left; }
	
	.dt-sc-contactdetails-box.steps input[type="text"], 
	.dt-sc-contactdetails-box.steps input[type="password"], 
	.dt-sc-contactdetails-box.steps input[type="email"], 
	.dt-sc-contactdetails-box.steps input[type="url"], 
	.dt-sc-contactdetails-box.steps input[type="tel"], 
	.dt-sc-contactdetails-box.steps input[type="number"], 
	.dt-sc-contactdetails-box.steps input[type="range"], 
	.dt-sc-contactdetails-box.steps input[type="date"], 
	.dt-sc-contactdetails-box.steps textarea, 
	.dt-sc-contactdetails-box.steps input.text, 
	.dt-sc-contactdetails-box.steps input[type="search"] { margin-bottom: 20px; }

	.dt-sc-notification-box.steps.step3 .border-title { float: left; width: 100%; }
	.dt-sc-notification-box.steps.step3 .dt-sc-notification-details ul li { list-style: none; }
	.dt-sc-notification-box.steps.step3 .dt-sc-notification-details ul li span { font-weight: bold; float: left; width: 100%; position: static; font-size: 16px; color: #666666; text-align: left; }
	.dt-sc-notification-box.steps.step3 .dt-sc-notification-details .dt-sc-schedule-details { width: 100%; float: left; }
	.dt-sc-notification-box.steps.step3 .dt-sc-about-project-form input.schedule-it { margin: 30px 0; }

	.dt-sc-goback-box { margin-bottom: 35px; position: relative; text-align: center; }
	.dt-sc-goback-box:before { border-top: 1px dashed; content: ""; height: 0; position: absolute; left: 0; top: 50%; width: 100%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
	.dt-sc-goback-box .appointment-goback { border: 1px solid; color: inherit; float: none; margin: auto; position: relative; z-index: 1; }

	.page-template-tpl-reservation #primary > .column > p, .page-template-tpl-reservation #primary > .column > .column > p, .page-template-tpl-reservation-type2 #primary > .dt-sc-clear ~ p, .dt-sc-appointment-contactdetails-form > p { clear: both; font-size: 14px; font-style: italic; opacity: 0.75; }
	


	.dt-appointment-form-wrapper.vc_column_container { background-color: rgba(54,45,48,0.9); margin: 0 -15px; padding: 75px 60px; }
	.dt-appointment-form-wrapper.vc_column_container .vc_column-inner { padding-left: 0; padding-right: 0; }

	.dt-sc-reservation-form.dt-appointment-form .vc_row { margin: 0; }
	.dt-sc-reservation-form.dt-appointment-form h2 { margin-bottom: 10px; }
	.dt-sc-reservation-form.dt-appointment-form p { position: relative; }	
	.dt-sc-reservation-form.dt-appointment-form p > label { display: none; }
	.dt-sc-reservation-form.dt-appointment-form input[type="text"], .dt-sc-reservation-form.dt-appointment-form input[type="email"], 
	.dt-sc-reservation-form.dt-appointment-form select, .dt-sc-reservation-form.dt-appointment-form textarea { border-width: 0 0 2px; border-color: #906c5f; }
	.dt-sc-reservation-form.dt-appointment-form select { padding-left: 5px; padding-right: 5px; }
	.dt-sc-reservation-form.dt-appointment-form .selection-box:after { background-color: rgba(0,0,0,0); }
	.dt-sc-reservation-form.dt-appointment-form input[type="submit"] { background-color: #906c5f; text-transform: uppercase; }
	.dt-sc-reservation-form.dt-appointment-form .wpcf7-form-control-wrap:before { height: 2px; }
	

	.dt-sc-reservation-form.dt-appointment-form p::before { background-color: rgba(0, 0, 0, 0.25);  content: ""; display: block; height: 2px; position: absolute; bottom: 0; left: 0;  top: auto; width: 0; z-index: 9; -webkit-transition: all 0.3s linear 0s; transition: all 0.3s linear 0s; }
	.dt-sc-reservation-form.dt-appointment-form p:hover:before { width: 100%; }

	.dt-sc-dark-bg .dt-sc-reservation-form.dt-appointment-form input[type="submit"]:hover { background-color: #fff; color: #333; }

	.dt-sc-dark-bg .dt-sc-reservation-form.dt-appointment-form input[type="text"], .dt-sc-dark-bg .dt-sc-reservation-form.dt-appointment-form input[type="email"], .dt-sc-dark-bg .dt-sc-reservation-form.dt-appointment-form select, .dt-sc-dark-bg .dt-sc-reservation-form.dt-appointment-form textarea, .dt-sc-dark-bg .dt-sc-reservation-form.dt-appointment-form label { color: #fff; }



	.dt-sc-schedule-progress .dt-sc-progress-step span, .dt-sc-schedule-progress span:before { -webkit-border-radius: 50%; border-radius: 50%; }


	.dt-sc-schedule-progress .dt-sc-progress-step span { background-image: url("../../designthemes-core-features/shortcodes/images/rounded-border-dashed.png"); background-repeat: no-repeat; background-size: cover; }

	ul.time-table > li { background-color: rgba(0,0,0,0); }
	.page-template-tpl-reservation h5.hr-title span, ul.time-slots > li a, .dt-sc-schedule-progress .dt-sc-progress-step span, .dt-sc-goback-box .appointment-goback { background-color: #fff; }
	.personal-info textarea ~ .column ~ .column p > .dt-sc-captcha { background-color: rgba(0, 0, 0, 0.06); }

	.dt-sc-schedule-progress.dt-sc-current-step .dt-sc-progress-step span:before, .dt-sc-goback-box .appointment-goback:hover, .steps h2:after { background-color: #906c5f; }

	.page-template-tpl-reservation h5.hr-title span, .page-template-tpl-reservation h5.hr-title:after, ul.time-slots > li a, .dt-sc-goback-box:before, .dt-sc-goback-box .appointment-goback { border-color: rgba(0, 0, 0, 0.06); }
	
	ul.time-table > li:before, ul.time-table > li:after, .dt-sc-available-times ul.time-slots:before, .dt-sc-available-times ul.time-slots:after { border-color: rgba(0,0,0,0); }
	ul.time-table > li:before, .dt-sc-available-times ul.time-slots:before { border-top-color: rgba(0, 0, 0, 0.06); }
	ul.time-table > li:after, .dt-sc-available-times ul.time-slots:after { border-top-color: #fff; }


	.personal-info textarea ~ .column ~ .column p > .dt-sc-captcha, .dt-sc-schedule-progress .dt-sc-progress-step:before, .dt-sc-schedule-progress .dt-sc-progress-step:after { border-color: rgba(0,0,0,0.15); }

	ul.time-table > li, .dt-sc-available-times ul.time-slots { -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06) inset; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06) inset; }


	ul.time-slots > li a:hover, ul.time-slots > li a.selected, ul.time-slots > li a.selected:hover, ul.time-table > li.selected > span, .dt-sc-goback-box .appointment-goback:hover, 
	.dt-sc-schedule-progress.dt-sc-current-step .dt-sc-progress-step span, .dt-sc-schedule-progress.dt-sc-completed-step .dt-sc-progress-step span { color:#fff; }

	ul.time-slots > li a { color: #333; } 
	.dt-sc-schedule-progress .dt-sc-progress-step span { color:#906c5f; }	


	.dt-sc-schedule-progress.dt-sc-completed-step .dt-sc-progress-step span:before { background-color: #ff508b; }	

	/*----*****---- << Mobile (Landscape) >> ----*****----*/	
	
	@media only screen and (min-width: 992px) and (max-width: 1199px) {
	
		ul.time-table > li { width: 23.5%; }
		ul.time-table > li:nth-child(4n) { margin-right: 0; }	
		ul.time-table > li:nth-child(4n+1) { clear: both: }

	}

	@media only screen and (min-width: 768px) and (max-width: 991px) {
	
		ul.time-table > li { width: 32%; }
		ul.time-table > li:nth-child(3n) { margin-right: 0; }	
		ul.time-table > li:nth-child(3n+1) { clear: both: }

	}

	/* Common Styles for the devices below 767px width */
	@media only screen and (max-width: 767px) {

		.dt-appointment-form-wrapper.vc_column_container { display: block; float: none; margin: 0 15px; padding-left: 45px; padding-right: 45px; width: auto; }
		ul.time-table > li { width: 49%; }
		ul.time-table > li:nth-child(2n) { margin-right: 0; }
		ul.time-table > li:nth-child(2n+1) { clear: both: }

		.page-template-tpl-reservation h5.hr-title { text-align: center; }
		.page-template-tpl-reservation a.dt-sc-button { float: none; }
		.personal-info textarea ~ .column, .personal-info textarea ~ .column ~ .column, .personal-info textarea ~ .column > p, .personal-info textarea ~ .column ~ .column > p { width: 100%; }

		.dt-sc-schedule-progress { width: 100%; }
		.dt-sc-schedule-progress.step1 .dt-sc-progress-step:before, .dt-sc-schedule-progress.step3 .dt-sc-progress-step:after { content: ""; }


	}

	@media only screen and (max-width: 479px) {

		ul.time-table > li { display: block; float: none; width: auto; }
		ul.time-table > li, ul.time-table > li:nth-child(2n) { margin-left: 15px; margin-right: 15px; }

	}	

	/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
	@media only screen and (max-width: 319px) {	

		.dt-appointment-form-wrapper.vc_column_container {  padding-left: 30px; padding-right: 30px; }
		.dt-appointment-form-wrapper.vc_column_container .vc_column-inner { padding-left: 0; padding-right: 0; }

		.dt-sc-reservation-form.dt-appointment-form input, .dt-sc-reservation-form.dt-appointment-form select, .dt-sc-reservation-form.dt-appointment-form textarea { font-size: 10px; }

	}	