/*
Theme Name: KoduMedia
Theme URI: https://wordpress.org/
Author: KoduMedia
Author URI: https://wordpress.org/
Description: AI-powered autonomous delivery that saves you time and money, while supporting local businesses.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kodumedia
*/
body {
  margin: 0;
}

/* Header */
.custom-header-shadow {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease;
}
.contact-btn {
  /* background: #f1574d; */
  display: inline-flex;
  background-color: #000000;
  background-image: #000000;
  background-image: -moz-linear-gradient(right, #f12d37 0%, #f1574d 100%);
  background-image: -webkit-linear-gradient(right, #f12d37 0%, #f1574d 100%);
  background-image: linear-gradient(to right, #f12d37 0%, #f1574d 100%);
  background-size: 300px;
  background-repeat: no-repeat;
  background-position: 0%;
  color: #ffffff !important;
  border-radius: 50px;
  padding: 0 40px 0 20px !important;
  margin-left: 20px !important;
  align-items: center;
  position: relative;
  text-transform: uppercase;
  transition: background-position 0.5s ease-in-out, color 0.5s ease-in-out;
  will-change: transform, color;
}
.contact-btn a {
  margin-left: 0 !important;
  color: #ffffff !important;
  z-index: 1;
}
/* .contact-btn::after{
	position: absolute;
  	content: "";
  	top: 0;
  	left: 1px;
  	width: 0;
  	height: 100%;
  	background: #000000;
	color: #FFFFFF;
	border-radius: 50px;
  	transition: all .5s;
}
.contact-btn:hover:after{
	width: 100%;
} */
.contact-btn:before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='470' height='342' viewBox='0 0 470 342' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M463.416 155.918L314.082 6.58423C310.059 2.69819 304.67 0.547903 299.076 0.59651C293.483 0.645116 288.132 2.88873 284.177 6.8441C280.222 10.7995 277.978 16.1501 277.929 21.7437C277.881 27.3372 280.031 32.726 283.917 36.7496L396.834 149.667H21.6663C16.0084 149.667 10.5822 151.915 6.5814 155.915C2.58062 159.916 0.333008 165.342 0.333008 171C0.333008 176.658 2.58062 182.084 6.5814 186.085C10.5822 190.086 16.0084 192.334 21.6663 192.334H396.834L283.917 305.251C281.879 307.219 280.254 309.573 279.136 312.176C278.018 314.778 277.43 317.578 277.405 320.41C277.38 323.243 277.92 326.052 278.993 328.674C280.065 331.296 281.65 333.678 283.653 335.681C285.656 337.684 288.038 339.268 290.659 340.34C293.281 341.413 296.09 341.953 298.923 341.928C301.756 341.904 304.555 341.315 307.158 340.197C309.76 339.079 312.114 337.454 314.082 335.416L463.416 186.083C467.415 182.082 469.662 176.657 469.662 171C469.662 165.343 467.415 159.918 463.416 155.918Z' fill='white'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
  width: 16px;
  height: 12px;
  right: 15px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.5s ease-out;
  will-change: transform;
  z-index: 1;
}
.contact-btn:hover {
  background-position: -200%;
  transition: 0.5s ease-in-out;
}
/* Footer */
.contact-form-sec {
  background: radial-gradient(
    120.76% 223.58% at 50% 43.39%,
    rgb(99 0 5) 0%,
    #f1333e 100%
  );
}
div.tnp-subscription {
  max-width: 100% !important;
}
.tnp-field-email input::placeholder {
  color: #bababa;
}
.contact-form .row {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.contact-form input,
.contact-form textarea {
  border-radius: 10px;
  padding: 10px;
  font-family: "Figtree", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  border: none;
  width: 100%;
}
.contact-form input:focus-visible,
.contact-form textarea:focus-visible {
  outline: none;
}
.contact-form label {
  font-family: "Figtree", sans-serif;
  font-weight: 400;
  font-size: 16px !important;
  line-height: 26px !important;
  color: #ffffff;
}
.contact-form {
  display: grid;
  gap: 24px;
  margin-bottom: 24px;
}
.submit-btn .wpcf7-submit {
  color: #ffffff !important;
  background: #000000 !important;
  cursor: pointer;
  transition: 0.5s ease all;
}
.submit-btn .wpcf7-submit:hover {
  color: #000000 !important;
  background: #ffffff !important;
}
.contact-form .wpcf7-not-valid-tip,
.contact-btn .wpcf7-response-output {
  color: #ffffff !important;
}
.tnp-field label {
  display: none !important;
}
.tnp-subscription {
  position: relative;
}
.tnp-field .tnp-email {
  border: 1px solid #abb0b2 !important;
  background-color: #ffffff !important;
  border-radius: 7px;
  padding: 15px !important;
  font-family: "Figtree", sans-serif;
  font-weight: 400;
  font-size: 16px !important;
  line-height: 26px !important;
}
.tnp-field input:focus-visible {
  outline: none !important;
}
.tnp-field .tnp-submit {
  position: absolute !important;
  top: 7px;
  line-height: 26px;
  right: 7px;
  background-color: #000000 !important;
  padding: 10px 20px !important;
  font-size: 15px;
  border: 1px solid #000000 !important;
  border-radius: 8px !important;
  font-weight: 500;
  font-family: "Figtree", sans-serif;
  color: #ffffff !important;
}
.tnp-field .tnp-submit:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
}
/* Services page */
/* .all-services-wrapper {
  padding: 2rem 1rem;
}

.service-category-section {
  margin-bottom: 4rem;
}

.service-category-title {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 2rem;
  font-weight: 700;
} */
.service_img_box {
  height: 200px;
}
.service_img_box .elementor-image-box-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
}
.service_img_box .elementor-image-box-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}

.category-title {
  font-size: 28px;
  line-height: 32px;
  margin-bottom: 30px;
  font-weight: 600;
  font-family: "Figtree", sans-serif;
  color: #333333;
}

.service-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 40px 30px;
  margin-bottom: 60px;
}

.service-card {
  background: #fcfcfc;
  border: 1px solid #dfdede;
  padding: 15px 15px 60px;
  text-align: center;
  border-radius: 7px;
  transition: 0.5s ease all !important;
  transform: scaleY(1);
  height: 350px;
  position: relative;
}
.service-card-image a {
  display: block;
}
.service-hover:hover {
  background-color: #000000;
  transform: scale(1.05);
}
.service-hover:hover img {
  filter: invert(1);
}

.service-card-image img {
  max-width: 66px !important;
  height: auto !important;
}

.service-card-title {
  font-size: 18px;
  margin: 20px 0 16px;
  font-weight: 600;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  color: #000000;
  line-height: 24px;
}

.service-card-title a,
.service-card-title {
  color: #000000;
  font-family: "Figtree", sans-serif;
}
.service-hover:hover .service-card-title a,
.service-hover:hover .service-card-title {
  color: #ffffff;
}
.service-card-excerpt p {
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  color: #000000;
  margin-bottom: 24px;
  font-family: "Figtree", sans-serif;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 4;
}
.service-hover:hover .service-card-excerpt p {
  color: #ffffff;
}
.service-card-button {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  display: inline-block;
}
.service-card-button a {
  font-size: 14px;
  width: fit-content;
  padding: 13px 25px;
  background: #000000;
  font-family: "Figtree", sans-serif;
  color: #fff;
  border-radius: 30px;
  font-weight: 500;
  transition: 0.5s ease all !important;
  display: inline-block;
}
.service-hover:hover .service-card-button a {
  background: #ffffff;
  color: #000000;
}
.accordion-sec .e-n-accordion .e-n-accordion-item-title {
  border-radius: 10px;
}
.accordion-sec .e-n-accordion-item {
  box-shadow: 0 0 8px #00000020 !important;
  border-radius: 10px;
}
.accordion-sec .e-n-accordion-item[open] > .e-n-accordion-item-title {
  border-radius: 10px 10px 0 0;
}
.number-stroke {
  color: transparent;
  -webkit-text-stroke: 5px;
  -webkit-text-stroke-color: transparent;
  background: linear-gradient(180deg, #eb2426, rgba(0, 0, 0, 1) 100%);
  background-clip: text;
  -webkit-text-fill-color: #ffffff;
}
/* End Services Page */
.service-template,
.single-service {
  padding: 0 !important;
}
.work-box h3 {
  margin-top: 0 !important;
}
.matters-sec h2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
}
.matters-sec p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}
/* Sub Services */
.sub-service .service-card {
  height: auto;
  padding: 20px;
  display: flex;
  gap: 20px;
}
.sub-service .service-card-excerpt p {
  -webkit-line-clamp: 3;
}
.sub-service {
  grid-template-columns: 1fr 1fr;
}
.sub-service .service-content {
  text-align: start;
}
.sub-service .service-card-title {
  margin: 0px 0 10px;
}
.sub-service .service-card-excerpt p {
  margin-bottom: 0px;
}
.sub-service .service-card-image img {
  max-width: 50px !important;
}
/* End Services */
/* Case Study Start */
.case-study-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.case-study-box {
  display: grid;
  border-radius: 20px;
  padding: 30px;
  background-color: #eb242610;
  transition: 0.3s ease;
  min-height: 300px;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.case-study-box .post-excerpt {
  font-size: 16px;
  font-weight: 400;
  line-height: 25px;
  font-family: "Figtree";
  color: #4b4b4b;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 5;
}
.case-study-box a {
  background: #eb2426;
  padding: 10px 20px;
  border-radius: 50px;
  color: #ffffff !important;
  font-size: 16px;
  font-family: "Figtree";
  font-weight: 400;
  position: absolute;
  bottom: 0px;
  left: 0px;
}
.case-study-box a:hover {
  background-color: #ffffff;
  color: #000000 !important;
  box-shadow: 0 0 10px 0 #00000020;
}
.case-study-content {
  padding-bottom: 60px;
  position: relative;
}
.case-study-content h3 {
  font-size: 24px;
  margin-bottom: 8px;
  font-weight: 600;
  font-family: "Figtree";
}
.case-study-content .know-more {
  text-decoration: none;
  font-weight: 600;
  color: #111;
  display: inline-block;
  transition: 0.3s ease;
}
.case-study-content .know-more:hover {
  /* transform: translateX(5px); */
  color: #f1333e;
}
.case-study-img {
  height: 100%;
}
.case-study-img img {
  border-radius: 10px !important;
  object-fit: cover !important;
  height: 100% !important;
  width: 100%;
}
/* Case Study End */

/* Testimonial Start*/
.customer-sec {
  color: #eb2426;
  font-weight: 600;
  font-size: 40px;
}

.service-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
}
.single-service {
  background: #ffffff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}
.sub-service-list {
  margin-top: 10px;
  padding-left: 20px;
  list-style-type: disc;
}
.dialog-close-button:focus-visible {
  outline: none !important;
}
.dialog-close-button {
  text-decoration: none !important;
}

.zf-templateWidth label.zf-labelName {
  font-family: "Figtree", sans-serif;
  font-weight: 400;
  font-size: 16px !important;
  line-height: 26px !important;
  color: #ffffff;
}
.zf-templateWidth input[type="text"],
.zf-templateWidth textarea {
  border-radius: 10px;
  padding: 10px;
  font-family: "Figtree", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  border: none;
  width: 100%;
}
.zf-nameWrapper,
.zftwoColumn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  width: 100%;
}
.zf-submitColor {
  color: #ffffff !important;
  background: #000000 !important;
  cursor: pointer;
  transition: 0.5s ease all;
}
.zf-submitColor:hover {
  color: #000000 !important;
  background: #ffffff !important;
}
.zf-templateWidth .tag-field {
  display: none !important;
}
p.zf-fmFooter {
  margin-top: 30px;
}
.message-text {
  margin-top: 20px;
}
.newslatter-form {
  display: flex;
  align-items: center;
  max-width: 600px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 0 2px #fff;
  padding: 0px 15px !important;
}

.newslatter-form .zf-tempContDiv,
.newslatter-form .zf-fmFooter {
  margin: 0;
  padding: 0;
}

.newslatter-form .zf-tempContDiv span {
  display: flex;
  flex: 1;
}

.newslatter-form input[type="text"] {
  flex: 1;
  padding: 14px 0px;
  font-size: 16px;
  border: none;
  outline: none;
  color: #000;
  border-radius: 0;
}

.newslatter-form button.zf-submitColor {
  background-color: #000;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.newslatter-form button.zf-submitColor:hover {
  background-color: #222;
}

.newslatter-form .zf-errorMessage {
  display: block;
  font-size: 14px;
  color: red;
  margin-top: 4px;
}
.newslatter-form .zf-tempContDiv {
  width: 100%;
}
/* Pricing grid */
.pricing-section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-top: 20px;
}

/* Plan card styling */
.plan {
  background: #fff;
  font-family: "Figtree";
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.plan-body p {
  margin: 10px 0;
  color: #8e8f8f;
}
/* Plan title */
.plan h3 {
  font-size: 20px;
  color: #f23f44;
  margin-bottom: 8px;
  margin-top: 0;
}
.table-title {
  margin: 0;
  color: #ffffff;
  font-size: 30px;
  background: #000000;
  text-align: center;
  font-family: "Figtree", Sans-serif;
  padding: 15px;
}
/* Price */
.plan strong {
  font-size: 18px;
  display: block;
  margin-bottom: 15px;
  color: #000;
}

/* Features list */
.plan ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.plan ul li {
  padding: 6px 0;
  border-bottom: 1px solid #eee;
}

.plan ul li:last-child {
  border-bottom: none;
}
/*---------------responsive------------------*/
@media only screen and (max-width: 1160px) {
  .footer-menu {
    display: block !important;
    text-align: center !important;
  }
  .menu-sec {
    /* display: grid; */
    /* grid-template-columns: 1fr 1fr 1fr; */
    /* text-align: center; */
    margin-top: 50px !important;
    justify-content: center !important;
  }
  .social-icon {
    width: 100% !important;
    text-align: center !important;
    gap: 20px !important;
  }
  .social-icon .elementor-social-icons-wrapper,
  .footer-logo {
    text-align: center !important;
  }
  .footer-menu ul li {
    justify-content: center !important;
  }
  .tnp-subscription {
    max-width: unset !important;
    margin-top: 30px !important;
  }
}
@media only screen and (min-width: 1025px) {
  .header_popup {
    display: none !important;
  }
}
@media only screen and (max-width: 1024px) {
  .tnp-subscription input[type="submit"] {
    width: auto !important;
  }
  .service-image img {
    width: auto !important;
  }
  .contact-btn {
    padding: 0 !important;
    width: fit-content;
    margin-left: 0px !important;
    background-color: transparent;
    background-image: none;
    color: #000000 !important;
    border-radius: 0;
  }
  .contact-btn a {
    color: #000000 !important;
  }
  .case-study-wrapper {
    grid-template-columns: 1fr;
  }
  .case-study-box {
    min-height: auto;
  }
  .service-cards-grid {
    gap: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .case-study-box {
    padding: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .border-gradient {
    background-image: radial-gradient(
      at center center,
      #eb2426 30%,
      #ffffff 70%
    ) !important;
  }
  .service_img_box {
    height: auto;
  }
}
@media only screen and (max-width: 540px) {
  .sub-service {
    grid-template-columns: 1fr;
  }
  .contact-form .row {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .case-study-box {
    display: flex;
    flex-flow: column-reverse;
  }
  .tech-sec .e-con-inner {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: 1fr !important;
  }
}
