/*
Theme Name: Itfirm
Theme URI: http://demo.casethemes.net/itfirm/
Author: Case-Themes
Author URI: https://themeforest.net/user/case-themes/portfolio/
Description: Itfirm is a stunning, professional and flexible IT Solutions, IT Business, and Services Company WordPress theme. Itfirm based on in-depth research into IT Solutions, IT Services, IT Business, Consulting, SaaS & Software, Digital Solution, Technical Engineering, Technology, and Services Company, to deliver all needed layouts and blocks.
Version: 1.4.2
License: ThemeForest
License URI: https://themeforest.net/licenses
Text Domain: itfirm
Tags: agency, business, it services, it solutions, technology, technology service, software, services, app, network solution, startup, technology company, saas, digital
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
.elementor-element-655822b4 {
    margin-bottom: 0 !important;
}
#ct_menu-909ae21.ct-nav-menu1.style2 .ct-main-menu > li > a::before {
    background-image: linear-gradient(to left, #ccb9b5, #ccb9b5)  !important;
    height: 2px;
}
#ct_menu-7bb38eb.ct-nav-menu1.style2 .ct-main-menu > li > a::before, 
#ct_menu-7bb38eb.ct-nav-menu1.style3 .ct-main-menu > li > a::before {
    background-image: linear-gradient(to left, #5f009a, #5f009a)  !important;
    height: 2px;
}
.ct-nav-menu1.style2 .ct-main-menu > li > a {
    line-height: 80px;
}
.about-img{
    position: relative !important;
/*     padding: 0px; */
    z-index: 0;
    overflow: hidden;
}

/* .about-img:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #5f009a;
    top: 0;
    left: 0;
    transform: translate(-50px, 50px);
    z-index: -1;
    transition: transform 0.6s ease;
} */

.about-img:hover:before {
    transform: translate(50px, -50px);
}
.ct-nav-menu1.style2 .ct-main-menu > li {
	margin: 0px 5px;
}
body:not(.elementor-editor-active) .site-content .elementor-widget-text-editor, 
body:not(.elementor-editor-active) .site-footer-custom .elementor-widget-text-editor, 
body:not(.elementor-editor-active) #ct-header-elementor .elementor-widget-text-editor {
    color: #000;
}
.ct-service-external1 .item--inner {
    margin-bottom: 40px;
    padding: 125px 24px 30px;
}
.ct-service-external1 .item--description {
    color: #000000;
    height: 90px;
    font-size: 15px;
}
.ct-service-external1 .item--title {
    padding-bottom: 15px;
	margin-bottom: 15px;
    text-transform: uppercase;
    height: 56px;
}
.ct-service-external1 .item--title:before {
    height: 2px;
	width: 55px;
    background-color: #CAB99E !important;
}
.ct-service-external1 a.btn-text-gr {
    color: #899689 !important;
	background-image: linear-gradient(to left, #899689, #899689) !important;
}
.ct-service-external1 .item--icon {
    border-radius: 10px;
    overflow: hidden;
    min-width: 90%;
    width: 90%;
    height: 145px;
}
.btn-text-gr {
    font-family: 'Montserrat';
    font-weight: 500;
}
.ct-service-external1 .item--overlay {
    border-radius: 8px 8px 0px 0px;
	transition: opacity 0.4s ease-in-out !important;
}
.ct-service-external1 .item--inner:hover .item--icon {
    top: -30px;
}
.slick-arrows-1 .ct-slick-carousel .slick-arrow:after {
    background-color: #000000;
    background-image: -webkit-gradient(linear, left top, right top, from(#000000), to(#060606)) !important;
}
.listing-categories{
	
}
.listing-categories ul.elementor-icon-list-items {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    row-gap: 15px;
    align-items: center;
    justify-content: center;
}
.listing-categories .elementor-icon-list-icon{
    display: none !important;
}
.listing-categories svg {
    width: 30px !important;
    height: 30px !important;
    position: absolute;
    bottom: -23px !important;
    left: -34px !important;
    opacity: 0.6;
	transition: transform 0.4s ease !important;
}
.listing-categories .elementor-icon-list-text{
    font-size: 18px;
    text-transform: uppercase;
    color: #ffffff !important;
}
.listing-categories li{
    width: 31%;
    justify-content: center !important;
	background-color: #CAB99E;
    padding: 10px 25px !important;
    border-radius: 5px;
    position: relative !important;
    transition: transform 0.3s ease !important;
}
.listing-categories li:hover{
	transform:scale(1.1)
}
.listing-categories li:hover svg {
    opacity: 1;
    transform: scale(1.3);
}
.crystal-destiny-section{
	position:relative;
}
/* .crystal-destiny-section:before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, #9333ea33, transparent);
    top: -150px;
    right: -150px;
    filter: blur(80px);
} */
.ct-service-external1 .item--inner:before {
	background-color: #F0EDE8;
}
.right-side-img-col {
    position: relative !important;
    width: 80% !important;
    margin: auto;
}
.right-side-img-col:before {
content: "";
    position: absolute;
    width: 200px;
    height: 200px;
    right: 0;
    top: -115px;
    background-position: center;
    background-image: url(https://bbmhawaii.com/crystaldreams/wp-content/uploads/2026/04/anim-img.webp);
    background-size: contain;
	animation-name: float-bob-x;
    animation-duration: 15s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@keyframes float-bob-x {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
  }

  50% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
  }
}
.right-side-img-col:after{
    content: "";
    position: absolute;
    width: 200px; 
    height: 200px;
    left: -130px;
    bottom: 0;
    background-position: center;
    background-image: url(https://crystaldreamsmaui.com/wp-content/uploads/2026/04/ball-1.webp);
    background-size: contain;
	transform-origin: bottom center; /* makes it swing from top */
  animation: swingVertical 2s ease-in-out infinite;
}
@keyframes swingVertical {
  0%   { transform: rotate(0deg); }
  25%  { transform: rotate(5deg); }
  50%  { transform: rotate(0deg); }
  75%  { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}
.mB0{
	margin-bottom:0 !important;
}
.contact-wrapper {
	
}
.contact-box {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
  align-items: baseline;
}
.contact-box .info h3{
    font-size: 18px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 0px;
}

.contact-box .info strong{
    font-weight: 500;
    font-size: 15px;
    color: #000;
}
.contact-wrapper .icon {
  font-size: 24px;
}
.contact-wrapper .icon i{
	color:#899689;
    font-size: 16px;
}

.contact-wrapper .hours-list {
  padding-left: 0;
  margin: 0;
  list-style: none;
}

.contact-wrapper .hours-list li {
    margin-bottom: 0;
    font-size: 13px;
    color: #000;
    line-height: 1.8;
}

.contact-wrapper .info a {
  color: #000;
  text-decoration: none;
    font-size: 15px;
}
.contact-wrapper .info a:hover{
	color: #899689;
}
.footer-link ul{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}
.footer-link ul li{
    font-size: 15px;
    display: inline-block;
    width: 50%;
    margin-bottom: 10px;
}
.footer-link ul li a{
	color:#000;
    transition: ease 0.5s;
}
.footer-link ul li a:hover{
    color: #899689;
    font-weight: 500;
}
.ct-button-wrapper .btn .ct-button-icon {
    transition: 0.3s ease !important;
}

.cta-line{
	position:relative;
	overflow:hidden;
}
.cta-line:after{
	content: "";
    background-image: url(https://bbmhawaii.com/crystaldreams/wp-content/uploads/2026/03/freeze.svg);
    background-size: cover;
    background-position: center;
    position: absolute;
    width: 180px;
    height: 180px;
    opacity: 0.4;
    bottom: -20px;
    left: 0;
    filter: grayscale(1);
}
.cta-line:before{
	content: "";
    background-image: url(https://bbmhawaii.com/crystaldreams/wp-content/uploads/2026/03/freeze.svg);
    background-size: cover;
    background-position: center;
    position: absolute;
    width: 140px;
    height: 140px;
    opacity: 0.4;
    top: -12px;
    right: 0;
    transform: rotate(180deg);
    filter: grayscale(1);
}
.scroll-top{
	background-image: linear-gradient(to left, #899689, #899689) !important;
    border-radius: 50%;
    padding-left: 3px;
    right: 20px !important;
    bottom: 80px !important;
}
.margin-right-space{
	
}
.ct-main-menu .sub-menu, .ct-main-menu .children {
		padding: 5px 0;
}
.ct-main-menu li a {
		font-weight: 400;
}
.mind-box-wrap .elementor-widget-image {
    margin-bottom: 20px !important;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.mind-box-wrap .elementor-column:hover img{
  animation-name: hvr-icon-pop;
  animation-duration: 0.6s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}
.mind-box-wrap img{
    height: 160px !important;
    object-fit: contain;
}
.mind-box-wrap p{
    margin-bottom: 0;
    line-height: 1.4;
    height: 50px;
}
.mind-box-wrap h5{
    margin-bottom: 20px;
    display: inline-block;
    font-weight: 500;
    font-size: 22px;
	position:relative;
}
.mind-box-wrap h5:before {
    content: '';
    bottom: -10px;
    left: 0;
    right: 0;
    margin: auto;
    height: 2px;
    width: 40px;
    background-color: #CAB99E;
    position: absolute;
    transition: 0.3s cubic-bezier(0.24, 0.74, 0.58, 1);
}
.mind-box-wrap .elementor-widget-text-editor{
	background-color: #fff;
    padding: 20px 30px;
    border-radius: 10px;
    margin: 0 20px;
}
.mind-box-wrap .elementor-widget-text-editor::after {
	content: "";
    position: absolute;
    top: -19px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 20px solid #CAB99E;
}
@-webkit-keyframes hvr-icon-pop {
  50% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
}
@keyframes hvr-icon-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
#ct-pagetitle {
    padding: 60px 0;
}
.ct-breadcrumb li:after{
	color:#F0EDE8;
}
.ct-spinner3 .double-bounce1, 
.ct-spinner3 .double-bounce2 {
	background-color: #899689;
}
.ct-main-menu li a {
	font-size: 14px;
}
#ct-pagetitle .ct-page-title {
	text-transform: uppercase;
}
.slick-dots-line1 .slick-dots li.slick-active button {
    background-color: #899689;
}
.slick-arrows-1 .ct-slick-carousel .slick-arrow {
    background-color: #899689;
	color: #fff !important;
}
#icon-floating-btn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;;
    transition: transform 0.3s ease !important;
}
#icon-floating-btn:hover{
	transform:scale(1.2)
}
#icon-floating-btn a {
  position: relative;
  display: inline-block;
  padding: 10px 18px;
  background-color: #76635e;
  color: #ffffff;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  overflow: hidden;
}
#icon-floating-btn a span{
	position:relative;
	z-index:1;
}
/* Animated border line */
#icon-floating-btn a::before {
     content: "";
    position: absolute;
    inset: -10px;
    border-radius: 10px;
    background:conic-gradient(from 0deg, transparent 0deg, #a39591 300deg, #765c55 360deg);
    animation: rotateBorder 2s linear infinite;
    z-index: 0;
}

/* Keep button above */
#icon-floating-btn a::after {
  content: "";
  position: absolute;
  inset: 3px;
  background: #beaba6;
  border-radius: 6px;
  z-index: 0;
}

/* Hover */
#icon-floating-btn a:hover,
#icon-floating-btn a:focus {
  background-color: #000000;
}

@keyframes rotateBorder {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.icon-size-wrap img{
	width:80px;
}
.wind-wrap{
	
}
.wind-wrap img {
    display: none !important;
}
.wind-wrap  .elementor-widget-text-editor{
	text-transform: uppercase;
	margin-top: 0 !important;
	color: #fff !important;
    background-color: #CAB99E;
    border-bottom: 4px solid #908068;
    padding: 20px 25px !important;
    border-radius: 5px 5px 0 0;
    position: relative !important;
    transition: transform 0.3s ease !important;
    font-size: 19px;
}
.wind-wrap  .elementor-widget-text-editor p{
	margin-bottom:0 !important;
    text-transform: uppercase !important;
}
.wind-wrap  .elementor-widget-text-editor:hover {
    transform: scale(1.1);
}
.wind-wrap-two .elementor-widget-text-editor{
    height: 90px;
}
.contact-first-box{
	
}
.contact-first-box .ct-fancy-box-layout1 .item--icon {
    min-width: 40px;
    width: 40px;
    margin-right: 10px;
}
.contact-first-box .ct-fancy-box-layout1 .item--icon svg {
    height: 40px;
    width: 40px;
}
.contact-first-box{
	
}
.contact-sec-form-box{
	
}
button.wpcf7-submit.btn:hover{
	background-color: #111 !important;
    background-image: linear-gradient(90deg, #7c8574 0%, #7c8574 50%, #7c8574);
}
button.wpcf7-submit.btn {
	text-transform: uppercase !important;
    border-radius: 58px;
    font-family: 'Montserrat';
    font-weight: 400;
    text-transform: capitalize;
    transition: transform 0.3s ease !important;
}
.contact-first-box .hours-list li {
    margin-bottom: 0;
    font-size: 15px;
    color: #000;
    line-height: 1.8;
    list-style: none;
}
.serve-wrap{
	
}
.serve-wrap .elementor-col-16>.elementor-widget-wrap>.elementor-element {
    background-color: #e3ded5;
    padding: 20px 20px;
    border-radius: 5px;
    transition: transform 0.3s ease !important;
}
.serve-wrap .elementor-col-16>.elementor-widget-wrap>.elementor-element:hover {
    transform: scale(1.1);
}
.serve-wrap .elementor-col-16 h3{
    margin-bottom: 0;
    height: 45px;
    font-size: 18px !important;
}
.serve-wrap .elementor-icon svg {
    width: 30px !important;
    height: 30px !important;
}
.privacy-text{
	
}
.privacy-text p {
    margin-bottom: 10px;
}
.privacy-text h4{
	color: #000000;
    font-size: 28px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 5px;
}
.review-wrap .item--icon svg {
    height: 50px;
    width: 50px;
}
.review-wrap .item--icon {
	width: 55px !important;
    height: 55px !important;
    min-width: 55px !important;
    line-height: 55px !important;
    padding-top: 2px !important;
    margin-right: 10px !important;
    background-color: #cfd6c8 !important;
}
.review-wrap .ct-fancy-box-layout1 .item--title {
    font-size: 20px;
    height: 45px;
}
.review-wrap-first .ct-fancy-box-layout1 .item--description {
    height: 125px;
}

.review-wrap-second .ct-fancy-box-layout1 .item--description {
    height: 280px;
}

.review-wrap-third .ct-fancy-box-layout1 .item--description {
    height: 400px;
}
.google-review .ct-fancy-box-layout10 {
	margin-bottom: 0;
}
.google-review .item--description {
    display: none;
}
.gallery-wrap{
	
}
.gallery-wrap img.attachment-full.size-full {
    height: 250px;
    object-fit: cover;
}
textarea {
    height: 98px;
}
.right-side-img-col img{
    border-radius: 5px !important;;
}
.page-id-10335 #ct-pagetitle {
    background-image: url(https://bbmhawaii.com/crystaldreams/wp-content/uploads/2026/04/image22-69cf50670dd06-1.webp) !important;
}
.page-id-10355 #ct-pagetitle{
	background-image: url(https://bbmhawaii.com/crystaldreams/wp-content/uploads/2026/04/02-57-69cf58501af31.webp) !important;
}
.page-id-10391 #ct-pagetitle{
	background-image: url(https://bbmhawaii.com/crystaldreams/wp-content/uploads/2026/04/image29-2-69cf574b9a32e.webp) !important;
}
.page-id-10409 #ct-pagetitle{
	background-image: url(https://crystaldreamsmaui.com/wp-content/uploads/2026/04/extended-69e1d8517d4e1.webp) !important;
}
.page-id-10177 #ct-pagetitle{
	background-image: url(https://bbmhawaii.com/crystaldreams/wp-content/uploads/2026/04/CRYSTALS-IMAGE1.webp) !important;
}
.double-bounce1,.double-bounce2{
    background-color: #8a968a !important;
}









/* Large desktops */
@media (max-width: 1400px) {

}

/* Laptops */
@media (max-width: 1261px) {
.ct-nav-menu1.style2 .ct-main-menu > li > a {
        font-size: 12px;
    }
}

/* Tablets / small laptops */
@media (max-width: 1024px) {
	.wind-wrap-three .elementor-column.elementor-col-25, .elementor-column[data-col="25"] {
		width: 50% !important;
	}
.mind-box-wrap p {
    height: 80px;
}
	.review-wrap-first .ct-fancy-box-layout1 .item--description {
    height: auto;
}
	.review-wrap .ct-fancy-box-layout1 .item--title {
    height: auto;
}
	.review-wrap-second .ct-fancy-box-layout1 .item--description {
    height: auto;
}
	.review-wrap-third .ct-fancy-box-layout1 .item--description {
    height: auto;
}
}

/* Important breakpoint (tablet to mobile) */
@media (max-width: 991px) {
.gallery-wrap img.attachment-full.size-full {
    height: 200px;
}
.right-side-img-col:before {
    width: 100px;
    height: 100px;
    top: -70px;
}
.right-side-img-col:after{
    width: 100px;
    height: 100px;
    left: -45px;
}
}
@media (min-width: 768px) and (max-width: 768px) {
.mind-box-wrap h5 {
    font-size: 18px;
	}
.mind-box-wrap p {
    height: 98px;
}
	.elementor-column.elementor-col-50, .elementor-column[data-col="50"] {
        width: 100% !important;
    }
}

/* Tablets portrait */
@media (max-width: 768px) {

.contact-first-box .ct-fancy-box-layout1 .item--icon svg {
    height: 30px;
    width: 30px;
}
	.contact-first-box .hours-list ul{
		margin-bottom: 0;
	}
.gallery-wrap img.attachment-full.size-full {
    height: 150px;
}
.wind-wrap-three .elementor-column.elementor-col-25, .elementor-column[data-col="25"] {
        width: 100% !important;
    }
	.wind-wrap-three .elementor-widget-text-editor {
    height: auto;
}
.listing-categories li {
	width: 40%;
	text-align:center;
}
.listing-categories ul.elementor-icon-list-items {
    gap: 10px;
}
	    .mind-box-wrap p {
        height: auto;
    }
.ct-service-external1 .item--title {
    height: auto;
}
.ct-service-external1 .item--description {
    height: auto;
}
.ct-service-external1 .item--readmore {
    position: relative;
    bottom: unset;
    left: unset;
    right: unset;
    opacity: 1;
	visibility: visible !important;
}
}

/* Large mobiles */
@media (max-width: 576px) {
.wind-wrap .elementor-widget-text-editor:hover {
    transform: scale(1.0) !important;
}
}

/* Small mobiles */
@media (max-width: 480px) {
    .listing-categories li {
        width: 48%;
    }
	.gallery-wrap figure.gallery-item {
    width: 50% !important;
}
}

/* Very small devices */
@media (max-width: 360px) {

}