.column img, .vc_column_container img, .wpb_column img { display: inherit; }
.column { float: left; margin: 0 0 0 2%; min-height: 1px; position: relative; }
.column.first { clear: both; margin-left: 0; }	 

.dt-sc-full-width, .dt-sc-one-column { width: 100%; }
.column.dt-sc-full-width, .column.dt-sc-one-column { margin-left: 0; } 

.dt-sc-one-half { width: 49%; }
.dt-sc-one-third { width: 32%; }
.dt-sc-two-third { width: 66%; }
.dt-sc-one-fourth { width: 23.5%; }
.dt-sc-three-fourth { width: 74.5%; }	 

.dt-sc-one-fifth { width: 18.4%; }
.dt-sc-two-fifth { width: 38.8%; }
.dt-sc-three-fifth { width: 59.2%; }
.dt-sc-four-fifth { width: 79.6%; } 

.dt-sc-one-sixth { width: 15%; }
.dt-sc-two-sixth { width: 32%; }
.dt-sc-three-sixth { width: 49%; }
.dt-sc-four-sixth { width: 66%; }
.dt-sc-five-sixth { width: 83%; }  

.dt-sc-hr-invisible-small { clear: both; float: left; margin: 15px 0; width: 100%; }
.dt-sc-hr-invisible-very-small { clear: both; float: left; margin: 5px 0; width: 100%; }
.dt-sc-hr-invisible-xsmall { clear: both; display: block; float: left; margin: 35px 0 0; width: 100%; }
.dt-sc-clear { clear: both; float: none; margin: 0; padding: 0; } 

.aligncenter, img.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; text-align: center; } 

/*** Alert Boxes Styles ***/
.dt-sc-error-box, .dt-sc-warning-box, .dt-sc-success-box, .dt-sc-info-box { clear: both; margin-bottom: 30px; padding: 15px 15px 15px 45px; }
.dt-sc-error-box a, .dt-sc-warning-box a, .dt-sc-success-box a, .dt-sc-info-box a { text-decoration: underline; } 

.dt-sc-error-box { background-color: #ffcccc; border: 1px solid #ff9999; color: #d01313; position: relative; }
input[type="text"].error, textarea.error { border-color: #ff0000; }
.dt-sc-error-box:before, .dt-sc-warning-box:before, .dt-sc-success-box:before, .dt-sc-info-box:before { font-family: FontAwesome; font-size: 20px; font-style: normal; font-weight: normal; position: absolute; left: 18px; top: 15px; text-decoration: inherit; }		

.dt-sc-error-box:before { color: #C54228; content: "\f057"; } 

.dt-sc-warning-box { background-color: #fdebae; border: 1px solid #e6c555; color: #c79d13; position: relative; }
.dt-sc-warning-box:before { color: #e2b828; content: "\f06a"; } 

.dt-sc-success-box { background-color: #eafac0; border: 1px solid #b1cf67; color: #7ba411; position: relative; }
.dt-sc-success-box:before { color: #75b632; content: "\f058"; } 

.dt-sc-info-box { background-color: #bfe4f9; border: 1px solid #68a2cf; color: #2081b9; position: relative; }
.dt-sc-info-box:before { color: #008bc1; content: "\f05a"; } 

.dt-sc-error-box a { color: #d01313; }
.dt-sc-warning-box a { color: #c79d13; }
.dt-sc-success-box a { color: #7ba411; }
.dt-sc-info-box a { color: #2081b9; }
.dt-sc-reservation-form .aligncenter button { float: none; padding: 15px 20px 14px; }

.dt-sc-reservation-form .dt-sc-one-column .aligncenter button { width: 100%; } 

.dt-sc-appointment-wrapper { float: left; padding: 0; width: 100%; }
.dt-sc-appointment-wrapper .dt-sc-one-third { width: 31.5%; }
.dt-sc-appointment-wrapper .dt-sc-reservation-form .column { margin: 0 0 0 2.5%; }
.dt-sc-appointment-wrapper .dt-sc-reservation-form .column.first { margin-left: 0; }
.dt-sc-appointment-wrapper .dt-sc-reservation-title { float: left; width: 29%; text-align: right; padding: 15px 0 0; }
.dt-sc-appointment-wrapper .dt-sc-reservation-form { float: left; width: 68%; margin: 0 0 0 3%; }
.dt-sc-appointment-wrapper h4 { margin-bottom: 30px; padding-bottom: 25px; position: relative; }
.dt-sc-appointment-wrapper h4:after { background-color: currentColor; content: ""; display: inline-block; height: 2px; position: absolute; bottom: 0; left: 0; width: 50px; }

.dt-sc-appointment-wrapper .dt-sc-reservation-title h2 { margin: 0 0 10px; }
.dt-sc-appointment-wrapper .dt-sc-reservation-title h6 { font-size: 16px; text-transform: uppercase; letter-spacing: 3px; margin: 0 0 10px; }

.dt-sc-appointment-wrapper .dt-sc-reservation-form input[type="text"], .dt-sc-appointment-wrapper .dt-sc-reservation-form input[type="email"] { padding-left: 20px; } 
.dt-sc-appointment-wrapper .dt-sc-reservation-form input[type="text"], .dt-sc-appointment-wrapper .dt-sc-reservation-form input[type="email"], .dt-sc-appointment-wrapper .dt-sc-reservation-form select { background-color: #ffffff; border-color: #e5e5e5; }
.dt-sc-appointment-wrapper .dt-sc-reservation-form .selection-box:before { border-width: 0; background-color: transparent; content: "\f107"; font-family: "Font awesome 5 Free"; font-weight: 900; line-height: 0; }
.dt-sc-appointment-wrapper .dt-sc-reservation-form select option { padding: 0; width: 100%; }
.dt-sc-appointment-wrapper .dt-sc-reservation-form select, .dt-sc-appointment-wrapper .dt-sc-reservation-form .dt-appoint-date input { padding-right: 30px; }
.dt-sc-appointment-wrapper .dt-sc-reservation-form .selection-box:before, .dt-sc-appointment-wrapper .dt-sc-reservation-form .dt-appoint-date span { font-size: 13px; pointer-events: none; position: absolute; bottom: 1px; right: 10px; top: 1px; text-align: center; }

.dt-sc-appointment-wrapper .dt-sc-reservation-form .show-time-shortcode { margin-top: 0; padding: 13px 22px; text-transform: uppercase; width: 100%; }

.dt-sc-appointment-wrapper .dt-sc-reservation-form .dt-appoint-date, .dt-sc-reserve-appointment.type1 .dt-appoint-date { position: relative; z-index: 1; }
.dt-sc-appointment-wrapper .dt-sc-reservation-form .dt-appoint-date span, .dt-sc-reserve-appointment.type1 .dt-appoint-date span { right: 1px; background-color: #e5e5e5; text-align: center; font-size: 13px; line-height: 47px; width: 30px; }

.dt-sc-reservation .title { display: inline-block; margin: 0 0 30px; text-align: center; width: 100%; }
.dt-sc-reservation .title h6 { border-bottom: 3px solid #37251b; display: inline-block; font-size: 16px; font-weight: normal; margin-bottom: 0; padding: 0 10px 10px; text-align: center; text-transform: none; } 

ul.time-table > li { background: #f0f0f0; position: relative; }
ul.time-table > li:after { content: ""; height: 6px; position: absolute; left: 0; width: 100%; }
ul.time-table > li:after { bottom: -6px; } 

ul.time-table > li:before { content: ""; height: 0; position: absolute; bottom: 0; left: 0; width: 100%; z-index: 0; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; }
ul.time-table > li ul, ul.time-table > li > span { position: relative; z-index: 1; }
ul.time-table > li:hover:before, ul.time-table > li.selected:before { height: 100%; } 

ul.time-table > li:hover > span, ul.time-table > li.selected > span { color: #fff; } 

ul.time-table { display: block; float: left; list-style-type: none; width: 100%; }	

ul.time-table > li { display: block; float: left; font-size: 14px; margin-bottom: 20px; margin-right: 2%; padding: 15px 20px 0; text-align: center; width: 32%; }
ul.time-table > li:nth-child(3n) { margin-right: 0; }
ul.time-table > li:nth-child(3n+1) { clear: both; } 

ul.time-table > li span { color: #ffffff; display: block; transition: all 300ms linear; -webkit-transition: all 0.3s linear; -ms-transition: all 0.3s linear; -o-transition: all 0.3s linear; }
ul.time-table > li ul.time-slots { display: inline-block; margin: 15px 0 10px ; padding: 5px 0 0; text-align: center; }
ul.time-table > li ul.time-slots > li { border: none; clear: both; display: block; float: left; margin: 0 auto 10px ; padding: 0; }
ul.time-table > li > p { font-size: 16px; margin: 0; }
ul.time-table > li > p > span { display: block; font-size: 13px; }	 


ul.time-table ul.time-slots > li a { color: #fff; display: inline-block; min-width: 100px; padding: 5px 17px; -webkit-transition: all 0.3s linear; transition: all 0.3s linear; -ms-transition: all 0.3s linear; }
ul.time-table > li ul.time-slots > li a.selected, ul.time-table > li ul.time-slots > li a.selected:hover { background: #1b1b1b; border-color: #1b1b1b; color: #fff; }
ul.time-table > li ul.time-slots > li:last-child { margin-bottom: 0; }
ul.time-table ul.time-slots > li a:hover { background: #1b1b1b; border-color: #1b1b1b; color: #fff; }

.page-with-sidebar ul.time-table > li { width: 18.3%; }
.page-with-sidebar ul.time-table > li:nth-child(6n) { margin-right: 2%; }
.page-with-sidebar ul.time-table > li:nth-child(5n) { margin-right: 0; }

ul.time-table > li:nth-child(6n+1), .page-with-sidebar ul.time-table > li:nth-child(5n+1) { clear: both; }

.personal-info { float: left; width: 100%; }
.personal-info .dt-sc-captcha { background-color: #1b1b1b; color: #fff; display: inline-block; padding: 7px 30px; }
.personal-info input[type="text"],.personal-info input[type="email"],.personal-info input[type="url"],.personal-info input[type="tel"],.personal-info input[type="number"],.personal-info input[type="range"],.personal-info input[type="date"],.personal-info textarea,.personal-info input.text { margin-bottom: 25px; }
.personal-info textarea { height: 110px; }

.ui-datepicker th { background: none; color: inherit; font-size: inherit; text-transform: none; }	
.ui-datepicker-header a { -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; transition: none; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { cursor: pointer; } 

/*** Reservation II Styles ***/
.dt-sc-schedule-box, .dt-sc-timeslot-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.step3 h2 { padding-bottom: 0; }
.dt-sc-service-box { margin-bottom: 20px; }
.dt-sc-timeslot-box { margin-bottom: 40px; }
.dt-sc-contactdetails-box { margin-bottom: 50px; }

.dt-sc-schedule-progress { float: left; margin-bottom: 10px; margin-right: 0; padding: 27px 10px 10px 10px; position: relative; text-align: center; width: 100%; width: 33.333%; }
.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 #cccccc; 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 { background-color: #fff; border: 1px solid #CCC; color: #CCC; 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; padding-top: 5px; } 
.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 { float: left; width: 100%; }
.dt-sc-contactdetails-box.steps input[type="text"],.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 { margin-bottom: 20px; }
.dt-sc-notification-box.steps.step3 .border-title { float: left; margin-bottom: 20px; padding-top: 20px; width: 100%; }

.dt-sc-notification-details-wrapper { border: 1px solid rgba(0,0,0,0.15); display: table; margin: auto; padding: 60px 75px 40px; width: 65%; }

.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 { color: #666; float: left; font-size: 16px; font-weight: bold; position: static; text-align: left; width: 100%; }
.dt-sc-notification-box.steps.step3 .dt-sc-notification-details .dt-sc-schedule-details { float: left; width: 100%; }
.dt-sc-notification-box.steps.step3 .dt-sc-about-project-form input.schedule-it { margin: 30px 0; }

.dt-sc-aboutproject-box { position: relative; width: 100%; float: left; min-height: 30px; }
.dt-sc-aboutproject-box #dt-sc-ajax-load-image { bottom: 22px; position: absolute; left: 50%; transform: translateX(-50%) scale(0.7); z-index: 99; opacity: 0.2; }
.dt-sc-aboutproject-box #dt-sc-ajax-load-image img { border-radius: 50%; }

.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 { background-color: #fff; border: 1px solid; color: inherit; float: none; margin: auto; position: relative; z-index: 1; -webkit-transition: all 0.3s linear 0s; transition: all 0.3s linear 0s; }
.dt-sc-goback-box .appointment-goback:hover { background-color: #1b1b1b; border-color: transparent; color: #fff; }

.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; }

.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 { margin: 0 0 20px; position: relative; }
.dt-sc-reservation-form.dt-appointment-form p > label { display: none; }
.dt-sc-reservation-form.dt-appointment-form .selection-box:after { background-color: #e5e5e5; width: 30px; right: 1px; }
.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: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-current-step .dt-sc-progress-step span { background-color: #1b1b1b; border-color: #1b1b1b; color: #FFF; }

.dt-sc-reserve-appointment2 ul.time-table { display: block; float: left; list-style-type: none; width: 100%; }

.dt-sc-available-times ul.time-slots { display: block; float: left; margin: 0; overflow: hidden; 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; padding: 0; width: 110px; }
ul.time-slots>li a { border: 1px solid; display: inline-block; min-width: 56px; padding: 5px 18px; position: relative; width: 100%; z-index: 1; transition: all 0.3s linear; }
.entry-content ul.time-slots>li a:hover { background-color: #1b1b1b; color: #FFF; -webkit-box-shadow: none; box-shadow: none; }
.dt-sc-appointment-contactdetails-form textarea { min-height: 150px; }
.dt-sc-schedule-progress.dt-sc-completed-step .dt-sc-progress-step span:before { background-color: #F0F0F0; color: #1b1b1b; } 

.dt-sc-person-item { display: inline-block; margin: 0 0 30px; position: relative; width: 100%; -moz-transition: all 0.3s linear; -webkit-transition: all 0.3s linear; transition: all 0.3s linear; }
.dt-sc-person-item:hover { -moz-box-shadow: 0 0 50px 0 rgba(0,0,0,0.10); -webkit-box-shadow: 0 0 50px 0 rgba(0,0,0,0.10); box-shadow: 0 0 50px 0 rgba(0,0,0,0.10); }

.dt-sc-person-item .person-details { display: inline-block; width: 100%; }
.dt-sc-person-item.type1 .person-details { background: none; padding: 0; position: static; }
.dt-sc-person-item.type1 .image { position: relative; text-align: center; }

.dt-sc-person-item.type1.dt-sc-team.flip-details-on-hover .dt-sc-team-thumb .figcaption span { display: inline-block; }
.dt-sc-person-item.type1.dt-sc-team.flip-details-on-hover .dt-sc-team-thumb .figcaption span:empty { display: none; }


.dt-sc-person-item.type2 { border: 1px solid rgba(0,0,0,0.1); padding: 30px; text-align: center; }
.dt-sc-person-item.type2 .image img { margin: 0 auto; max-width: 200px; -moz-border-radius: 100%; -webkit-border-radius: 100%; border-radius: 100%; } 
.dt-sc-person-item.type2 .person-details { margin-top: 30px; }
.dt-sc-person-item.type2 .person-details span { display: inline-block; margin-bottom: 5px; }
.dt-sc-person-item.type2 .person-details span:empty { display: none; }
.dt-sc-person-item.type2 .person-details > *:last-child { margin-bottom: 0; }
.dt-sc-person-item.type2 .person-details > .dt-sc-button { margin-bottom: 5px; }


.entry-content .dt-sc-service-item a, .entry-content .dt-sc-person-item a, ul.time-table > li ul.time-slots > li a, .entry-content .dt-sc-service-item a:hover, .entry-content .dt-sc-person-item a hover, ul.time-table > li ul.time-slots > li a:hover, .entry-content .dt-sc-service-item a:focus, .entry-content .dt-sc-person-item a:focus, ul.time-table > li ul.time-slots > li a:focus { -webkit-box-shadow: none; box-shadow: none; }

.entry-content .dt-sc-service-item a:hover, .entry-content .dt-sc-person-item a:hover, ul.time-table > li ul.time-slots > li a:hover { transition: all 0.3s linear; } 

.dt-sc-reserve-appointment.type1 h2.appointment-title { margin-bottom: 40px; }
.dt-sc-reserve-appointment.type1 h5 { font-size: 18px; margin-bottom: 10px; }
.dt-sc-reserve-appointment.type1 .dt-sc-button { text-transform: uppercase; letter-spacing: 2px; }
.dt-sc-reserve-appointment.type1 .dt-sc-button.medium { margin: 50px 0 0; }

.form-calender-icon { position: relative; z-index: 1; }
.form-calender-icon span { height: 0; line-height: 0; margin: auto; pointer-events: none; position: absolute; bottom: 0; right: 0; top: 0; text-align: center; width: 47px; z-index: 0; }
.selection-box.form-calender-icon:before { content: none; }

.dt-sc-appointment-scheduler-form .aligncenter .dt-sc-button { float: none; margin: 40px 0; }

.dt-sc-service-item, .dt-sc-service-item .image:after, .dt-sc-service-item .dt-sc-service-meta ul li, .dt-sc-service-item .dt-sc-service-meta ul li:before, .dt-sc-service-item .service-details .dt-sc-service-info { -webkit-transition: all 0.3s linear 0s; transition: all 0.3s linear 0s; }

.dt-sc-service-item { float: left; margin-bottom: 30px; padding: 30px; text-align: center; width: 100%; }
.dt-sc-service-item .image { margin: 0; position: relative; }
.dt-sc-service-item .image:after { 
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0,0,0,0)), color-stop(100%, rgba(0,0,0,.7)));
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 100%);
    background: -o-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 100%);
    background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 100%);
	content: ''; display: block; height: 100%; margin: auto; opacity: 0; position: absolute; bottom: 0; left: 0; right: 0; top: 0; width: 100%; }
.dt-sc-service-item:hover .image:after { opacity: 1; }

.dt-sc-service-item .service-details { float: left; position: relative; width: 100%; }
.dt-sc-service-item .service-details h3 { font-size: 24px; font-weight: 500; }

.dt-sc-service-item .service-details .dt-sc-service-info { margin-bottom: 20px !important; opacity: 0; position: absolute; bottom: 100%; left: 0; text-align: center; }
.dt-sc-service-item:hover .service-details .dt-sc-service-info { opacity: 1; }

.dt-sc-service-item .service-details .dt-sc-service-info > * { color: #fff; display: inline-block; font-size: 16px; margin: 5px 10px; padding: 0; position: relative; vertical-align: middle; }
.dt-sc-service-item .service-details .dt-sc-service-info > *:nth-child(2):nth-last-child(1):before { content: "\2010"; display: inline-block; font-weight: normal; margin: auto 0 auto -14px; position: absolute; bottom: 0; left: 0; top: 0; }

.dt-sc-service-item .service-details .dt-sc-service-info h6 span { display: none; }
.dt-sc-service-item .service-details .dt-sc-service-info h6, .dt-sc-service-meta ul li { display: inline-block; }

.dt-sc-service-item .service-details .dt-sc-service-meta { display: inline-block; margin: 0 auto; width: 100%; }
.dt-sc-service-item .service-details .dt-sc-service-meta ul, .dt-sc-service-item .service-details > .dt-sc-service-meta:last-child { margin-bottom: 0; }

.dt-sc-service-item .dt-sc-service-meta ul li { border-bottom: 1px solid #ddd; clear: both; display: inline-block; margin-bottom: 5px; padding-bottom: 5px; text-align: center; width: 100%; }
.dt-sc-service-item .dt-sc-service-meta ul li:last-child { border-bottom: none; padding-bottom: 3px; }
.dt-sc-service-item .service-details > .dt-sc-service-meta:last-child ul li:last-child, 
.dt-sc-service-item .service-details > .dt-sc-service-meta:nth-last-child(2) ul li:last-child { margin-bottom: 0; padding-bottom: 0; }

.dt-sc-service-item .service-details .dt-sc-service-meta li span { display: inline; margin-left: 10px; text-align: right; }

.dt-sc-service-item .service-details > p, .dt-sc-service-item .service-details .dt-sc-service-info { display: inline-block; width: 100%; }

.dt-sc-service-item .service-details > p, .dt-sc-service-item .service-details .dt-sc-service-info, .dt-sc-service-item .service-details .dt-sc-service-meta { margin-bottom: 20px; }

.dt-sc-service-item.type1 { background-color: transparent; display: inline-block; padding: 0; width: 100%; }
.dt-sc-service-item.type1 .image { float: left; width: 100%; }
.dt-sc-service-item.type1 .service-details { background-color: #fff; border: 1px solid #ddd; float: left; margin-bottom: 25px; padding: 30px 30px 45px; position: relative; text-align: center; width: 100%; }
.dt-sc-service-item.type1 .service-details .dt-sc-service-meta li strong { display: block; }
.dt-sc-service-item.type1 .service-details h3 a:not(:hover) { color: inherit; }
.dt-sc-service-item.type1 .service-details > .dt-sc-service-meta:nth-last-child(2) { margin-bottom: 0; }
.dt-sc-service-item.type1 .service-details > p:nth-last-child(2), 
.dt-sc-service-item.type1 .service-details h3:nth-last-child(2) { margin-bottom: 10px; }

.dt-sc-service-item.type1 .service-details .dt-sc-button { display: table; margin: 0 auto; position: absolute; left: 50%; top: 100%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.page-one-column .dt-sc-service-item .service-details .dt-sc-service-meta ul { margin-bottom: 0; }
.page-two-column .dt-sc-service-item.type1 .image, .page-two-column .dt-sc-service-item.type1 .service-details { width: 100%; }
.page-two-column .dt-sc-service-item.type1 .service-details { padding: 30px 50px; }

.dt-sc-service-item.type2 { padding: 30px 30px 20px;  text-align: left; }
.dt-sc-service-item.type2 .image { max-width: 100%; }

.dt-sc-service-item.type2 .service-details { padding-top: 15px; }
.dt-sc-service-item.type2 .service-details h3 { display: inline-block; font-size: 24px; margin: 0; vertical-align: top; }
.dt-sc-service-item.type2 .service-details h3 a { color: inherit }
.dt-sc-service-item.type2 .service-details p:last-child, .dt-sc-service-item.type2 .service-details .dt-sc-service-meta:last-child { margin-bottom: 10px; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta-wrap:last-child { margin-bottom: 0; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-meta li strong { display: none; font-weight: normal; }

.dt-sc-service-item.type2 .dt-sc-service-meta ul li, .dt-services-list .dt-sc-service-item .service-details .dt-sc-service-meta ul li { border-width: 0; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-meta li, 
.dt-services-list .dt-sc-service-item .service-details .dt-sc-service-meta ul li { padding-left: 35px; position: relative; text-align: left; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-meta li:before,
.dt-services-list .dt-sc-service-item .service-details .dt-sc-service-meta ul li:before { content: "\f00c"; display: inline-block; font-family: "Font Awesome 5 Free"; font-size: 14px; font-weight: 900; line-height: inherit; position: absolute; left: 0; top: 1px; }

.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta-wrap { float: left; margin-bottom: 20px; position: relative; width: 100%; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta-wrap:nth-child(1):nth-last-child(2) { margin-bottom: 0; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta-wrap > h3, .dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta { 
	display: -webkit-box;
    display: -webkit-flex;
	display: -ms-flexbox;

    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
	justify-content: flex-start;

	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;   

	min-height: 60px; margin: auto; -webkit-transition: all 0.3s linear 0s; transition: all 0.3s linear 0s; 
}
.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta { position: absolute; bottom: 0; left: 0; right: 0; top: 0; }

.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta { padding: 0 50px 0 0; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta h3 { font-size: 24px; margin-top: -4px; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta a.dt-sc-button { background: none; border: 1px solid; color: #fff; font-size: 0; height: 35px; margin: auto; padding: 0; position: absolute; bottom: 0; right: 35px; top: 0; text-align: center; width: 35px; -webkit-border-radius: 50%; border-radius: 50%; }
.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta a.dt-sc-button:before { content: "\f105"; display: inline-block; font-family: "FontAwesome"; font-size: 20px; line-height: 34px; margin-left: 2px; }
.dt-sc-service-item.type2:hover .service-details .dt-sc-service-title-meta a.dt-sc-button { right: 0; }

.dt-sc-service-item.type2:hover .service-details .dt-sc-service-title-meta-wrap > h3, .dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta { opacity: 0; visibility: hidden }
.dt-sc-service-item.type2:hover .service-details .dt-sc-service-title-meta { opacity: 1; visibility: visible; }

.dt-sc-service-item.type2:hover .service-details h3, .dt-sc-service-item.type2:hover .service-details h3 a, .dt-sc-service-item.type2:hover .service-details h4, .dt-sc-service-item.type2:hover .service-details h6, .dt-sc-service-item.type2:hover .service-details p, .dt-sc-service-item.type2:hover .service-details .dt-sc-service-meta li, .dt-sc-service-item.type2:hover .service-details .dt-sc-service-meta li:before { color: #fff; }
.dt-sc-service-item.type2:hover .service-details h3 a:hover { color: rgba(255,255,255,0.75); }

.page-two-column .dt-sc-service-item.type2 { padding: 50px 20px 50px; }
.page-two-column .dt-sc-person-item .dt-sc-button, .page-two-column .dt-sc-service-item .dt-sc-button { font-size: 14px; padding: 10px 15px; }
.page-two-column .dt-sc-service-item.type2 .service-details .dt-sc-service-meta li h6 { font-size: 14px; }
.page-two-column .dt-sc-service-item.type2 .service-details .dt-sc-service-meta li span { font-size: 12px; line-height:30px; } 

.dt-services-list { clear: none; display: inline-block; float: left; width: 100%; }
.dt-services-list .dt-sc-service-item { background-color: transparent; clear: both; margin: 0; margin-bottom: 30px; min-height: 120px; padding: 0; padding: 0 0 20px; position: relative; text-align: left; width: auto;

	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.dt-services-list .dt-sc-service-item:after { border-bottom: 1px solid #ddd; clear: both; content: ""; display: inline-block; float: left; height: 1px; margin: 0; position: absolute; bottom: 0; left: 0; width: 100%; }
.dt-services-list .dt-sc-service-item .image { float: left; margin: 0 30px 0 0; position: relative; width: auto; }	
.dt-services-list .dt-sc-service-item .image h4 { color: #fff; font-size: 18px; opacity: 0; padding: 0 10px; position: absolute; bottom: 0; left: 0; right: 0; text-align: center; z-index: 1; }
.dt-services-list .dt-sc-service-item:hover .image h4 { opacity: 1; }

.dt-services-list .dt-sc-service-item .service-details h3 a:not(:hover) { color: inherit; }
.dt-services-list .dt-sc-service-item .service-details .dt-sc-service-meta { margin: 0; width: auto; }
.dt-services-list .dt-sc-service-item .service-details .dt-sc-service-meta ul { margin-bottom: 0; }
.dt-services-list .dt-sc-service-item .service-details .dt-sc-service-meta ul li { border-width: 0; }

.intro-section .dt-services-list .dt-sc-service-item { border-bottom: none; }
.intro-section .dt-services-list .dt-sc-service-item .service-details h4 { float: right; margin: -25px 0 0; }
.intro-section .dt-services-list .dt-sc-service-item .service-details h3 { margin: 15px 0 0; }

.single.single-dt_service #header-wrapper { margin-bottom: 50px; } 

.dt-sc-dark-bg .dt-appointment-form input[type=text]::-webkit-input-placeholder { color: #FFF; }
.dt-sc-dark-bg .dt-appointment-form input[type=text]:-moz-placeholder { color: #FFF; opacity: 1; } 

.dt-sc-dark-bg .dt-appointment-form input[type=text]::-moz-placeholder { color: #FFF; opacity: 1; } 

.dt-sc-dark-bg .dt-appointment-form input[type=text]:-ms-input-placeholder { color: #FFF; } 

.dt-sc-dark-bg .dt-appointment-form select, .dt-sc-dark-bg .dt-appointment-form input[type=text] { border-color: #FFF; color: #FFF; } 

.dt-sc-dark-bg .selection-box:before { border-top-color: #FFF; } 

.dt-sc-dark-bg .dt-appointment-form select option { color: #5f5842; }
.app-form .dt-appointment-form p { margin-bottom: 0; }
.app-form .dt-appointment-form .dt-sc-button { background-color: #FFF; margin: 26px 0 0; width: 100%; }
.app-form .dt-appointment-form .dt-sc-button:hover { color: #FFF; } 


.dt-sc-reserve-appointment2 h2.appointment-title { width: 100%; text-align: center; }

@media only screen and (min-width: 992px) and (max-width: 1199px) { 

	.dt-sc-appointment-wrapper .dt-sc-reservation-title h2 { font-size: 40px; }
	.dt-sc-appointment-wrapper .dt-sc-reservation-form .dt-sc-one-third { margin: 0; padding: 0 15px 0 0; width: 50%; }
	.dt-sc-appointment-wrapper .dt-sc-one-third:nth-child(2n) { padding: 0 0 0 15px; }
	.dt-sc-appointment-wrapper .dt-sc-reservation-form .column.first { clear: none; }

	.dt-sc-person-item .person-details h3 { font-size: 22px; }
	.dt-sc-person-item .person-details h6 { font-size: 12px; font-weight: 500; letter-spacing: 0.1em; }
	.dt-sc-person-item.type1 .dt-sc-button { font-size: 13px; padding: 10px 20px; }

	.page-two-column .vc_col-sm-6 .dt-sc-service-item.type2 { padding: 50px 15px 50px; }
	.dt-sc-error-box:before, .dt-sc-warning-box:before, .dt-sc-success-box:before, .dt-sc-info-box:before { top: 12px; }	

	.dt-sc-notification-details-wrapper { width: 75%; }

}
 

@media only screen and (min-width: 768px) and (max-width: 991px) {  

	.dt-sc-appointment-wrapper .dt-sc-reservation-title { padding: 0px 0 30px; text-align: center; width: 100%; }
	.dt-sc-appointment-wrapper .dt-sc-reservation-form { margin: 0; width: 100%; } 
	.dt-sc-appointment-wrapper .dt-sc-reservation-form .dt-sc-one-third { margin: 0; padding: 0 15px 0 0; width: 50%; }
	.dt-sc-appointment-wrapper .dt-sc-one-third:nth-child(2n) { padding: 0 0 0 15px; }
	.dt-sc-appointment-wrapper .dt-sc-reservation-form .column.first { clear: none; }

	.vc_col-sm-4 .dt-sc-service-item .dt-sc-service-meta ul li { text-align: center; }
	.vc_col-sm-4 .dt-sc-service-item .service-details .dt-sc-service-meta li h6 { display: inline-block; float: none; width: 100%; }
	.vc_col-sm-4 .dt-sc-service-item .service-details .dt-sc-service-meta li span { display: inline-block; float: none; text-align: center; width: 100%; }
	.vc_col-sm-4 .dt-sc-service-item .dt-sc-button.medium { font-size: 10px; padding: 10px 10px 9px; }

	.dt-sc-service-item.type1 .image, .dt-sc-service-item.type1 .service-details { width: 100%; }

	.dt-sc-service-item .service-details .dt-sc-service-info { margin-bottom: 10px !important; }
	.dt-sc-service-item .service-details .dt-sc-service-info > * { font-size: 14px; }

	.dt-sc-service-item.type2 { padding: 20px 20px 15px; }
	.dt-sc-service-item.type2 .service-details h3 { font-size: 24px; }
	.dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta h3 { font-size: 18px; }

	.vc_col-sm-4 .dt-sc-person-item.type1 .dt-sc-button { font-size: 12px; padding: 10px 20px; }
	.dt-sc-person-item.type2 .image img { max-width: 100px; }

	.page-two-column .vc_col-sm-6 .dt-sc-service-item.type2 { padding: 50px 10px 50px; }
	.page-two-column .vc_col-sm-6 .dt-sc-person-item .dt-sc-button { font-size: 12px; padding: 8px 15px; }
	.page-two-column .vc_col-sm-6 .dt-sc-service-item .dt-sc-button { font-size: 12px; padding: 6px 10px; }
	.page-two-column .vc_col-sm-6 .dt-sc-service-item.type2 .service-details .dt-sc-service-meta li h6 { font-size: 11px; }
	.page-two-column .vc_col-sm-6 .dt-sc-service-item.type2 .service-details .dt-sc-service-meta li span { font-size: 10px; margin-left: 0; }

	.page-two-column ul.time-table > li { padding: 15px 15px 0; }

	.page-two-column ul.time-table > li ul.time-slots > li a { min-width: 80px; padding: 5px 5px; }
	.dt-sc-error-box:before, .dt-sc-warning-box:before, .dt-sc-success-box:before, .dt-sc-info-box:before { top: 12px; }

	.dt-sc-notification-details-wrapper { width: 90%; }
} 



@media only screen and (max-width: 767px) { 
	
	.column { margin-bottom: 20px; margin-left: 0; }

	.dt-sc-one-fourth, .dt-sc-one-half, .dt-sc-one-third, .dt-sc-three-fourth, .dt-sc-two-third, .dt-sc-one-fifth, .dt-sc-four-fifth, .dt-sc-three-fifth, .dt-sc-two-fifth, .dt-sc-one-sixth, .dt-sc-two-sixth, .dt-sc-three-sixth, .dt-sc-four-sixth, .dt-sc-five-sixth, .column.no-space.dt-sc-one-fourth, .column.no-space.dt-sc-one-third, .column.no-space.dt-sc-one-half, .column.no-space.dt-sc-one-fifth, .column.no-space.dt-sc-one-sixth, .column.no-space.dt-sc-three-fourth, .column.no-space.dt-sc-two-third, .column.no-space.dt-sc-four-fifth, .column.no-space.dt-sc-three-fifth, .column.no-space.dt-sc-two-fifth, .column.no-space.dt-sc-two-sixth, .column.no-space.dt-sc-three-sixth, .column.no-space.dt-sc-four-sixth, .column.no-space.dt-sc-five-sixth, .portfolio.column.dt-sc-one-fourth.no-space, .column.no-space.dt-sc-two-fifth, .wpb_column.no-space.dt-sc-two-fifth, .column.no-space.dt-sc-one-fifth, .wpb_column.no-space.dt-sc-one-fifth, .column.no-space.dt-sc-three-fifth, .wpb_column.no-space.dt-sc-three-fifth, .wpb_column.dt-sc-one-fifth, .column.wpb_column.dt-sc-one-fifth { width: 100%; }

	.dt-sc-appointment-wrapper .dt-sc-reservation-title { padding: 0px 0 30px; text-align: center; width: 100%; }
	.dt-sc-appointment-wrapper .dt-sc-reservation-form { margin: 0; width: 100%; } 
	.dt-sc-appointment-wrapper .dt-sc-reservation-form .dt-sc-one-third { margin: 0; padding: 0; width: 100%; }
	.dt-sc-appointment-wrapper .dt-sc-one-third:nth-child(2n) { padding: 0; }
	.dt-sc-appointment-wrapper .dt-sc-reservation-form .column.first { clear: none; }
	
	.service-details { clear: both; float: left; width: 100%; }

	.intro-section .dt-services-list .dt-sc-service-item .service-details h4 { float: left; margin: 0 0 0; width: 100%; }

	.dt-sc-service-item .service-details .dt-sc-service-meta, .dt-sc-service-item.type1 .image { width: 100%; }
	.dt-sc-service-item .dt-sc-button.medium:not(.with-icon) { font-size: 12px; padding: 14px 20px 13px; }

	.dt-sc-service-item.type2 .service-details span { font-size: 16px; line-height: 32px; }
	.dt-services-list .dt-sc-service-item { width: 100%; }

	.dt-sc-appointment-wrapper .dt-sc-reservation-form .show-time-shortcode { display: table; float: none; margin-left: auto; margin-right: auto; }

	.dt-sc-appointment-wrapper h6 { line-height: 30px; }
	.dt-sc-reserve-appointment.type1 .dt-sc-hr-invisible-medium:first-child { margin: 30px 0 0; }

	.dt-sc-notification-details-wrapper { padding: 35px 25px 15px; width: 100%; }
	.dt-sc-notification-details-wrapper .dt-sc-contact-info { padding-left: 0; }
	.dt-sc-notification-details-wrapper .column:last-child { margin-bottom: 0; }
	
	.fullwidth-icon-count .dt-sc-icon-box.type2.no-icon h5 { font-size: 18px; }
	.dt-sc-error-box:before, .dt-sc-warning-box:before, .dt-sc-success-box:before, .dt-sc-info-box:before { top: 14px; }
	
	.dt-sc-schedule-progress.step1 .dt-sc-progress-step:before,.dt-sc-schedule-progress.step3 .dt-sc-progress-step:after { content: ""; }

	ul.time-table > li { margin-right: 0; width: 100%; }
	.dt-sc-schedule-progress { width: 100%; }
}

@media only screen and (max-width: 479px) { 

	 .dt-sc-error-box:before, .dt-sc-warning-box:before, .dt-sc-success-box:before, .dt-sc-info-box:before { top: 12px; }
	 .dt-sc-appointment-wrapper .dt-sc-reservation-title h2 { font-size: 40px; }

	 .dt-sc-reserve-appointment.type1 h2.appointment-title { font-size: 40px; }

	 .dt-sc-person-item.type1 .dt-sc-button { font-size: 13px; }

	 .dt-sc-service-item .service-details .dt-sc-service-info { margin-bottom: 10px !important; }
	 .dt-sc-service-item .service-details .dt-sc-service-info > * { font-size: 14px; }

	 .dt-sc-service-item.type2 { padding: 25px 25px 20px; }
	 .dt-sc-service-item.type2 .service-details h3 { font-size: 24px; }
	 .dt-sc-service-item.type2 .service-details .dt-sc-service-title-meta h3 { font-size: 18px; }	 

	 .dt-sc-appointment-wrapper .dt-sc-reservation-form select option { font-size: 13px; }
	 
}	