.dt-form-error {
   border: 4px;
   border-style: solid;
   border-color: var(--error-color);
}

.dt-image-uploader {
   background-color: yellow;
}


.dt-content {
   max-width: 1350px;
}

.dt-padding-l {
   padding: 1rem 1rem !important;
}


.dt-loader {

   border: 16px solid #f3f3f3;
   /* Light grey */
   border-top: 16px solid #3498db;
   /* Blue */
   border-radius: 50%;
   width: 120px;
   height: 120px;
   animation: loader-spin 2s linear infinite;
}


.btn-outline-lightaccent:hover {
   color: var(--bs-light) !important;
   background-color: var(--bs-lightaccent) !important;
   border-color: var(--bs-lightaccent) !important;
}

.btn-outline-lightaccent:focus {
   color: var(--bs-light) !important;
   background-color: var(--bs-lightaccent) !important;
   border-color: var(--bs-lightaccent) !important;
}

.btn-outline-lightaccent:active {
   color: var(--bs-light) !important;
   background-color: var(--bs-lightaccent) !important;
   border-color: var(--bs-lightaccent) !important;
}


.mts-wrapper {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   overflow: hidden;
}

.mts-wrapper>.mts-item {
   border: 2px solid var(--bs-lightaccent);
   border-radius: 0px;
   padding: 10px;
   box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
   position: relative;
   z-index: 1;
}

.mts-wrapper>.mts-item::before {
   background-color: var(--bs-lightshade);
   bottom: -10%;
   content: "";
   left: 14px;
   position: absolute;
   right: 11px;
   top: -8%;
   transform: rotate(195deg) skew(50deg);
   z-index: -1;
}



.dt-lg-category-item {
   cursor: pointer;
}

.dt-lg-category-item:hover {
   background-color: var(--bs-light);
}

.dt-sm-category-item:hover,
.dt-sm-category-item:focus {
   background-color: var(--bs-light);
}

.dt-sm-category-item img {
   max-height: 100px;
}



#messages-pagination .pagination>li>a {
   background-color: var(--bs-light);
   color: var(--bs-darkaccent), 1;
}

#messages-pagination .pagination>li>a:focus,
#messages-pagination .pagination>li>a:hover,
#messages-pagination .pagination>li>span:focus,
#messages-pagination .pagination>li>span:hover {
   color: var(--bs-darkshade);
   background-color: var(--bs-light);
   border-color: var(--bs-darkshade);
}

#messages-pagination .pagination>.active>a {
   color: var(--bs-light);
   background-color: var(--bs-darkshade) !important;
   border: solid 1px var(--bs-darkshade) !important;
}

#messages-pagination .pagination>.active>a:hover {
   background-color: var(--bs-darkshade) !important;
   border: solid 1px var(--bs-darkshade) !important;
   color: var(--bs-lightaccent);
}





@media screen and (max-width: 1000px) {
   .dt-content {
      max-width: 720px !important;
   }
}


@media screen and (max-width: 1500px) {
   .dt-content {
      max-width: 1100px;
   }
}

@keyframes loader-spin {
   0% {
      transform: rotate(0deg);
   }

   100% {
      transform: rotate(360deg);
   }
}


.dt-input-tag {
   background: RGB(230, 230, 230);
   margin-left: 4px;
   margin-right: 4px;
   border-radius: 9px;
   padding-left: 8px;
   padding-right: 8px;
}

.dt-input-material {
   background: RGB(230, 230, 230);
   margin-left: 4px;
   margin-right: 4px;
   border-radius: 9px;
   padding-left: 8px;
   padding-right: 8px;
}


.dt-main-sidebar {
   top: 0px;
   left: 0px;
   height: 100vh !important;
}

.dt-quicklink {
   position: relative;
   display: inline-block;
}

.dt-search-input {
   width: 100%;

}

.dt-text-input {

   border-color: grey;
   border-radius: 20px;
   border-width: 2px;
   border-style: solid;
   text-indent: 8px;


}


.dt-main-image {

   height: 200px;
}

.dt-other-images {

   height: 30px;

}



.dt-order-item {
   position: relative;
   width: 80%;
   background-color: green;
}

.dt-link-cursor {
   cursor: pointer;
}

.dt-filters {
   width: 150px;
   ;
}


.dt-listing-img-holder {
   overflow: hidden;
   max-height: 200px;
}

.dt-listing-item-img-hover {
   box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.dt-manage-listing-card:hover {
   box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}


.dt-extraScroll {
   width: 100%;
   height: 100px;
}

.dt-link {
   text-decoration: underline;
   font-weight: bold;
   background-image: linear-gradient(to right,
         var(--bs-mainbrand) 0%,
         var(--bs-mainbrand) 50%,
         #000 50%);
   background-size: 200% 100%;
   background-position: -100%;
   display: inline-block;
   padding: 0px 0;
   position: relative;
   -webkit-background-clip: text;
   background-clip: text;
   -webkit-text-fill-color: transparent;
   transition: all 0.3s ease-in-out;
}

.dt-link::before {
   content: '';
   background: var(--bs-mainbrand);
   display: block;
   position: absolute;
   bottom: -3px;
   left: 0;
   width: 0;
   height: 3px;
   transition: all 0.3s ease-in-out;
}

.dt-link:hover {
   background-position: 0;
}

.dt-link:hover::before {
   width: 100%;
}

.dt-ws-preserve {
   white-space: pre-line;
}

.dt-min-vh-50 {
   min-height: 50vh;
}

/* create a css animation that grows by 20% then shrinks to 100% */
@keyframes ani-grow {
   0% {
      transform: scale(1);
   }

   50% {
      transform: scale(1.2);
   }

   100% {
      transform: scale(1);
   }
}

/* apply the animation to the element stop after 2 runs */
.dt-grow {
   animation: ani-grow 1s 2;
}

/*add a quick flash animation to the element*/
@keyframes ani-flash {
   50% {
      opacity: 0;
   }
}

/* apply the animation to the element stop after 2 runs */
.dt-flash {
   animation: ani-flash 1s linear 2;
}
.dt-flash-continued {
   animation: ani-flash 1s linear infinite;
}

.dt-category-wrapper {
   height: 20vh !important;
}


/*z index*/
.dt-z-index-top {
   z-index: 1040;
}
.dt-z-index-top-1 {
   z-index: 1039;
}

.dt-z-index-sticky-1 {
   z-index: 1019;
}

.dt-z-index-1 {
   z-index: 1;
}

.dt-favourite-button-0 {
   background-image: url(/assets/images/heart-full.svg);
   background-size: 55%;
   background-repeat: no-repeat;
   background-position: center;
   width: 10vw;
   height: 10vw;
   max-width: 40px;
   max-height: 40px;
}

.dt-favourite-button-1 {
   background-image: url(/assets/images/heart-empty.svg);
   background-size: 55%;
   background-repeat: no-repeat;
   background-position: center;
   width: 10vw;
   height: 10vw;
   max-width: 40px;
   max-height: 40px;
}






/*scroll bar*/
.dt-scroll-bar::-webkit-scrollbar-track {
   -webkit-box-shadow: inset 0 0 6px var(--bs-light);
   background-color: var(--bs-light);
}

.dt-scroll-bar::-webkit-scrollbar {
   width: 6px;
   background-color: var(--bs-light);
   ;
}

.dt-scroll-bar::-webkit-scrollbar-thumb {
   background-color: var(--bs-lightaccent);
}


.dt-listing-image-wrapper {
   height: 170px;
   /*Set the height for mobiles */
}

.dt-listing-image-wrapper>img {
   width: 100%;
   height: inherit;
   object-fit: contain;
   object-position: center;

}

.dt-order-summary-image-wrapper>img {
   width: 60px;
   height: 60px;
   object-fit: contain;
   object-position: center;
}

.dt-bg-image {
   position: relative;
   overflow: hidden;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: 50%;

}

.dt-mask {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 100%;
   overflow: hidden;
   background-attachment: fixed;
   background-color: hsla(0, 0%, 0%, 0.6);
   /* defaults to grey */
}

.dt-mask-transparent {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 100%;
   overflow: hidden;
   background-attachment: fixed;
   background-color: hsla(0, 0%, 0%, 0);
   /* defaults to transparent */
}


.dt-placeholder-fader {
   opacity: 0.3;
   animation: dt-placeholder-fader-animation 1s ease-in-out;
   animation-iteration-count: infinite;
   animation-direction: alternate;
}



@keyframes dt-placeholder-fader-animation {
   0% {
      opacity: 0.3;
   }

   100% {
      opacity: 0.7;
   }
}



.dt-recommended-product {
   /* color : var(--bs-lightshade); */
   --bs-bg-opacity: 0.2;
   box-shadow: 0rem 0rem 0rem 0.5rem rgba(var(--bs-mainbrand-rgb), var(--bs-bg-opacity)) !important;
   background-color: rgba(var(--bs-mainbrand-rgb), var(--bs-bg-opacity)) !important
}

.dt-normal-product {
   background-color: var(--bs-lightshade) !important;
}


.dt-active-suggestion {
   /*bg colour lightaccent with 0.2 opacity*/
   background-color: rgba(var(--bs-lightaccent), 0.2) !important;
}


* {
   padding: 0;
   margin: 0
}

.dt-spinner-wrapper {
   height: 8em;
   display: flex;
   justify-content: center;
   align-items: center;
}

.dt-icon-spinner {
   animation: spin 1s cubic-bezier(0.25, 0.62, 0.57, 1) infinite;
}

@keyframes spin {
   100% {
      transform: rotate(360deg);
   }
}


/*Check mark animation*/

.checkmark-wrapper {
   height: 60px;
   display: flex;
   justify-content: center;
   align-items: center;
}

.checkmark__circle {
   stroke-dasharray: 166;
   stroke-dashoffset: 166;
   stroke-width: 2;
   stroke-miterlimit: 10;
   stroke: var(--bs-lightaccent);
   fill: none;
   animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards
}

.checkmark {
   width: 56px;
   height: 56px;
   border-radius: 50%;
   display: block;
   stroke-width: 2;
   stroke: #fff;
   stroke-miterlimit: 10;
   margin: 10% auto;
   box-shadow: inset 0px 0px 0px var(--bs-lightaccent);
   animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both
}

.checkmark__check {
   transform-origin: 50% 50%;
   stroke-dasharray: 48;
   stroke-dashoffset: 48;
   animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards
}

@keyframes stroke {
   100% {
      stroke-dashoffset: 0
   }
}

@keyframes scale {

   0%,
   100% {
      transform: none
   }

   50% {
      transform: scale3d(1.1, 1.1, 1)
   }
}

@keyframes fill {
   100% {
      box-shadow: inset 0px 0px 0px 30px var(--bs-lightaccent)
   }
}

/*End of check mark animation*/





.dt-mw-500 {
   max-width: 100%;
   /* 100% for mobile or 500px on md upwards */
}

.dt-dragging {
   border: 2px dashed var(--bs-lightshade);
   border-radius: 5px;
   padding: 2rem;
   text-align: center;
   color: var(--bs-lightshade);
   font-size: 1.2rem;
   font-weight: bold;
   cursor: pointer;
}

.dt-image-drag-over {
   /*left thick border*/
   border-left: 5px solid var(--bs-lightaccent) !important;

}




/* Toggle switch */
/* The switch - the box around the slider */
.dt-switch {
   position: relative;
   display: inline-block;
   width: 2.5em;
   height: 1.5em;
}

/* Hide default HTML checkbox */
.dt-switch input {
   opacity: 0;
   width: 0;
   height: 0;
}

/* The slider */
.dt-slider {
   position: absolute;
   cursor: pointer;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background-color: #ccc;
   -webkit-transition: .4s;
   transition: .4s;
}

.dt-slider:before {
   position: absolute;
   content: "";
   height: 1em;
   width: 1em;
   left: 0.25em;
   bottom: 0.25em;
   background-color: white;
   -webkit-transition: .4s;
   transition: .4s;
}

input:checked+.dt-slider {
   background-color: var(--bs-lightaccent);
}

input:focus+.dt-slider {
   box-shadow: 0 0 1px var(--bs-lightaccent);
}

input:checked+.dt-slider:before {
   -webkit-transform: translateX(1em);
   -ms-transform: translateX(1em);
   transform: translateX(1em);
}

/*end of toggle switch*/




/*Policy Page*/
.p-button {
   margin: auto;
}

.p-button>img {
   width: 100%;
   height: 100%;
   max-height: 150px;
   object-fit: cover;
   object-position: center;
}

.p-section-button {
   margin: auto;
}

.p-section-button>img {
   width: 100%;
   height: 100%;
   max-height: 150px;
   object-fit: cover;
   object-position: center;
}


/*DT Font sizes*/
.dt-fs-7 {
   font-size: 0.7rem;
}


/* loading gif */
.dt-loading-gif {
   width: 20% !important;
   height: auto !important;
   object-fit: unset !important;
   object-position: center !important;
}


.dt-integration-button{
   display: flex;
   align-items: center;
   justify-content: center;
   height: 200px; /* Set a fixed height */
   min-height: 200px; /* Set a minimum height */
   width: 100%; /* Ensure the button takes the full width of the column */
   border: none; /* Remove default button border */
   background: none; /* Remove default button background */
   padding: 0; /* Remove default button padding */
}

.dt-integration-button img {
   max-height: 100%; /* Ensure the image fits within the card */
   max-width: 100%; /* Ensure the image fits within the card */
   object-fit: contain; /* Ensure the image maintains its aspect ratio */
}


/* media queries following bs5 */
/*To use these, set the values you want for mobile first, then alter for bigger screens as below*/


/* xxl */
@media (min-width: 1400px) {}

/* xl */
@media (min-width: 1200px) {}

/* lg */
@media (min-width: 992px) {
   .dt-listing-image-wrapper {
      height: 240px;
      /*Set the height of listings for none mobiles */
   }

   .dt-order-summary-image-wrapper>img {
      height: 100px;
      width: 100px;
      /*Set the height of listings for none mobiles */
   }

   .dt-loading-gif {
      width: 10% !important;
   }
}

/* md */
@media (min-width: 768px) {
   .dt-category-wrapper {
      height: 10vh !important;
   }

   .dt-mw-500 {
      max-width: 500px !important;
      /* 100% for mobile or 500px on md upwards */
   }

}

/* sm */
@media (min-width: 576px) {}

/* xs */
@media (min-width: 0px) {}