html, body { height: 100%; }
html { overflow-y:scroll; }

/* Disables pull-to-refresh but allows overscroll glow effects. */
/*
body {
  overscroll-behavior-y: contain;
}
*/

/*
h1 {
    font-size: 22px;
    margin: 0 0 5px 0;
}
*/

.navbar-collapse {
    max-height:calc(100vh - 127px); !important;
}

.page-header {
    margin: 15px 0 20px;
}

.no-transition {
  -webkit-transition: height 0.01s;
  -moz-transition: height 0.01s;
  -ms-transition: height 0.01s;
  -o-transition: height 0.01s;
  transition: height 0.01s;
}

.theme-dropdown .dropdown-menu {
  position: static;
  display: block;
  margin-bottom: 20px;
}

.theme-showcase > p > .btn {
  margin: 5px 0;
}


.dropdown-submenu-hover {
    position: relative;
}

.dropdown-submenu-hover>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown-submenu-hover:hover>.dropdown-menu {
    display: block;
}

.dropdown-submenu-hover>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

dropdown-submenu-hover:hover>a:after {
    border-left-color: #fff;
}

.dropdown-submenu-hover.pull-left {
    float: none;
}

.dropdown-submenu-hover.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}


.marginBottom-0 {margin-bottom:0;}
.dropdown-submenu-click{position:relative;}
.dropdown-submenu-click>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
.dropdown-submenu-click>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;}
.dropdown-submenu-click:hover>a:after{border-left-color:#555;}
.dropdown-submenu-click.pull-left{float:none;}.dropdown-submenu-click.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;}



@media only screen and (max-width:767px){
    .myaccount-menu{
        display: block;
        position: static;
        background-color:transparent;
        border:0 none;
        box-shadow:none;
        margin-top:0;
        position:static;
        width:100%;
    }
    .navbar-nav .myaccount-menu > li > a, 
    .navbar-nav .myaccount-menu .dropdown-header {
        padding:5px 15px 5px 25px;
    }
    .navbar-nav .myaccount-menu > li > a{
        line-height:20px;
    }
    .navbar-default .navbar-nav .myaccount-menu > li > a{    
        color:#777;
    }
}

a.myaccount-info,
a.myaccount-info:hover {
	background-color:#e7e7e7 !important;
	color:#555 !important;
	cursor:default;
}

.dropdown-menu>.active>a, .dropdown-menu>.active>a:hover, .dropdown-menu>.active {
	color:#fff !important;
}

#footer {
	position: fixed;
	bottom:0;
    width:100%;
	height: 30px;
	clear:both;
	background-color: #f5f5f5;
	padding:5px 0 0 0;
	z-index:1200;
	border-top:1px solid #eee;
}

#my_account_frm {
	padding-right:0; 
	margin-right:0; 
	margin-left:20px;
}
#my_account_frm .dropdown-menu p {
	padding:5px 20px 0 20px;
}



/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  height: 635px;
  /*margin-bottom: 60px;*/
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel .item {
  height: 635px;
  background-color: #fff;
}
.carousel-inner > .item > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  height: 635px;
}



/* MARKETING CONTENT
-------------------------------------------------- */

/* Pad the edges of the mobile views a bit */
.marketing {
  padding-right: 15px;
  padding-left: 15px;
}

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 20px;
  text-align: center;
}
.marketing h2 {
  font-weight: normal;
}
.marketing .col-lg-4 p {
  margin-right: 10px;
  margin-left: 10px;
}


/* Featurettes
------------------------- */

.featurette-divider {
  margin: 80px 0; /* Space out the Bootstrap <hr> more */
}

/* Thin out the marketing headings */
.featurette-heading {
  font-weight: 300;
  line-height: 1;
  letter-spacing: -1px;
}

.noselect {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.my_account_form label {
	display:block;
}

.positive_balance { color:#009900; }
.negative_balance { color:#cc0000; }

.bs-wizard {margin-top: 40px; overflow:hidden; padding: 0 10px 40px 10px;}
.bs-wizard > .bs-wizard-step {padding: 0; position: relative;}
.bs-wizard > .bs-wizard-step + .bs-wizard-step {}
.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {color: #999; font-size: 16px; margin-bottom: 5px;}
.bs-wizard > .bs-wizard-step .bs-wizard-info {color: #999; font-size: 14px; font-weight:bold;}
.bs-wizard > .bs-wizard-step > .bs-wizard-dot {position: absolute; width: 30px; height: 30px; display: block; background: #99ccff; top: 45px; left: 50%; margin-top: -15px; margin-left: -15px; border-radius: 50%;} 
.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {content: ' '; width: 14px; height: 14px; background: #3399ff; border-radius: 50px; position: absolute; top: 8px; left: 8px; } 
.bs-wizard > .bs-wizard-step > .progress {position: relative; border-radius: 0px; height: 8px; box-shadow: none; margin: 20px 0;}
.bs-wizard > .bs-wizard-step > .progress > .progress-bar {width:0px; box-shadow: none; background: #99ccff;}
.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {width:100%;}
.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {width:50%;}
.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {width:0%;}
.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {width: 100%;}
.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {background-color: #f5f5f5;}
.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {opacity: 0;}
.bs-wizard > .bs-wizard-step:first-child  > .progress {left: 50%; width: 50%;}
.bs-wizard > .bs-wizard-step:last-child  > .progress {width: 50%;}
.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot{ pointer-events: none; }
.bs-wizard .bs-wizard-dot.img:after {
	background-color: transparent !important;
}

.online_booking a.list-group-item {
	color:#428bca;
}
.online_booking a.list-group-item:hover, 
.online_booking a.list-group-item:focus {
	color:#2a6496;
}

.ob_service_category_title { 
	margin-top:20px;
	color:#428bca;
}
.ob_services_list {
	margin:20px 0 20px 0;
	padding:0 10px 0 10px;
}
.ob_service_item {
	padding:10px 0 10px 0;
	border-top:1px dotted #ccc;
}
.ob_service_item:hover {
	background-color:#f5f5f5;
}
.ob_service_item span {
	line-height:30px;
	font-size:16px;
	font-weight:bold;
}
.ob_service_price {
	min-width:60px;
	margin-right:5px;
}
.ob_cart {
	margin-top:40px;
}
.ob_cart_total {
	font-weight:bold;
}
.ob_cart_btn {
	width:80px;
}
.ob_salon_selection {
	padding:4px 4px;
	margin-bottom:20px;
	background-color:#f5f5f5;
	border-radius:4px;
}
.ob_salon_selection select {
	width:150px;
	display:inline-block;
	margin-right:5px;
	float:left;
}
.ob_item_installment {
	width:160px;
	height:30px;
	display:inline-block;
	margin-right:5px;
}
.ob_item_staff {
	width:160px;
	height:30px;
	display:inline-block;
	margin-right:5px;
}
.ob_service_add {
	margin-top:-4px;
}

#ob_dates_list a {
	cursor:pointer;
}
#ob_dates_list a.disabled {
	cursor:default;
	color:#aaa;
}

#ob_select_date_message {
	margin-top:100px;
	cursor:default;
	text-align:center; 
	color:#ccc;
}
#ob_select_date_message span.glyphicon-calendar {
	margin-top:20px;
	font-size:60px; 
}

#ob_load_indicator {
	margin-top:100px;
	cursor:default;
	text-align:center; 
	color:#ccc;
}
#ob_load_indicator img {
	margin-top:20px;
}

#ob_calendar_control {
	text-align:center;
}
#ob_calendar_control h4 {
	margin-top:24px;
	color:#999;
}
#ob_calendar_control hr {
	margin-top:0;
}

#ob_msg {
	margin-top:0;
	cursor:default;
	text-align:center; 
	color:#ccc;
}

.ob_option_item {
	padding:10px 0 12px 0;
	border-bottom:1px dotted #ccc;
	cursor:default;
}
.ob_option_item:hover {
	background-color:#f5f5f5;
}
.ob_option_item table {
	width:100%;
}
.ob_option_item td {
	padding:0 5px;
}
.ob_option_title {
	vertical-align:middle; 
	text-align:center;
	font-weight:bold;
	font-size:16px;
}
.ob_option_action {
	vertical-align:middle; 
	text-align:center;
}

.ob_my_courses_item_desc {
	font-weight:normal !important;
	color:#000;
}

.ob_appointment {
	display:block;
	padding: 10px 10px 0px 10px;
	margin: 0 0 15px;
	border-style: solid;
	border-width: 1px 0;
	border-color: #ddd;
	border-width: 1px;
	border-radius: 4px 4px 4px 4px;
}
span.ob_appointment_title {
	color:#999;
	font-weight:bold;
}
.ob_appointment ul {
	list-style-type: none;
	padding: 5px 0 0 20px;
}

.ob_appointment li {
	padding:4px 0 4px 0;
	border-bottom:1px dotted #ccc;
}
.ob_appointment li:last-child {
	border: none;
}

ul.ob_summary {
	list-style-type: none;
	padding: 0;
	font-weight:bold;
	font-size:16px;
}
li.ob_summary_total {
}
li.ob_summary_deposit {
	color:#468847;
}

.ob_payment {
	background-color:#eee;
	padding: 10px 15px 15px 15px;
	border-style: solid;
	border-width: 1px 0;
	border-color: #ddd;
	border-width: 1px;
	border-radius: 4px 4px 4px 4px;
}

.ob_payment_btn {
	font-weight:bold;
	width:100%;
	text-align:left;
	margin:10px 0 0 0;
}

.ob_dob_control {
	display:inline; 
	width:110px; 
	margin-bottom:10px;
}

.my_account_items_header {
	float:left;
	padding: 8px 15px;
	margin-bottom: 20px;
	list-style: none;
	background-color: #f5f5f5;
	border:1px solid #eee;
	border-radius: 4px;
}

.ob_salon_selection label {
	margin:2px 0 2px 0;
}


/* messages panel */

.messages_panel .mp_salon_name {
	font-size:18px; 
	line-height:30px;
}

.messages_panel .mp_body {
	height:260px; 
	padding:15px 15px 5px 15px;
	overflow-y:scroll;
}

.mp_footer {
	
	padding:10px; 
	overflow:hidden;
}

.mp_footer table{
	width:100%; 
	margin:0; 
	padding:0; 
}

.mp_footer textarea,
.mp_footer button { 
	height:76px;
	margin:0;
}

.mp_footer textarea {
	resize:none;
}

.mp_salon_message_item,
.mp_client_message_item {
	border-radius:5px; 
	padding:5px 8px 8px 8px; 
	margin:0 0 10px 0; 
	display:block;
}

.mp_salon_message_item p,
.mp_client_message_item p {
	margin:0;
	padding:0;
}

.mp_salon_message_item {
	background-color:#c7edfc; 
}

.mp_salon_message_item span {
	font-weight:bold; 
	color:#4078ac;
}

.mp_salon_message_item_unread {
	background-color:#f9f2c9; 
}

.mp_salon_message_item_unread span {
	font-weight:bold; 
	color:#ae8b00;
}

.mp_client_message_item {
	background-color:#e5f7fd; 
}

.mp_client_message_item span {
	font-weight:bold; 
	color:#5095cc;
}


/* my account page filter form */

.ma_pag_filter_form label {
	display:block; 
	float:left;
	margin:0 5px 0 0;
}

.ma_pf_submit_btn_c {
	display:block; 
	float:left; 
	padding:20px 0 0 0;
} 


/* my account dropdown menu */
.dropdown-menu {
	min-width:220px;
}

/* SKETCH (client and staff signature) */
.sketch {
	position: relative;
	background-color:#fff;
}
.sketch_canvas {
	border: 1px solid #f79646;
	
	touch-action: none;
	-ms-touch-action: none;
}
.sketch_canvas_tmp {
	position: absolute;
	top: 0; 
	left: 0;
	cursor: crosshair;
	border: 1px solid #f79646;
	
	touch-action: none;
	-ms-touch-action: none;
}

/* POS APP MIN, CLOSE BUTTONS */
.pos_app_btn {
	position:absolute; 
	z-index:120;
	top:0; 
	width:40px; 
	height:40px; 
	background:rgba(0,0,0, 0.5); 
	border:1px solid #333;
	background-clip: padding-box;
	color:#fff;
	text-align:center;
	font-size:18px;
	line-height:40px;
	z-index:2000;
}
.pos_app_btn:hover,
.pos_app_btn:active {
	background:rgba(0,0,0, 0.2); 
}
#pos_app_minimize_btn {
	border-bottom-left-radius: 4px;
	right:41px;
}
#pos_app_close_btn {
	right:0;
	color:#ff2828;
}

.longText {
	word-break: break-all;
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -o-pre-wrap; /* Opera 7 */
	white-space: pre-wrap;  /* CSS 2.1 */
	white-space: pre-line; /* CSS 3 */
	word-wrap: break-word; /* IE */
}

#consent_form_pag select,
#consent_form_pag input {
	min-width:100px;
}

.apd_option_btn {
    cursor:pointer; 
    background-color:#607D8B; 
    color:#fff; 
    width:100%; 
    text-align:center; 
    font-weight:bold; 
    line-height:42px; 
    margin:0 0 10px 0;
    border-radius:4px;
    border:none;
    padding:0;
}

/* MOBILE FOOTER MENU */ 
.mobile_footer {
    background-color:#efefef; 
    padding:5px; 
    height:77px; 
    overflow:hidden; 
    position:fixed; 
    bottom:30px;
    z-index:2000;
    width:100%;
    border-top:1px solid #ccc;
}

.mobile_footer_btn_label {
    display:block;
    text-align:center;
    font-size:12px;
}

.mobile_footer_btn_icon {
    font-size:30px;
}

.btn_mobile_footer {
    text-align:center;
    padding:6px;
    width:95%;
}

.mobile_full_menu {
   display:none;
   position:absolute;
   left:0;
   top:0;
   width:100%;
   background:#fff;
   z-index:3000;
   padding:5px;
}

.app_mobile_full_menu {
   display:none;
   position:absolute;
   left:0;
   top:0;
   width:100%;
   background:#fff;
   z-index:3000;
   padding:5px;
}

.mobile_full_menu_spacer {
    background-color:#efefef; 
    height:1px; 
    margin:10px 0 6px 0;
    width:100%; 
    clear:both;
}

.btn_mobile_full_menu {
    text-align:center;
    padding:6px;
    margin:5px 0;
    width:98%;
}

.btn_mobile_full_menu_label {
    display:block;
    text-align:center;
    font-size:12px;
    text-transform:uppercase;
}

.btn_mobile_full_icon {
    font-size:30px;
}


/* mobile client appointments */
.client_appointment_options_mobile {
    border-top:none !important;
    padding-top:0 !important;
}


/* staff appointments */
.ap_tab {}

.navbar_shop_menu:hover {
    background-color: #f3f3f3;
}
.navbar_shop_menu:hover>.dropdown-menu {
    display:block;
}
.navbar_shop_menu:hover>a {
    color: #777 !important;
}

.navbar_shop_active {
    background-color: #e7e7e7;
    color: #555;
}

.shop_sidebar_section {
    font-size:16px; 
    border-bottom: 1px solid #eee; 
    height:30px;
}

.shop_sidebar_list {
    list-style-type:none; 
    padding:0; 
    margin:20px 0 0 0;
}
.shop_sidebar_list li {
    padding:2px 0;
}


ul.dropdown-cart{
    min-width:250px;
}
ul.dropdown-cart li .item{
    display:block;
    padding:3px 10px;
    margin: 3px 0;
}
ul.dropdown-cart li .item:hover{
    background-color:#f3f3f3;
}
ul.dropdown-cart li .item:after{
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

ul.dropdown-cart {
    width:300px;
}
ul.dropdown-cart li .item-left{
    float:left;
}
ul.dropdown-cart li .item-left img,
ul.dropdown-cart li .item-left span.item-info{
    float:left;
}
ul.dropdown-cart li .item-left span.item-info{
    margin-left:10px;   
}
ul.dropdown-cart li .item-left span.item-info span{
    display:block;
}
ul.dropdown-cart li .item-right{
    float:right;
}
ul.dropdown-cart li .item-right button{
    margin-top:14px;
}


.borderless td, .borderless th {
    border: none !important;
}
.borderless td {
    padding:0 !important;
}

.nav_search_form_container {
    display:none;
    position: absolute; 
    top: 50px; 
    right: 0px; 
    width: 300px; 
    background-color: #e7e7e7; 
    border: 1px solid #e7e7e7; 
    border-radius: 4px; 
    border-top-left-radius: 0; 
    border-top-right-radius: 0; 
}
.nav_search_form_container_position_left {
    left: 0px; 
}
.nav_search_form_container_position_right {
    right: 0px; 
}
.nav_search_form { 
    padding:0 10px;
}
.nav_search_active {
    background-color: #e7e7e7 !important;
}

.featherlight .featherlight-content {
    padding:0px !important;
}

#ob_dates_list a.active {
    color:#fff !important;
}

.select2-search__field {
  width: 100% !important;
}
.select2-selection__choice__remove {
    font-size: 19px !important;
    line-height: 16px !important;
    color:#ff0000 !important;
}

.staff_login_selectable {
    background-color: #428bca;
    color: #fff !important;
}

.staff_login_selectable:hover,
.staff_login_selectable:active {
    background-color:#2e5e88 !important;
}

@font-face {
  font-family: 'dotsfont';
  src: url('/static/dotsfont/dotsfont.eot');
  src: url('/static/dotsfont/dotsfont.eot?#iefix') format('embedded-opentype'),
       url('/static/dotsfont/dotsfont.woff') format('woff'),
       url('/static/dotsfont/dotsfont.ttf') format('truetype'),
       url('/static/dotsfont/dotsfont.svg#dotsfontregular') format('svg');
}


.load_ind_overlay {
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:999999;
    background-color:rgba(0,0,0,0.5);
    overflow:hidden;
}
.load_ind_overlay_img {
    position:fixed;
    top:50%;
    left:50%;
    width:32px;
    height:22px;
    margin-top: -11px;
    margin-left: -16px;
    background: url('/static/img/loading.gif') no-repeat; 
}



/*
.toggle-check {
    position:relative;
}
*/

.toggle-check-input {
    /*
    position: absolute;
    left:-20px;
    width:20px !important;
    height:20px !important;
    */
    display:none;
}

.toggle-check-text {
  display: inline-block;
  position: relative;
  text-transform: uppercase;
  background: #CCC;
  padding: 0.25em 0.5em 0.25em 2em;
  border-radius: 1em;
  width: 4em;
  color: #FFF;
  cursor: pointer;
  transition: background-color 0.15s;
}

.toggle-check-text:after {
  content: ' ';
  display: block;
  background: #FFF;
  width: 1.1em;
  height: 1.1em;
  border-radius: 1em;
  position: absolute;
  left: 0.3em;
  top: 0.25em;
  transition: left 0.15s, margin-left 0.15s;
}

.toggle-check-text:before {
  content: 'No';
}

.toggle-check-input:checked ~ .toggle-check-text {
  background: #8ad869;
  padding-left: 0.5em;
  padding-right: 2em;
}

.toggle-check-input:checked ~ .toggle-check-text:before {
  content: 'Yes';
}

.toggle-check-input:checked ~ .toggle-check-text:after {
  left: 100%;
  margin-left: -1.4em;
}

.table>thead>tr>th, 
.table>tbody>tr>th, 
.table>tfoot>tr>th, 
.table>thead>tr>td, 
.table>tbody>tr>td, 
.table>tfoot>tr>td {
    border-top: none;
}


.flags-container.row {
	display: flex !important;
	flex-flow: row;
	justify-content: center;
	align-items: center;
}

.flags-container .flag {
	width: 2rem;
	height: 1.5rem;
	margin: 0 .5rem;
	
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;

	cursor: pointer;
}

.flags-container .flag[selected] {
	box-shadow: 0 0 2rem 1.9px #0063ff;
}

/**
Booking Interval
 */

.input-daterange {
	display: flex;
	flex-direction: row;
	width: 100%;
}

.input-daterange input,.input-daterange select, .input-daterange .input-group-addon, .input-daterange .input-group-btn{
	display: flex;
	flex-direction: column;
	width: 100%;
}

/**
Products on booking confirmation
 */
.products-in-cart{
	display: block;
	padding: 10px;
	border:1px solid #ddd;
	margin-top: 15px;
	margin-bottom: 15px;
	border-radius: 4px;
}

.products-in-cart p {
	color: #999;
	font-weight: bold;
}

ul.cart-shop-products {
	list-style: none;
	padding: 0;
}

ul.cart-shop-products li {
	display: flex;
	flex-direction: row;
	background: #eee;
	padding: 5px;
	border-bottom: 1px solid #fff;
	align-items: center;
	gap: 20px;
}

ul.cart-shop-products li span {
	display: flex;
	flex-direction: column;
	width: 100%;
}

ul.cart-shop-products li span.product-cart-remove{
	width: 30%;
}

ul.cart-shop-products li span.product-title{
	text-transform: uppercase;
}

ul.cart-shop-products li span.product-price{
	text-align: right;
}

ul.cart-shop-products li span.cart-shop-total{
	font-weight: 700;
	text-transform: uppercase;
}

ul.cart-shop-products li span.cart-shop-total-value{
	text-align: right;
	font-weight: 700;
}

ul.delivery-method-list{
	list-style: none;
	padding: 5px 0 0 20px;
}

ul.delivery-method-list li label{
	font-weight: 400;
}

.ob_payment_btn {
	background-color: #5bc0de; !important;
	color: #fff !important;
}

.ob_payment_btn:hover{
	background-color: #31b0d5 !important;
}

.btn-cs-default {
	background-color: var(--button-color);
	color: #fff;
}

.btn-xxl {
	display: block;
	width: 100%;
	margin:0 auto;
	font-size: 1.8rem;
	line-height: 2.4rem;
	padding: 1rem 1.5rem;
}

ul.ob_select_location_list{
	list-style: none;
	padding: 0;
}


ul.ob_select_location_list li {
	margin-bottom: 1rem;
}

ul.ob_select_location_list li a{
	display: block;
	padding: 1rem 1.5rem;
	background-color: var(--button-color);
	color: #fff;
	border-radius: 4px;
}

/* added by David */

   

/* CSS */
.btn-custom {
  all: unset;
  font-size: 1rem;
  font-weight: 300;
  background: transparent;
  border: none;
  color: #f0f0f0;
  cursor: pointer;
  display: inline-block;
   position: relative;

  z-index: 1;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  max-width: 280px;
}

.btn-custom::after,
.btn-custom::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -99999;
  transition: all .4s;
}

.btn-custom::before {
  transform: translate(0%, 0%);
  width: 100%;
  height: 100%;
  background: #28282d;
  border-radius: 10px;
}

.btn-custom::after {
  transform: translate(10px, 10px);
  width: 35px;
  height: 35px;
  background: #ffffff15;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 50px;
   z-index: -1;
}

.btn-custom:hover {
   color: #f0f0f0;
}

.btn-custom:hover::before {
  transform: translate(5%, 20%);
  width: 110%;
  height: 110%;
}

.btn-custom:hover::after {
  border-radius: 10px;
  transform: translate(0, 0);
  width: 100%;
  height: 100%;
}

.btn-custom:active::after {
  transition: 0s;
  transform: translate(0, 5%);
}

.how-it-works {
   background: #f5f5f5;
   padding: 40px;
   padding-bottom: 10px;
   border-radius: 15px;
   margin-bottom: 40px;
}

.bg-image {
   background-image: url('https://connect.clinicsoftware.com/en/storage/files/9.jpg');
   background-size: cover;
   background-position: center;
   border-radius: 15px;
   padding: 40px;
   margin-bottom: 40px;
   height: 300px;
}


@media (max-width: 768px) {
   .img-wrapper {
      flex-direction: column;
      align-items: center;
      text-align: center;
   }

   .img-responsive {
      width: 80%;
      margin: 10px 0;
   }

   .header-container {
      padding-bottom: 20px;
      align-items: center;
      text-align: center;
   }

   .btn-custom {
      max-width: 80%;
      margin-right: 0;
      margin-left: 25px;
   }

   .img-responsive:first-child {
      margin-bottom: 40px;
   }

   .img-responsive:last-child {
      display: none;
   }

   .how-it-works {
      padding: 20px;
      border-radius: 0 !important;
   }
}

    .page-hero {
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: start;
    }

    .page-hero__subtitle {
        font-size: 1.1rem;
        font-weight: 200;
        color: #666;
        margin-bottom: 10px;
    }

    .page-hero__title {
        font-size: 1.8rem;
        font-weight: 700;
        color: #333;
        margin-bottom: 10px;
    }

    .page-separator {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 1.5rem;
        font-weight: 700;
        color: #333;
        margin: 60px 0;
    }

.page-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    text-align: start;
    gap: 20px;
}

.stats-card {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    text-align: start;
    justify-content: center;
    line-height: 0.4;
}

.stats-card__number {
    font-size: 1rem;
    font-weight: 700;
    color: #444;
    text-align: start;
    margin-right: auto;
}

.stats-card__title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #333;
}

.stats-card__description {
    font-size: 1rem;
    font-weight: 200;
    color: #666;
}

@media (max-width: 1200px) {
    .page-stats {
        grid-template-columns: repeat(2, 1fr);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .page-hero {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .page-hero__subtitle {
        font-size: 1rem;
        font-weight: 200;
        color: #666;
        margin-bottom: 10px;
    }

    .page-hero__title {
        font-size: 1.5rem;
        font-weight: 700;
        color: #333;
        margin-bottom: 10px;
    }

    .page-separator {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 1.5rem;
        font-weight: 700;
        color: #333;
        margin: 60px 0;
    }

    .stats-card {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        text-align: start;
        justify-content: center;
        line-height: 0.4;
        margin-bottom: 20px;
    }
}


@media (min-width: 640px) {
    .custom-class {
        margin-left: -7rem;
        margin-top: -2.5rem;
        width: 8rem;
    }
}

@media (max-width: 1200px) {
	    .introduction {
        align-items: center;
        border-radius: 0 !important;
        display: flex;
        flex-direction: column;
        gap: 2rem;
        padding: 0;
    }
    .introduction .introduction-content {
        padding: 0 1rem;
    }
    .introduction .introduction-content h1 {
        font-size: 1.5rem;
        text-align: center;
    }
    .custom-section {
        padding: 0 !important;
    }
    .our-promise .our-promise-content h1 {
        font-size: 1.5rem;
        text-align: center;
    }
    .our-promise .our-promise-content p {
        font-size: 1.1rem;
        text-align: center;
    }
    .our-promise {
        padding: 0 1rem !important;
    }
    .our-promise .our-promise-content {
        padding: 0 1rem !important;
    }
    .key-benefit-content h1 {
        font-size: 1.5rem;
        text-align: center;
    }
    .key-benefit-content p {
        font-size: 1.1rem;
        text-align: center;
        text-align: flex-start;
    }
    .key-benefit-content {
        padding: 0 1rem !important;
    }
    .key-benefit-wrapper h2 {
        font-size: 1.5rem;
    }
    .key-benefit {
        align-items: center;
        border-radius: 0 !important;
        display: flex;
        flex-direction: column;
        padding: 0 1rem !important;
    }
    .key-benefit-header {
        padding: 0 1rem !important;
    }
    .features-for-team-content h1 {
        font-size: 1.5rem;
        text-align: center;
    }
    .features-for-team {
        padding: 0 1rem !important;
    }
}
@media (max-width: 768px) {
    h1 {
        font-size: 1.5rem;
    }
    p {
        font-size: 1rem;
    }
    .img-wrapper {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        margin-left: 0 !important;
        padding: 0 1rem;
    }
    .img-wrapper img {
        width: 80% !important;
    }
}
@media (max-width: 576px) {
    h1 {
        font-size: 1.2rem;
    }
    p {
        font-size: 0.9rem;
    }
}
