.elementor-36732 .elementor-element.elementor-element-4cc64b6{--display:flex;overflow:visible;}/* Start custom CSS *//* -------------------------------- variables ------------------------------- */
 html {
	 height: 100%;
	 max-width: 100vw;
	 overflow-y: scroll;
	 font-family: sans-serif;
}
 a {
	 font-size: 0.85rem;
	 text-decoration: none;
	 color: #0046ad;
}
 a:hover {
	 text-decoration: underline;
}
 .g-base {
	 padding: 150px 0 30px 0;
	 margin: 0;
	 height: 100%;
	 font-size: 1rem;
	 background-color: #fff;
	 color: #231f20;
}
 .g-tooltip {
	 font-size: 0.75rem;
	 padding: 5px;
	 border-radius: 5px;
	 width: 350px;
	 white-space: normal;
	 overflow-wrap: break-word;
}
 .g-tooltip a {
	 word-break: break-all;
	 display: inline-block;
}
 .g-popup-ballon {
	 padding: 10px;
	 width: 0.2rem;
	 border-radius: 50%;
	 background-color: #fff;
	 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	 z-index: 1000;
}
 #p-main {
	 padding: 30px 0 30px 0;
	 width: 100vw;
	 max-width: 100%;
	 overflow: hidden;
	 display: flex;
	 flex-direction: row;
	 justify-content: flex-start;
	 align-items: flex-start;
	 flex-wrap: wrap;
	 position: relative;
	 z-index: 1;
	 justify-content: center;
}
 @media screen and (max-width: 1000px) {
	 #p-main {
		 flex-direction: column;
		 align-items: center;
	}
}
 @media screen and (max-width: 1000px) {
	 .phone-services {
		 text-align: left;
		 width: 80vw;
		 padding: 0 20px;
	}
}
 #s-intro {
	 margin: 1rem 5rem;
}
 #s-content {
	 display: flex;
	 width: 100vw;
	 justify-content: center;
	 gap: 20px;
}
 @media (max-width: 1000px) {
	 #s-content {
		 flex-direction: column;
		 align-items: center;
	}
}
 #map {
	 width: 35vw;
	 height: 30rem;
	 max-height: 50rem;
	 border-radius: 5px;
}
 @media (max-width: 1000px) {
	 #map {
		 width: 85vw;
		 height: 60vh;
	}
}
 #aside {
	 display: flex;
	 flex-direction: column;
}
 #aside, #right-side {
	 width: 20vw;
	 max-width: 350px;
	 padding: 20px;
	 background-color: #fff;
}
 @media (max-width: 1000px) {
	 #aside, #right-side {
		 width: 85vw;
		 max-width: 85vw;
		 margin-top: 20px;
		 padding: 0;
		 margin: 0;
	}
}
 @media screen and (max-width: 1000px) {
	 #right-side {
		 display: flex;
		 justify-content: space-between;
	}
}
 .title {
	 font-size: 24px;
	 color: #333;
	 margin-bottom: 20px;
	 text-align: center;
}
 #aside .caption {
	 margin-bottom: 20px;
}
 @media screen and (max-width: 1000px) {
	 #aside .caption {
		 margin-bottom: 0;
	}
}
 #aside .caption p {
	 font-size: 18px;
	 color: #231f20;
}
 #aside .caption a {
	 color: #0046ad;
	 text-decoration: none;
}
 #aside img {
	 float: left;
	 padding-right: 10px;
}
 #subcategories {
	 display: flex;
	 flex-direction: column;
}
 @media (max-width: 1000px) {
	 #subcategories {
		 width: 85vw;
	}
}
/* -------------------------- CATEGORY BOX STYLING -------------------------- */
/* Category boxes container */
 .category-boxes {
	 display: flex;
	 flex-direction: column;
	 gap: 10px;
}
 @media (max-width: 1000px) {
	 .category-boxes {
		 flex-direction: row;
		 flex-wrap: wrap;
		 width: 35vw;
		 display: none;
	}
}
 #category-dropdown {
	 width: 100%;
	 padding: 10px;
	 border: 1px solid #ccc;
	 border-radius: 5px;
	 font-size: 16px;
	 margin-bottom: 20px;
	 background-color: #fff;
	 color: #333;
	 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	 transition: all 0.3s ease;
}
 #category-dropdown option {
	 padding: 10px;
	 font-size: 16px;
	 background-color: #fff;
	 color: #333;
}
 #category-dropdown:focus {
	 outline: none;
	 border-color: #007bff;
	 box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}
 #category-dropdown.hidden {
	 display: none;
}
 @media screen and (max-width: 1000px) {
	 #category-dropdown.hidden {
		 display: block;
	}
}
 .categoryBox {
	 padding: 10px 20px;
	 border-radius: 4px;
	 border: 2px solid transparent;
	 font-size: 16px;
	 cursor: pointer;
	 transition: all 0.3s ease;
	 text-align: center;
}
 @media screen and (max-width: 1000px) {
	 .categoryBox {
		 width: 100%;
		 padding: 1rem;
		 width: 35vw;
	}
}
 .categoryBox:hover {
	 transform: scale(1.05);
	 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.15);
}
 .selectedBox {
	 background-color: #f0f0f0;
	 font-weight: bold;
}
 .categoryBox[data-color="yellow"] {
	 border-color: #ffd700;
}
 .categoryBox[data-color="blue"] {
	 border-color: #0046ad;
}
 .categoryBox[data-color="red"] {
	 border-color: #a8052b;
}
 .categoryBox[data-color="gold"] {
	 border-color: #ffd700;
}
 .categoryBox[data-color="black"] {
	 border-color: #231f20;
}
 .categoryBox[data-color="green"] {
	 border-color: #11574e;
}
 .categoryBox[data-color="violet"] {
	 border-color: #8872d9;
}
 .categoryBox[data-color="orange"] {
	 border-color: #faa734;
}
 .categoryBox[data-color="grey"] {
	 border-color: #95979a;
}
/* ------------------------- REQUEST EDIT LINK STYLING ---------------------- */
 #request-edit-link {
	 margin-top: 1.5rem;
}
 #request-edit-link a {
	 font-size: 1rem;
	 font-style: italic;
	 text-decoration: underline;
	 color: #58595b;
}
/* ------------------------- PHONE SERVICES STYLING ------------------------- */
 .phone-services {
	 padding: 20px;
	 background-color: #fff;
	 border-radius: 8px;
	 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.15);
	 margin: 20px;
}
 .phone-service {
	 margin-bottom: 15px;
}
 .phone-service a {
	 font-size: 16px;
	 color: #0046ad;
	 text-decoration: none;
}
 .phone-service a strong {
	 color: #0046ad;
}
/* ----------------------------- FILTER STYLING ----------------------------- */
 #uncheck-all-btn {
	 background-color: #f8f9fa;
	 border: 1px solid #ced4da;
	 color: #231f20;
	 padding: 10px 20px;
	 border-radius: 5px;
	 font-size: 16px;
	 cursor: pointer;
	 margin-top: 10px;
	 width: fit-content;
	 align-self: center;
}
 #uncheck-all-btn:hover {
	 background-color: #e2e6ea;
	 border-color: #dae0e5;
}
 #filter-container {
	 max-height: 500px;
	 overflow-y: auto;
	 border: 1px solid #ccc;
	 margin-top: 10px;
	 padding: 10px;
}
 .checkbox-item {
	 display: flex;
	 align-items: center;
	 margin-bottom: 1rem;
}
 .checkbox-item input[type="checkbox"] {
	 appearance: none;
	 width: 20px;
	 height: 20px;
	 border: 2px solid #0046ad;
	 border-radius: 4px;
	 margin-right: 10px;
	 position: relative;
	 cursor: pointer;
}
 .checkbox-item input[type="checkbox"]:checked {
	 background-color: #0046ad;
	 border-color: #0046ad;
}
 .checkbox-item input[type="checkbox"]:checked::before {
	 content: "✔";
	 color: white;
	 font-size: 14px;
	 position: absolute;
	 top: 50%;
	 left: 50%;
	 transform: translate(-50%, -50%);
}
 .checkbox-item label {
	 font-size: 16px;
	 color: #231f20;
	 cursor: pointer;
}
/* ------------------------------ SERVICES LIST ----------------------------- */
 #services-list-container {
	 padding: 20px;
	 background-color: #f8f9fa;
	 border: 1px solid #ced4da;
	 border-radius: 5px;
	 margin-top: 20px;
	 width: 80vw;
}
 #services-list-container h2 {
	 font-size: 20px;
	 color: #231f20;
	 text-align: center;
}
 #services-list {
	 list-style-type: none;
	 padding-left: 0;
}
 #services-list li {
	 margin: 0.5rem;
	 padding: 10px;
	 border-radius: 0.6rem;
	 border-bottom: 1px solid #dee2e6;
	 cursor: pointer;
	 position: relative;
	 font-weight: 600;
}
 #services-list li:last-child {
	 border-bottom: none;
}
 .expanded-info a {
	 display: inline-block;
	 max-width: 100%;
	 white-space: nowrap;
	 overflow: hidden;
	 text-overflow: ellipsis;
	 color: #007bff;
	 text-decoration: none;
}
 .expanded-info a:hover {
	 text-decoration: underline;
}
 #services-list li .expanded-info {
	 background-color: #f8f9fa;
	 border-top: 1px solid #ced4da;
	 padding: 10px;
	 margin-top: 10px;
	 font-size: 14px;
	 line-height: 1.5;
	 color: #231f20;
	 cursor: default;
}
 #services-list li .expanded-info .expanded-content {
	 display: flex;
	 flex-direction: column;
}
 #services-list li .expanded-info .expanded-content div {
	 margin-bottom: 5px;
}
 #services-list li .expanded-info .expanded-content ul {
	 padding-left: 20px;
	 list-style-type: disc;
}
 #services-list li .expanded-info .expanded-content ul li {
	 padding: 0;
	 list-style-type: disc;
	 background-color: transparent;
	 border: none;
}
 #services-list li .expanded-info .expanded-content strong {
	 font-weight: bold;
	 margin-right: 5px;
}
 #services-list li .expanded-info .expanded-content a {
	 color: #e81d2d;
	 text-decoration: none;
	 vertical-align: middle;
	 line-height: 1.5;
}
 #services-list li .expanded-info .expanded-content a:hover {
	 text-decoration: underline;
}
 .service-yellow {
	 background-color: #eef219;
}
 .service-blue {
	 background-color: #0046ad;
}
 .service-red {
	 background-color: #a8052b;
}
 .service-gold {
	 background-color: #ffd000;
}
 .service-black {
	 background-color: #231f20;
}
 .service-green {
	 background-color: #11574e;
}
 .service-violet {
	 background-color: #8872d9;
}
 .service-orange {
	 background-color: #faa734;
}
 .service-grey {
	 background-color: #95979a;
}/* End custom CSS */