*,html,body{
	-webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
}

@font-face{font-family:'SF';font-style:normal;font-weight:400;src:local("SF"),url(fonts/sf.ttf) format("truetype")}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local("SF"),url(fonts/OpenSans-Regular.ttf) format("truetype")}


.reviewTable { max-width: 860px; margin: 0 auto; border-collapse:collapse; }

.reviewTable .reviewRow:nth-child(odd) {
  background-color: white;
}
.reviewTable .reviewRow:nth-child(even) {
  background-color: #f3f3f3;
}

.reviewTable td{
  padding: 10px;
  font-size: 0.8em;
}
.reviewTable > .reviewRow:nth-child(odd) {
  background-color: white;
}

.reviewTable > .reviewRow:nth-child(even) {
  background-color: #f3f3f3;
}

.reviewRow label {
    display: grid;
    grid-template-columns: 25px 80px 80px 70px 1fr;
    padding: 12px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    align-items: start;
  }
.reviewRow label:hover { background: #f9f9f9; }

.reviewRating {
	font-size: 0.8em;
	color: #f59e0b;
}
.selectReviews{
	display:none;
}

/*** MENU ***/
/* newmenu button */
.newmenu {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1001;
}

.newmenu span {
  display: block;
  width: 25px;
  height: 3px;
  background: #4a4949;
  margin: 5px 0;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.newmenu.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 6px);
}

.newmenu.active span:nth-child(2) {
  opacity: 0;
}

.newmenu.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -6px);
}

.nav-overlay {
  display: none;
}


/***SPINNING LOADER***/
#loader {
	display: none;
        text-align: center;
        margin: 20px 0;
}
.spinner {
	border: 4px solid #f3f3f3;
        border-top: 4px solid #555;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        animation: spin 1s linear infinite;
        margin: 0 auto;
}
@keyframes spin {
        0%   { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
}

/**** spinnin modal ****/

.gmb-spinner {
    width: 40px;
    height: 40px;
    margin: 0 auto 15px;
    border: 4px solid #ddd;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: gmb-spin 0.8s linear infinite;
}

@keyframes gmb-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
/*** END SPINNING***/


.scroll{
	float: left;
	width: 25%;
	overflow-y: auto;
	max-height: 800px;
}
.thumb:hover{
	cursor: pointer;
}
body{
	background: #eeede9;
	font: 1em/1.4 'SF', arial, sans-serif;
}
strong{
	font-family: Lato, arial, sans-serif;
}



/**
header{
	width: 100%;
	float:left;
	padding: 0% 1% 2% 1%;
}
**/

header div a{
	color: #999;
	text-decoration:none;
}
header div a:hover{
	color: #000;
}

/**
header ul{
	width: 90%;
	margin: 0px 0px;
	list-style:none;
	float:left;
}

header ul li{
	float: left;
	padding: 14px 1%;
}

**/

header ul li a{
	text-decoration:none;
	color: #666666;
}
header ul li a:hover{
	color: #000;
	text-decoration:none;
}

header{
    display:flex;
    align-items:center;
	margin: 0 auto;
}

header ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;

}

header ul li{
    list-style:none;
    padding:14px 10px;
}

.signout{
    text-align: right;
    margin-bottom: 10px;
    font-size: 10px;
}

.nav-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.logo{
    display: block;
    height: 30px;
    margin-left: -100px;
}







#main{
	clear:both;
}

fieldset{
	border: 1px solid #bbb;
	padding: 2%;
}
legend{
	border: 0px solid #bbb;
	font-size: 0.8em;
	padding: 3px 5px;
}
#content{
	width: 90%;
	background: #FFFFFF;
	margin: 0px auto;
	padding: 3% 3% 5% 3%;
	box-shadow: 0px 0px 5px #ccc;
}


.redbutton{
	background: #e66249;
	color: #FFF;
	border-radius: 3px;
	padding: 5%;
	text-decoration:none;
	display: inline-block;
	border: 1px solid transparent;
}
.redbutton:hover{
	border: 1px solid #912713;
	cursor:pointer;
	text-decoration:none;
}


.tlink2{
        color: #333;
 	text-decoration: underline #c2dffb;
}


.list{
	border-spacing: 0px;
	border-collapse: separate;
	width: 100%;
}
.list th{
	text-align:left;
}
.list td{
	padding: 1%;
	font-size: 0.9em;
}
.list tr:nth-child(even) > td{
	background: #f3f3f1;
}
.list tr:nth-child(odd) > td{
	background: #FFF;
}

.rollover tr:not(:first-child):hover td {
	background: #FFFDE7;
}
a{
	text-decoration: none;
	color: #0072bc;
}


a:hover{
	text-decoration: underline;
}
a i:hover{
}
i{
	color: #24a035;
}
.list th a{
	color: #3c9fd8;
}



footer{
	width: 100%;
	text-align:center;
	margin: 3% 0%;
}

.clear{
	clear:both;
}

/************** LOCAL PICS ****************/
#localPics input[type="text"]{
}
#localPicsEdit{
	display:none;
}
/********************* PROFILE *****************/
.list input[type="text"], .table input[type="text"], .list2 input[type="text"]{
	width: 100%;
	border-radius: 3px;
	margin: 0px;
	padding: 2%;
	border: 1px solid #CCC;	
}
.list textarea, .table textarea, .list2 textarea{
	width: 100%;
	border-radius: 3px;
	margin: 0px;
	padding: 2%;
	border: 1px solid #CCC;	

}

/************** LOGIN *****************/
#loginBox{
	padding: 4% 0px 0px 0px;
	min-height: 350px;
}
#loginBox input{
	width: 40%;
	font: 1.3em/1 'Lato',sans-serif;
	padding: 2px;
}
#loginBox input[type='submit']{
	padding: 8px;
	cursor: pointer;
}
#loginBox .box{
	width: 40%;
	margin: 0px auto;
	border-radius: 4px;
	border: 1px solid #009cfe;
	padding: 2.5%;
	text-align: center;
}


/****************** SPAM ******************/
.legend{
	border: 1px solid #BABABA;
        background: #f8fcf3;
        padding: 1%;
}

/***************** CITATIONS **************/

.assuranceRemove {
    display: inline-block;
    padding: 3px 8px;
    background: #e74c3c;
    color: #fff;
    font-size: 12px;
    border-radius: 7px;
    width: 100%;
    text-decoration: none;
    transition: background 0.2s;
}

.assuranceRemove:hover {
    background: #c0392b;
    color: #fff;
    text-decoration: none;
}

.input-error {
    display: none;
    color: #e74c3c;
    font-size: 12px;
    margin-top: 4px;
    padding: 4px 8px;
    background: #fdecea;
    border-left: 3px solid #e74c3c;
    border-radius: 3px;
}

.input-error.visible {
    display: inline-block;
}

.input-has-error {
    border: 1px solid #e74c3c !important;
    background: #fdf2f2 !important;
}
.button, .buttonNoAction{
	font-size: 0.8em;
	color: #FFF;
	border-radius: 3px;
	padding: 5px 20px;
	margin-right: 5px;
	text-decoration:none;
	display: inline-block;
}
.button:hover, .buttonNoAction:hover{
	cursor:pointer;
	text-decoration:none;
}
.blue{
	color: #FFF;
	background: #1579e6;
	border: 1px solid transparent;
}
.blue:hover{
	background: #0f5eb4;
}
.grey{
	color: #1579e6;
	background: #f3f3f3;
	border: 1px solid transparent;
}
.grey:hover{
	background: #e8e6e6;
}
.white{
	color:  #1579e6;
	background: #FFF;
	border: 1px solid #dadce0;
}
.white:hover{
	background: #f6fafe;
}
.red{
	background: #e66249;
}
.red:hover{
	background: #912713;
}

.subMenu{
	border-radius: 3px;
	padding: 6px 9px;
	font-size: 0.8em;
	color:  #1579e6;
	background: #FFF;
	border: 1px solid #dadce0;
	text-decoration:none;
}
.subMenu:hover, .subMenu:hover > i{
	background:  #1579e6;
	color:#FFF;
	text-decoration:none;
	cursor:pointer;
}
.subMenu > i{
	color: #1579e6;
}

.active{
	/*background: #0072bc;*/
	border: 1px solid #1579e6;
	color:#1579e6;
}
.locationFilter{
	color: #000;
}
.locationFilter > div{
position: relative; 
overflow: hidden;
	width: 25%;
	display:inline-block;
	margin-right:20px;
	border-radius:3px; 
	border: 1px solid #e3e8ee;
	padding: 2%;
}
.locationFilter > div::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 80px;
  height: 80px;
  background: #FAFAFA;
  border-radius: 50%;
  z-index: 0;
}
.locationFilter > div > span{
	font-size: 1.5em;
}
.locationFilter > div:hover{
	border: 1px solid #333;
}
.locationList{
	text-decoration:none;
}
.locationList > div{
	border: 1px solid #e3e8ee;
	padding: 2%;
	border-radius: 3px;
	text-decoration:none;
	color: #000;
}
.locationList > div:hover{
	border: 1px solid #333;
}


.ai-suggestion-btn {
	background: linear-gradient(135deg, #6c63ff, #a471f9);
	color: #FFF;
	font-size: 0.8em;
	border: none;
	padding: 5px 10px;
	border-radius: 3px;
	cursor: pointer;
	box-shadow: 0 4px 10px rgba(108, 99, 255, 0.3);
	transition: all 0.3s ease;
	text-decoration:none;
}

.ai-suggestion-btn:hover {
 	background: linear-gradient(135deg, #7e75ff, #b085fb);
	box-shadow: 0 6px 16px rgba(108, 99, 255, 0.4);
	transform: translateY(-2px);
	text-decoration:none;
}

#aiSuggestDescription{
	background:#cde0f9;
	padding: 2%;
	display:none;
}

.citation{
	padding: 0px;
	border-bottom: 1px #dadce0 solid;
	word-wrap:break-all;
	overflow-wrap:anywhere;
	white-space:normal;
}
.citation i{
	color: #000;
}
.citation .ion-edit{
	display: none;
}
.citation .display{
	display: block;
	padding: 2% 0.5%;
}
.citation .display:hover .ion-edit{
	display: inline-block;
} 
.citation .display:hover{
	cursor: pointer;
	background: #f6f6f6;
}
.citation .edit{
	display: block;
	padding: 2% 0.5%;
}

.citation .edit input[type="text"], .citation .edit input[type="url"]{
	padding: 2% 1.5%;
	width: 90%;
	border: 1px solid #777;
	border-radius: 3px;
	margin: 1.5% 0px 2% 0px;
}

.citation .edit textarea{
	padding: 2% 1.5%;
	width: 90%;
	border: 1px solid #777;
	margin: 1.5% 0px 2% 0px;
	font-family: Lato, Arial, sans-serif; 
	font-size: 1em;
	color: #333
}

.citation .edit input[type="date"]{
	border: 0px;
	width: 100%;
}

.citation select{
	margin: 10px 0px 0px 0px;
	border-radius: 3px;
	border: 1px solid #bbb;
	padding: 2%;
	max-width: 50%;
}

.citation select.time{
	margin: 0px 0px 0px 0px;
	border-radius: 3px;
	border: 0px solid #bbb;
	padding: 2%;
	width: 100% !important;
	max-width: 100% !important;
}

.citation fieldset{
	padding: 5px;
	margin: 0px;
	border-radius: 3px;
	width: 50%;
    	display: inline-block;
    	vertical-align: middle;
    	margin-right: 10px;
}

.citation .edit fieldset input[type="text"]{
	padding: 2% 1.5%;
	width: 100%;
	border: 0px solid #FFF;
	margin: 0px;
}
.citation .edit fieldset input[type="text"]:focus {
    border-color: #FFF; 
    outline: none; 
    background-color: #FFF;
}

.citation .pendingEdits{
	margin-top:2px;
	font-size:0.6em;
	color:#eb740b;
}


#categoryDropdown {
        max-width: 50%;
        max-height: 300px;
        overflow-y: auto;
        display: none;
        border: 1px solid #ccc;
        position: absolute;
	background: #f6fafe;
        z-index: 1000;
	margin-top: 0px;
}
.category-option {
        padding: 8px;
        cursor: pointer;
}
.category-option:hover {
        background: #f0f0f0;
}
.category-highlight {
        font-weight: bold;
        color: #1579e6;
}

.categoryWrapper {
    display: flex;
}


.removeItem i, .removeItemTimeBlock i {
    display: inline-block;
    vertical-align: middle;
    color: #666;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
}

.removeItem i:hover, .removeItemTimeBlock i:hover {
    color: #333;
    text-decoration: none;
}
.primary{
	display: inline-block;
	border: 1px solid #000;
	font-size: 0.6em;
	padding: 4px;
	font-family: Lato, arial, sans-serif;
	font-weight: bold;
}



.dayRow {
    display: flex;
    align-items: top;
    margin-bottom: 10px;
    gap: 10px;
}
.dayLabel {
    display: inline-block;
    width: 20%;
}

fieldset.openFieldset, fieldset.closeFieldset {
	border: 1px solid #ccc;
	padding: 5px 0px 10px 10px;
	margin: 0px 20px 0px 0px;
	width: 30%;
}

fieldset.yearFieldset {
	border: 1px solid #ccc;
	padding: 5px 0px 10px 10px;
	margin: -10px 0px 0px 0px;
	width: 30%;
}

.timeOptions {
    position: absolute;
    background: white;
    border: 1px solid #ccc;
    width: 150px;
    max-height: 200px;
    overflow-y: auto;
    list-style: none;
    padding: 0;
    margin: 0;
    z-index: 1000;
}
.timeOption {
    padding: 8px;
    cursor: pointer;
}
.timeOption:hover {
    background: #f0f0f0;
}
.removeTimeBlock {
    color: red;
    background: none;
    border: none;
    cursor: pointer;
}

.grayscale{
	filter: grayscale(100%);
}
.citation:hover > .display .grayscale{
	filter: grayscale(0%);
}

/***** TOGGLE ******/
/*** NEEDS WORK ON SMALLER SCREEN *******/

#toggleLabel:hover{
	cursor:pointer;
}
        .toggle-container {
            display: flex;
            align-items: center;
            font-family: Arial, sans-serif;
        }

        .toggle-switch {
            position: relative;
            width: 50px;
            height: 26px;
            margin-right: 12px;
        }

        .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

        .slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: .4s;
            border-radius: 26px;
        }

        .slider::before {
            position: absolute;
            content: "";
            height: 20px;
            width: 20px;
            border-radius: 50%;
            left: 3px;
            bottom: 3px;
            background-color: white;
            transition: .4s;
        }

        input:checked + .slider {
	    background-color: #1579e6;
        }

        input:checked + .slider::before {
            transform: translateX(24px);
        }
/******** END TOGGLE *******/


.ctxImg{
	max-width: 200px;
	max-height: 200px;
	height: auto;
	width: auto;
	margin-left: 20px;
}
.cloudinary-buttonImage:hover{
	filter: drop-shadow(5px 5px 10px #000000);
}






/****** Service Selectors **********/
/* ── Unsaved notice ── */
.svc-unsaved-notice         { background:#fff3cd; border:1px solid #ffc107; padding:8px 12px; border-radius:4px; font-size:13px; margin-bottom:12px; }

/* ── Category block ── */
.svc-category-block         { margin-bottom:24px; overflow:hidden; box-sizing:border-box; }
.svc-category-header        { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.svc-category-name          { font-weight:600; font-size:14px; color:#333; }

/* ── Add service button & form ── */
.svc-add-btn                { font-size:12px; padding:3px 10px; cursor:pointer; border:1px solid #1a73e8; border-radius:4px; background:none; color:#1a73e8; }
.svc-add-btn:hover          { background:#1a73e8; color:#fff; }
.svc-add-form               { background:#f9f9f9; border:1px solid #ddd; border-radius:6px; padding:12px; margin-bottom:10px; box-sizing:border-box; width:100%; }
.svc-add-form select,
.svc-add-form input,
.svc-add-form textarea      { width:100%; font-size:13px; padding:5px 8px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; margin-bottom:7px; font-family:inherit; }
.svc-add-form select:focus,
.svc-add-form input:focus,
.svc-add-form textarea:focus { outline:none; border-color:#1a73e8; }
.svc-add-form textarea      { min-height:70px; resize:vertical; }
.svc-add-freeform-fields    { margin-bottom:0; }
.svc-add-actions            { display:flex; gap:8px; }

/* ── Service rows ── */
.svc-active-list            { width:100%; box-sizing:border-box; }
.svc-service-row            { padding:7px 10px; border:1px solid #e5e5e5; border-radius:4px; margin-bottom:5px; cursor:pointer; background:#fff; box-sizing:border-box; width:100%; }
.svc-service-row:hover      { border-color:#1a73e8; background:#f0f6ff; }
.svc-service-summary        { display:flex; flex-direction:column; gap:2px; min-width:0; }
.svc-service-name           { font-size:13px; font-weight:500; color:#222; }
.svc-service-desc-preview   { font-size:12px; color:#777; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.svc-empty-cat              { font-size:12px; color:#aaa; padding:6px 0; }

/* ── Inline edit panel ── */
.svc-edit-panel             { background:#fff8e1; border:1px solid #ffe082; border-radius:6px; padding:12px; margin-bottom:5px; box-sizing:border-box; width:100%; }
.svc-edit-panel label       { display:block; font-size:11px; color:#777; margin-bottom:3px; }
.svc-edit-panel input,
.svc-edit-panel textarea    { width:100%; font-size:13px; padding:5px 8px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; margin-bottom:8px; font-family:inherit; }
.svc-edit-panel input:focus,
.svc-edit-panel textarea:focus { outline:none; border-color:#1a73e8; }
.svc-edit-panel textarea    { min-height:80px; resize:vertical; }
.svc-edit-actions           { display:flex; gap:8px; flex-wrap:wrap; }

/* ── Shared button styles ── */
.svc-btn                    { padding:6px 16px; font-size:13px; cursor:pointer; border:1px solid #1a73e8; border-radius:4px; background:#1a73e8; color:#fff; font-family:inherit; }
.svc-btn:hover              { background:#1558b0; border-color:#1558b0; }
.svc-btn-delete             { margin-left:auto; background:none; border:1px solid #e57373; color:#e53935; border-radius:4px; padding:5px 12px; font-size:12px; cursor:pointer; font-family:inherit; }
.svc-btn-delete:hover       { background:#ffebee; }






.signout{
    width: 90%;
    margin: 0 auto 10px auto;
    text-align: right;   /* or center */
    float: none;
    clear: both;
}

  .hidden {
	display:none;
  }
  .show{
       display:block;
  }
/******** SMALLER SCREENS ******/

@media (max-width: 768px){

.dayLabel {
    display: inline-block;
    width: 30%;
}


  .newmenu {
    display: block;
    position: fixed;
    top: 10px;
    right: 15px;
  }

.subMenu{
display:block;
  width:100%;
font-size: 1.2em;
}


  header .nav-wrapper ul li {
    display: none;
    width: 100%;
  }

  header .nav-wrapper ul.open li {
    display: block;
    }


  header .nav-wrapper  > div {
    position: fixed;
    top: 12px;
    right: 60px;
    z-index: 1001;
  }

  header .nav-wrapper ul {
    position: fixed;
    top: 0;
    right: -280px;
    width: 270px;
    height: 100vh;
    background: #fff;
    margin: 0;
    padding: 60px 0 20px;
    list-style: none;
    flex-direction: column;
    box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
    transition: right 0.3s ease;
    z-index: 1000;
    overflow-y: auto;
  }

  header .nav-wrapper ul.open {
    right: 0;
  }

  header .nav-wrapper ul li{
    width: 100%;
}
  header .nav-wrapper ul li a {
    display: block;
    padding: 12px 20px;
    border-bottom: 1px solid #eee;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #4a4949;
    text-decoration: none;
  }

  header .nav-wrapper ul li a:hover {
    background: #f5f5f5;
  }

  .nav-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 999;
  }

  .nav-overlay.open {
    display: block;
  }


 .signout{
    display: none;
}
 .logo{
    width: 65%;
    height: auto;
    display: block;
    margin: 15px auto;
  }


}
