.loader-wrap svg {
   fill: #efefef;
}

/* Keep the loader full-screen and center its content */
body.loaded .loader-wrap {
   position: fixed !important;
   inset: 0 !important;
   width: 100% !important;
   height: 100% !important;
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   opacity: 1 !important;
   visibility: visible !important;
   z-index: 999999 !important;
}

/* Keep the heading exactly in the center */
.loader-wrap .loader-wrap-heading {
   position: relative !important;
   top: auto !important;
   left: auto !important;
   transform: none !important;
   margin: 0 !important;
   opacity: 1 !important;
   visibility: visible !important;
   z-index: 2 !important;
}

/* Keep the complete text centered */
.loader-wrap .loader-wrap-heading .load-text {
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: max-content !important;
   margin: 0 auto !important;
   opacity: 1;
   visibility: visible !important;
   transform: none;
   text-transform: none;
   gap: 6px;
}

.loader-wrap .loader-wrap-heading .load-text span {
   display: inline-block !important;
   opacity: 1 !important;
   visibility: visible !important;
   animation: none !important;
}

/* Internet: red */
.loader-wrap .loader-wrap-heading .load-text span:nth-child(-n + 8) {
   color: #cb0101 !important;
}

/* Marketing.gr: black */
.loader-wrap .loader-wrap-heading .load-text span:nth-child(n + 9) {
   color: #000 !important;
}

.tp-main-menu nav > ul > li > a {
  font-size: 17px;
  text-transform: capitalize;
}

/* Header language selector */
.header-languages {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   gap: 7px;
   margin-left: 20px;
   white-space: nowrap;
}

.header-languages a {
   color: #111;
   font-size: 13px;
   font-weight: 400;
   line-height: 1;
   text-decoration: none;
   transition: color 0.3s ease;
}

.header-languages a:hover,
.header-languages a.active {
   color: #209d50;
}

.header-languages span {
   color: #999;
   font-size: 13px;
}

/* Mobile */
@media (max-width: 1199px) {
   .header-languages {
      margin-left: 0;
      margin-right: 15px;
   }

   .header-languages a {
      font-size: 13px;
   }
}

.pt-250 {
  padding-top: 250px;
}

/* Hide the template's custom black cursor */
#magic-cursor,
#magic-cursor #ball {
    display: none !important;
}

/* Hero area */
.tp-hero-spacing {
   position: relative;
   padding-top: 350px;
   padding-bottom: 220px;
}

/* Top-left title */
.tp-hero-support-text {
   position: absolute;
   top: 110px;
   left: 16%;
   z-index: 2;
   color: #fff;
   font-size: 52px;
   font-weight: 500;
   line-height: 1.05;
   letter-spacing: -2px;
}

.tp-hero-support-text span {
   display: block;
}

/* Main hero title */
.tp-hero-title {
   position: relative;
   z-index: 2;
   margin: 0;
   font-size: 68px;
   text-transform: capitalize;
   color: #fff !important;
   text-align: center;
}

/* Tablet */
@media (max-width: 1199px) {
   .tp-hero-spacing {
      padding-top: 400px;
      padding-bottom: 110px;
   }

   .tp-hero-support-text {
      top: 100px;
      left: 7%;
      font-size: 48px;
   }

   .tp-hero-title {
      font-size: 48px;
   }
}

/* Mobile */
@media (max-width: 767px) {
   .tp-hero-spacing {
      padding-top: 300px;
      padding-bottom: 80px;
   }

   .tp-hero-support-text {
      top: 80px;
      left: 25px;
      font-size: 38px;
      line-height: 1.08;
      letter-spacing: -1px;
   }

   .tp-hero-content {
      margin-left: 0 !important;
   }

   .tp-hero-title {
      padding: 0 20px;
      font-size: 36px;
      line-height: 1.1;
   }
}
/* tp-portfolio-area-start */
.tp-portfolio-sa-title {
  font-size: 55px;
}

.tp-brand-2-item {
  height: 140px;
  opacity: 1;
  padding: 0 20px;
  background-color: #fff;
}
.tp-brand-2-item:hover {
  opacity: 0.5;
}

.tp-bg-common-red {
  background-color: #cb0101;
}

.tp-service-pp-item {
  background-color: #f5f5f5;
}

.tp_text_invert > div {
  background-image: linear-gradient(to right, #10302a 50%, #a0a8a6 50%);
}

#web_development div {
   background-image: linear-gradient(to right, #fff 50%, #000 50%) !important;
}

.homepage-video-img::after {
   display: none !important;
}

.homepage-video-img img {
  margin-top: 0;
}

/* Πελάτες Logo */
.tp-brand-item a {
  opacity: 1;
}
.tp-brand-item a:hover {
  opacity: 0.5;
}
.tp-brand-item a img {
   max-height: 30px;
}
#indexLogoCarousel .swiper-wrapper {
   transition-timing-function: linear !important;
}

/* First two portfolio banners - no animation */
.no-banner-animation,
.no-banner-animation .tp-portfolio-sa-thumb,
.no-banner-animation .tp-portfolio-sa-thumb img {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

.tp-portfolio-sa-thumb img {
border-radius: 30px;
}

.no-banner-animation .tp-portfolio-sa-thumb img:hover {
    transform: none !important;
}

/* ==========================================
   INDEX PAGE LOGO CAROUSEL
========================================== */

.index-logo-carousel-full {
   position: relative;
   width: calc(100vw - 40px);
   max-width: 1384px;
   margin-left: 50%;
   transform: translateX(-50%);
   overflow: hidden;
}

.index-logo-carousel {
   position: relative;
   width: 100%;
   overflow: hidden;
}

/* Creates smooth continuous movement */
.index-logo-carousel .swiper-wrapper {
   align-items: center;
   transition-timing-function: linear !important;
}

.index-logo-carousel .swiper-slide {
   height: 190px;
   padding: 25px;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   background-color: transparent;
}

.index-logo-carousel .swiper-slide img {
   display: block;
   width: 100%;
   height: 100%;
   max-width: 210px;
   object-fit: contain;
   padding: 50px 0;
}

/* Slider arrows */
.index-logo-carousel-arrow {
   position: absolute;
   top: 50%;
   z-index: 20;
   width: 54px;
   height: 54px;
   padding: 0;
   border: 0;
   border-radius: 0;
   background-color: rgba(255, 255, 255, 0.92);
   color: #111;
   display: flex;
   align-items: center;
   justify-content: center;
   transform: translateY(-50%);
   cursor: pointer;
   transition:
      background-color 0.3s ease,
      color 0.3s ease;
}

.index-logo-carousel-arrow svg {
   width: 30px;
   height: 30px;
   fill: none;
   stroke: currentColor;
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round;
}

.index-logo-carousel-prev {
   left: 10px;
}

.index-logo-carousel-next {
   right: 10px;
}

.index-logo-carousel-arrow:hover {
   background-color: #cb0101;
   color: #fff;
}

/* Tablet */
@media (max-width: 991px) {
   .index-logo-carousel .swiper-slide {
      height: 170px;
      padding: 20px;
   }
}

/* Mobile */
@media (max-width: 767px) {
   .index-logo-carousel-full {
      width: calc(100vw - 20px);
   }

   .index-logo-carousel .swiper-slide {
      height: 140px;
      padding: 15px;
   }

   .index-logo-carousel .swiper-slide img {
      max-width: 150px;
   }

   .index-logo-carousel-arrow {
      display: none;
   }
}

/* =========================================
   CLIENT LOGOS – FINAL STABLE VERSION
   ========================================= */

.al-brands-archi-area {
   width: 100%;
   overflow: hidden;
}

.al-brands-archi-slider {
   width: 100%;
   overflow: hidden;
}

.al-brand-archi-slider {
   width: 100%;
   min-height: 80px;
   overflow: hidden !important;

   cursor: default !important;
   touch-action: pan-y;
}

.al-brand-archi-slider:active {
   cursor: default !important;
}

.al-brand-archi-slider .swiper-wrapper {
   display: flex;
   align-items: center;
   transition-timing-function: linear !important;
   -webkit-transition-timing-function: linear !important;
}

/*
 * Do not add width:auto here.
 * Swiper calculates each responsive slide width.
 */
.al-brand-archi-slider .swiper-slide {
   flex-shrink: 0;
   min-height: 80px;

   display: flex;
   align-items: center;
   justify-content: center;

   -webkit-user-select: none;
   user-select: none;
}

.al-brand-archi-slider .tp-brand-item {
   width: 100%;
   min-height: 80px;

   display: flex;
   align-items: center;
   justify-content: center;

   cursor: default;
}

.al-brand-archi-slider a,
.al-brand-archi-slider img {
   -webkit-user-select: none;
   user-select: none;
   -webkit-user-drag: none;
}

/* Logos are links; slider dragging is disabled in slider-init.js. */
.al-brand-archi-slider a {
   position: relative;
   z-index: 5;
   pointer-events: auto !important;
   cursor: pointer !important;
}

.al-brand-archi-slider img {
   pointer-events: none !important;
   cursor: pointer;
}

.al-brand-archi-slider img {
   display: block;
   width: auto;
   max-width: 100%;
   height: auto;
   max-height: 30px;
}

/* ===== BRANDS - 5 LOGOS PER ROW ===== */
@media (min-width: 1200px) {

    .tp-brand-2-item-wrap {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    .tp-brand-2-item-wrap > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
    }

    .tp-brand-2-item {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 25px 15px !important;
        box-sizing: border-box !important;
    }

    .tp-brand-2-item img {
        width: auto !important;
        max-width: 90% !important;
        height: auto !important;
        max-height: 75px !important;
        object-fit: contain !important;
    }
}

/* tp-about-area-start */
.tp-about-cst-tab ul {
    display: flex;
    justify-content: center !important;
    align-items: center;
    flex-wrap: wrap;
    padding-left: 0;
    margin-left: 0;
    width: 100%;
}

/* Brand slider logos */
.al-brand-item {
   display: flex;
   align-items: center;
   justify-content: center;
   height: 110px;
   padding: 15px 25px;
}

.al-brand-mark {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   transition: transform 0.3s ease, opacity 0.3s ease;
}

.al-brand-logo {
   display: block;
   width: 42px;
   height: 42px;
   flex: 0 0 42px;
   color: #111;
   fill: currentColor;
}

/* Meta / Tailwind are naturally wider */
.al-brand-logo-wide {
   width: 52px;
   height: 42px;
   flex-basis: 52px;
}

/* Postmark P remains visible inside circle */
.al-brand-logo .postmark-inner {
   fill: #fff;
}

.al-brand-text {
   display: block;
   font-size: 15px;
   font-weight: 600;
   line-height: 1.1;
   color: #1b1b1b;
   text-align: left;
   white-space: nowrap;
}

.al-brand-text small {
   font-size: 12px;
   font-weight: 600;
   line-height: 1;
}

/* Hover: keep brand colors, only scale slightly */
.al-brand-item:hover .al-brand-mark {
   transform: scale(1.05);
   opacity: 0.95;
}


/* Brand icon colors */
.brand-google-search-console {
   color: #4285f4;
}

.brand-google-ads {
   color: #4285f4;
}

.brand-meta {
   color: #0866ff;
}

.brand-mailchimp {
   color: #111111;
}

.brand-postmark {
   color: #111111;
}

.brand-nodejs {
   color: #5fa04e;
}

.brand-laravel {
   color: #ff2d20;
}

.brand-javascript {
   color: #f7df1e;
}

.brand-tailwind {
   color: #06b6d4;
}

.brand-rest-api {
   color: #2496ed;
}

.brand-azure {
   color: #0089d6;
}

.brand-dynamodb {
   color: #4053d6;
}

.brand-shopify {
   color: #7ab55c;
}

.brand-adobe {
   color: #e1251b;
}


/* Tablet */
@media (max-width: 991px) {
   .al-brand-item {
      height: 95px;
      padding: 12px 18px;
   }

   .al-brand-mark {
      gap: 8px;
   }

   .al-brand-logo {
      width: 36px;
      height: 36px;
      flex-basis: 36px;
   }

   .al-brand-logo-wide {
      width: 46px;
      height: 36px;
      flex-basis: 46px;
   }

   .al-brand-text {
      font-size: 13px;
   }

   .al-brand-text small {
      font-size: 11px;
   }
}


/* Mobile */
@media (max-width: 575px) {
   .al-brand-item {
      height: 80px;
      padding: 10px 14px;
   }

   .al-brand-mark {
      gap: 7px;
   }

   .al-brand-logo {
      width: 30px;
      height: 30px;
      flex-basis: 30px;
   }

   .al-brand-logo-wide {
      width: 38px;
      height: 30px;
      flex-basis: 38px;
   }

   .al-brand-text {
      font-size: 11px;
   }

   .al-brand-text small {
      font-size: 9px;
   }
}

/* =========================================
   BRAND SLIDER - MOBILE / INITIAL LOAD FIX
   ========================================= */

.al-brand-active {
    width: 100%;
    overflow: hidden !important;
}

/* Prevent logos from stacking before Swiper starts */
.al-brand-active .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    transition-timing-function: linear !important;
}

.al-brand-active .swiper-slide {
    flex-shrink: 0 !important;
}

/* Desktop */
@media (min-width: 992px) {
    .al-brand-active .swiper-slide {
        width: auto !important;
    }
}

/* Tablet */
@media (max-width: 991px) {
    .al-brand-active .swiper-slide {
        width: 190px !important;
        flex: 0 0 190px !important;
    }
}

/* Mobile */
@media (max-width: 575px) {

    .al-brand-active {
        overflow: hidden !important;
    }

    .al-brand-active .swiper-wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }

    .al-brand-active .swiper-slide {
        width: 165px !important;
        flex: 0 0 165px !important;
    }
}

/* About navigation – two columns on mobile */
@media (max-width: 767px) {

   .tp-about-cst-tab ul {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 15px;
      row-gap: 12px;
      width: 100%;
      margin: 0;
      padding: 0;
   }

   .tp-about-cst-tab ul .nav-tab-item {
      display: block !important;
      width: 100% !important;
      min-width: 0;
      margin: 0 !important;
      padding: 0 !important;
   }

   .tp-about-cst-tab ul .nav-tab-item a {
      display: block;
      width: 100%;
      font-size: 13px;
      line-height: 1.3;
      white-space: normal !important;
      word-break: normal !important;
   }
}

/* Index E-Travel carousel */
.index-e-travel-carousel-full {
   position: relative;
   width: calc(100vw - 40px);
   max-width: 1800px;
   margin-left: 50%;
   transform: translateX(-50%);
   overflow: hidden;
}

.index-e-travel-carousel {
   position: relative;
   width: 100%;
   overflow: hidden;
}

.index-e-travel-carousel .swiper-wrapper {
   display: flex;
   align-items: stretch;
}

.index-e-travel-carousel .swiper-slide {
   height: auto;
   aspect-ratio: 648 / 485;
   overflow: hidden;
   border-radius: 20px;
}

.index-e-travel-carousel .swiper-slide img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.index-e-travel-carousel-arrow {
   position: absolute;
   top: 50%;
   z-index: 20;
   width: 30px;
   height: 30px;
   padding: 0;
   border: 0;
   border-radius: 0;
   background-color: rgba(255, 255, 255, 0.92);
   color: #111;
   display: flex;
   align-items: center;
   justify-content: center;
   transform: translateY(-50%);
   cursor: pointer;
   transition:
      background-color 0.3s ease,
      color 0.3s ease;
}

.index-e-travel-carousel-arrow svg {
   width: 15px;
   height: 15px;
   fill: none;
   stroke: currentColor;
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round;
}

.index-e-travel-carousel-prev {
   left: 20px;
}

.index-e-travel-carousel-next {
   right: 20px;
}

.index-e-travel-carousel-arrow:hover {
   background-color: #cb0101;
   color: #fff;
}

@media (max-width: 767px) {
   .index-e-travel-carousel-full {
      width: calc(100vw - 20px);
   }

   .index-e-travel-carousel-arrow {
      display: none;
   }
}

/* Σχεδιασμός Ιστοσελίδων */
.upd-btn-black-square.cnt-btn-style.btn-transparent {
  background-color: #cb0101;
  color: #fff;
  border: 1px solid #cb0101;
}

.tp-digital-transformation-icon {
  position: absolute;
  top: 1280px;
  left: 40px;
  z-index: -1;
}

.tp-service-hero-shape {
  right: 23px;
}
.tp-service-hero-shape-2 {
  position: absolute;
  right: 23px;
  bottom: -80px;
}

/* FAQ banners */
.cnt-faq-wrap .ar-award-item {
    position: relative;
    overflow: hidden;
    transition: background-color 0.3s ease !important;
}

/* Every banner red on hover */
.cnt-faq-wrap .ar-award-item:hover {
    background-color: #cb0101 !important;
}

/* Override possible theme background layers */
.cnt-faq-wrap .ar-award-item:first-child::before,
.cnt-faq-wrap .ar-award-item:first-child::after,
.cnt-faq-wrap .ar-award-item:hover::before,
.cnt-faq-wrap .ar-award-item:hover::after {
    background-color: #cb0101 !important;
}

/* White text */
.cnt-faq-wrap .ar-award-item:hover .ar-award-title {
    color: #fff !important;
}

/* White arrow */
.cnt-faq-wrap .ar-award-item:first-child .ar-award-icon,
.cnt-faq-wrap .ar-award-item:hover .ar-award-icon {
    color: #fff !important;
}

.cnt-faq-wrap .ar-award-item:first-child .ar-award-icon svg path,
.cnt-faq-wrap .ar-award-item:hover .ar-award-icon svg path {
    stroke: #fff !important;
}

/* Keep banner content above any pseudo-element */
.cnt-faq-wrap .ar-award-item .row {
    position: relative;
    z-index: 3;
}

/* Full-width space occupied by the video */
.tp-video-vp-wrap {
   position: relative;
   width: 100%;
}

/* The complete video remains full width.
   clip-path controls how much of it is visible. */
#video.tp-video-vp-img-inner-2 {
   position: relative;

   width: 100vw;
   height: 56.25vw;

   left: 50%;
   transform: translateX(-50%);

   overflow: hidden;

   /* Initial small circular video */
   clip-path: circle(75px at 50% 50%);
   -webkit-clip-path: circle(75px at 50% 50%);

   will-change: clip-path;
}

/* YouTube player */
#video .tp-youtube-background {
   position: absolute;
   top: 50%;
   left: 50%;

   width: 100%;
   height: 100%;

   transform: translate(-50%, -50%);

   border: 0;
   pointer-events: none;
}

/* Smaller initial circle on mobile */
@media (max-width: 767px) {
   #video.tp-video-vp-img-inner-2 {
      clip-path: circle(48px at 50% 50%);
      -webkit-clip-path: circle(48px at 50% 50%);
   }
}

/* Second video in Σχεδιασμός Ιστοσελίδων */
.cnt-portfolio-video-wrapper iframe {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 100vw;
    height: 56.25vw;

    min-width: 177.78vh;
    min-height: 100vh;

    max-width: none;
    border: 0;

    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* SEO */
.tp-hero-it-spacing {
  padding-top: 130px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tp-hero-it-bigtitle {
    font-size: 150px;
  }
}
.tp-about-it-expreance {
  font-size: 330px;
}
.tp-about-it-blur {
  background-color: #fececf;
}
.al-choose-archi-faq-btn.accordion-button:not(.collapsed) {
  color: var(--tp-common-black);
}
.al-choose-archi-details-para p {
  color: var(--tp-common-black);
}
.tp-about-it-feature span.feature-2 {
  background: #9c060d;
}
.tp-about-it-feature span.feature-3 {
  background: #dee2e6;
}

.al-choose-archi-faq-btn {
  color: #000;
}
.al-choose-archi-faq-btn .accordion-btn::before {
  background-color: #000;
  opacity: 1;
}
.al-choose-archi-faq-btn .accordion-btn::after {
  background-color: #000;
  opacity: 1;
}

/* Video section */
.al-video-pg-area {
   position: relative;
   width: 100%;
   overflow: hidden !important;
   isolation: isolate;
}
/* Strict boundary for the embedded video */
.al-video-pg-wrap {
   position: relative !important;
   width: 100% !important;
   aspect-ratio: 16 / 9;
   overflow: hidden !important;
   background: #000;
   z-index: 1;
}
/* Embedded YouTube video */
.al-video-pg-wrap .youtube-embed-video {
   position: absolute !important;
   top: 50% !important;
   left: 50% !important;

   width: calc(100% + 4px) !important;
   height: calc(100% + 4px) !important;

   min-width: 0 !important;
   min-height: 0 !important;
   max-width: none !important;
   max-height: none !important;

   margin: 0 !important;
   padding: 0 !important;
   border: 0 !important;

   transform: translate(-50%, -50%) !important;
   pointer-events: none;
}
/* Ensure the following section stays above its own background */
.al-video-pg-area + section,
.al-video-pg-area + div {
   position: relative;
   z-index: 2;
}
.al-video-img::after {
  background-color: rgba(2, 18, 23, 0);
}

.al-hero-seo-title span {
  color: #c00d11;
}

.tp-bg-common-red-gradient {
   background-color: #cb0101;

   background-image:
      radial-gradient(
         ellipse at 5% 0%,
         rgba(255, 255, 255, 0.72) 0%,
         rgba(255, 255, 255, 0.38) 28%,
         transparent 55%
      ),
      radial-gradient(
         ellipse at 90% 0%,
         rgba(255, 255, 255, 0.72) 0%,
         rgba(255, 255, 255, 0.42) 35%,
         transparent 68%
      ),
      radial-gradient(
         ellipse at 50% 115%,
         #ffb2a8 0%,
         #ffb2a8 35%,
         transparent 72%
      ),
      linear-gradient(
         115deg,
         #ffb2a8 0%,
         #ffb2a8 48%,
         #ffb2a8 100%
      );

   background-repeat: no-repeat;
   background-size: cover;
}

/* E-Travel */
/* Keep the E-Travel underline correctly positioned */
.e-travel-title-highlight {
   white-space: nowrap;
}

.e-travel-title-highlight .al-hero-seo-title-line {
   left: 50%;
   width: 205px;
   margin-left: -102.5px;
   bottom: -25px;
}

.e-travel-title-highlight .al-hero-seo-title-line svg {
   display: block;
   width: 100%;
   height: auto;
}

.al-hero-seo-title-box p {
  font-size: 18px;
}
/* E-Travel hero elements on mobile */
@media (max-width: 767px) {

   /* Underline below “ψηφιακές λύσεις” */
   .e-travel-title-highlight .al-hero-seo-title-line {
      left: 50%;
      width: 170px;
      margin-left: -85px;
      bottom: -22px;
   }

   /* Decorative Greece image */
   .al-hero-seo-shape-1 {
      display: block !important;
      width: 22%;
      height: auto;
      left: 0;
      bottom: 25%;
      z-index: 2;
   }
}

/* Remove white gradient from E-Travel hero image */
.e-travel-hero-dashboard::after {
   display: none;
}

.al-step-number {
  background-color: #c00d11;
}
.al-step-icon > span {
  color: #cb0101;
  border: 2px solid #d4842f;
}
.al-step-icon > span::after {
  border: 1px dashed #cb0101;
}
.al-step-item.active .al-step-icon > span {
  border-color: #d4842f;
  background-color: #d4842f;
}
.al-step-item:hover .al-step-icon > span {
  border-color: #d4842f;
  background-color: #d4842f;
}
.al-project-seo-btn a {
   color: #fff;
   border-color: #c00d11;
   background: #c00d11;
}
.al-project-seo-btn a:hover {
   color: #fff;
   border-color: #000;
   background: #000;
}
.al-project-seo-title a {
   color: #c00d11;
}
.al-project-seo-title a:hover {
   color: #000;
}
.al-step-title-sm {
  font-weight: bold;
}
.al-project-seo-info h5 {
   color: #c00d11;
}
.al-project-seo-info span {
   color: #c00d11;
}
.al-project-seo-title-box .al-section-subtitle.fs-12 {
   color: var(--tp-common-black-1);
   background-color: var(--tp-grey-6);
}
.al-project-seo-item {
  background: #dee2e6;
}
.al-service-seo-title-box .al-section-subtitle.fs-12 {
  color: var(--tp-common-black-1);
  background-color: var(--tp-grey-6);
}

.al-project-seo-area .al-project-seo-info span {
   color: #000;
   font-size: 15px;
   font-weight: 800;
   line-height: 1.8;
   letter-spacing: 0.4px;
}
.tp-process-pp-count {
  width: 60px;
  height: 60px;
  line-height: 60px;
}
.tp-btn-cst {
  background-color: #c00d11;
}
.tp-btn-cst:hover {
   background-color: #000;
}
.tp-skill-wd-para {
  background: #c00d11;
}

/* Full-screen E-Travel carousel */
.e-travel-carousel-full {
   position: relative;
   width: calc(100vw - 40px);
   max-width: 1384px;
   margin-left: 50%;
   transform: translateX(-50%);
   overflow: hidden;
}

.e-travel-carousel {
   width: 100%;
   overflow: hidden;
   position: relative;
}

.e-travel-carousel .swiper-slide {
   aspect-ratio: 648 / 485;
   height: auto;
   overflow: hidden;
   border-radius: 30px;
}

.e-travel-carousel .swiper-slide img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   border-radius: 0;
}

.e-travel-carousel-arrow {
   position: absolute;
   top: 50%;
   z-index: 20;
   width: 54px;
   height: 54px;
   padding: 0;
   border: 0;
   border-radius: 0;
   background-color: rgba(255, 255, 255, 0.92);
   color: #111;
   display: flex;
   align-items: center;
   justify-content: center;
   transform: translateY(-50%);
   cursor: pointer;
   transition:
      background-color 0.3s ease,
      color 0.3s ease;
}

.e-travel-carousel-arrow svg {
   width: 30px;
   height: 30px;
   fill: none;
   stroke: currentColor;
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round;
}

.e-travel-carousel-prev {
   left: 20px;
}

.e-travel-carousel-next {
   right: 20px;
}

.e-travel-carousel-arrow:hover {
   background-color: #cb0101;
   color: #fff;
}

@media (max-width: 767px) {
   .e-travel-carousel-arrow {
      display: none;
   }
}

/* E-Travel title wrapping on mobile */
@media (max-width: 767px) {

   .e-travel-title-highlight {
      display: inline-block !important;
      width: 100%;
      max-width: 100%;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
      -webkit-hyphens: none !important;
      hyphens: none !important;
      text-align: center;
   }

   .al-hero-seo-title {
      width: 100%;
      max-width: 100%;
      padding-left: 5px;
      padding-right: 5px;
   }
}


/* ΠΟΛΥΜΕΣΑ */
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px) {
  .al-about-pg-area {
    padding-bottom: 75px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .al-about-pg-area {
    padding-bottom: 60px;
  }
}
.al-about-pg-border {
   padding-bottom: 25px;
  margin-bottom: 0;
}
.tp-about-sa-btn a {
  color: #fff;
  border: 1px solid #cb0101;
  background: #cb0101;
}
.tp-about-sa-btn a:hover {
  color: #cb0101;
  border: 1px solid #cb0101;
  background: #fff;
}

.al-section-pg-title {
  font-family: var(--tp-ff-p);
  font-size: 100px;
}

.al-section-pg-subtitle {
  font-family: var(--tp-ff-p);
}

.al-about-pg-title-box p {
  font-family: var(--tp-ff-p);
}

.al-about-pg-content p {
  font-size: 18px;
  font-family: var(--tp-ff-p);
}

@media (max-width: 767px) {

   .al-about-pg-border,
   .al-about-pg-title-box,
   .tp-about-wd-title-wrap {
      width: 100%;
      max-width: 100%;
      overflow: visible !important;
   }

   /* Φωτογράφιση / Διαφημιστικά Βίντεο / Έντυπα */
   .al-section-pg-title {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-right: 0 !important;
      padding-right: 0 !important;

      font-size: clamp(40px, 9vw, 42px) !important;
      line-height: 1.18 !important;
      letter-spacing: -0.02em !important;

      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: break-word !important;
      text-wrap: wrap !important;
      overflow: visible !important;
   }

   /* Correct wrappers created by the title animation */
   .al-section-pg-title > div,
   .al-section-pg-title > div > div,
   .al-section-pg-title span,
   .tp-about-wd-title > div,
   .tp-about-wd-title > div > div,
   .tp-about-wd-title span {
      max-width: 100% !important;
      white-space: normal !important;
      overflow: visible !important;
   }

   /* Web Media Marketing & Πολυμέσα */
   .tp-about-wd-title {
      width: 100% !important;
      max-width: 100% !important;

      font-size: clamp(29px, 8.5vw, 35px) !important;
      line-height: 1.2 !important;

      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: break-word !important;
      text-wrap: wrap !important;
      overflow: visible !important;
   }
}

/* CASE STUDIES */
.tp-blog-cst-item:hover {
  background: #f5f5f5;
}

/* ΕΠΙΚΟΙΝΩΝΙΑ */
/* Email and telephone correction on mobile */
@media (max-width: 767px) {

   .tp-contact-number > .d-flex {
      width: 100%;
      min-width: 0;
      margin-right: 0 !important;
   }

   .tp-contact-number .tp-contact-icon {
      flex: 0 0 auto;
   }

   .tp-contact-email[href^="mailto:"],
   .tp-contact-email[href^="tel:"] {
      display: inline-block;
      min-width: 0;
      max-width: calc(100% - 50px);
      font-size: clamp(17px, 5.2vw, 24px) !important;
      line-height: 1.25 !important;
      letter-spacing: -0.02em;
      white-space: nowrap !important;
   }
}
.tp-contact-spacing {
  padding-top: 100px;
}
.tp-contact-icon {
   background-color: #c00d11;
   color:#fff;
}
.tp-bg-theme-red {
   background-color: #c00d11;
}
.scrollToTop .arrowUp {
   color: #fff;
}
.scrollToTop .water {
   background-color: #c00d11;
   border: 1px solid #c00d11;
}
.scrollToTop .water svg use {
  fill: #c00d11 !important;
}

/* Keep the back-to-top button above the copyright on mobile. */
@media (max-width: 767px) {
   .scrollToTop {
      transition: margin-bottom 0.25s ease;
   }

   .scrollToTop.is-at-page-end {
      margin-bottom: 70px;
   }
}

.tp-text-slider-item span {
  color: #fff;
}
.tp-text-slider-item span.borders {
  background: #fff;
}

/* footer */
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .tp-footer-ai-bigtitle {
    font-size: 100px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tp-footer-ai-bigtitle {
    font-size: 100px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .tp-footer-ai-bigtitle {
    font-size: 50px;
  }
}
@media (max-width: 574.98px) {
  .tp-footer-ai-bigtitle {
    font-size: 50px;
  }
}
.tp-footer-top-title {
  font-size: 80px;
}
.tp-cta-wd-email:hover {
  color: #fff;
}
/* Footer contact button — red hover */
.tp-footer-btn .tp-btn-rounded:hover {
   background: #fff !important;
   border-color: #cb0101 !important;
   color: #cb0101 !important;
}
.tp-footer-btn .tp-btn-circle-dot {
  background: #fff;
}
.tp-footer-btn .tp-btn-rounded:hover .tp-btn-circle-dot {
   background-color: #fff !important;
}

/* ==================================================
   GLOBAL MOBILE TEXT AND WORD-WRAPPING CORRECTIONS
   ================================================== */

@media (max-width: 767px) {

   /*
    * Keep complete words together.
    * If a word does not fit, move it to the next line.
    */
   h1,
   h2,
   h3,
   h4,
   h5,
   h6,
   p,
   li,
   blockquote,
   label,
   figcaption {
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
      -webkit-hyphens: none !important;
      hyphens: none !important;
      max-width: 100%;
   }

   /*
    * Headings wrap more naturally across mobile lines.
    */
   h1,
   h2,
   h3,
   h4,
   h5,
   h6 {
      text-wrap: balance;
   }

   /*
    * Homepage hero:
    * InternetMarketing.gr is a single long word,
    * so its font must reduce smoothly on small screens.
    */
   .tp-hero-title {
      width: 100%;
      max-width: 100%;
      padding-left: 12px !important;
      padding-right: 12px !important;
      font-size: clamp(25px, 7.8vw, 36px) !important;
      line-height: 1.12 !important;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
      text-align: center;
   }

   /*
    * Prevent fixed or animated text elements
    * from becoming wider than their parent.
    */
   .tp-hero-content,
   .tp-hero-support-text,
   .tp-section-title,
   .al-section-title,
   .al-hero-seo-title,
   .tp-text-revel-anim {
      max-width: 100%;
   }
}

/*
 * Very small phones: 320–374px
 */
@media (max-width: 374px) {
   .tp-hero-title {
      padding-left: 8px !important;
      padding-right: 8px !important;
      font-size: clamp(24px, 7.6vw, 28px) !important;
   }

   .tp-hero-support-text {
      left: 20px;
      right: 20px;
      font-size: 34px;
   }
}


/* Keep loader visible without blocking page scrolling */
body.loaded {
   height: auto !important;
   overflow-x: hidden !important;
   overflow-y: auto !important;
}

.loader-wrap {
   pointer-events: none !important;
}

body,
h1, h2, h3, h4, h5, h6,
p, a, li, span,
label, button,
input, textarea, select {
   font-family: var(--tp-ff-dm) !important;
}

i,
[class^="flaticon-"],
[class*=" flaticon-"],
[class^="icon-"],
[class*=" icon-"],
.fa,
.fas,
.far,
.fab {
   font-family: inherit;
}

/* Keep the CTA title words together */
.tp-footer-title-word {
   display: inline-block !important;
   white-space: nowrap !important;
   word-break: keep-all !important;
}
.tp-footer-title-word:not(:last-child) {
   margin-right: 0.25em !important;
}

@media (max-width: 767px) {

   .tp-footer-top-title.rotate-text-anim {
      width: 100%;
      max-width: 100%;
      font-size: clamp(48px, 16vw, 72px) !important;
      line-height: 1 !important;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
      text-wrap: balance;
   }

   .tp-footer-title-word {
      display: inline-block !important;
      white-space: nowrap !important;
      word-break: keep-all !important;
      overflow-wrap: normal !important;
   }
   .tp-footer-title-word:not(:last-child) {
      margin-right: 0.25em !important;
   }
}