/**
Theme Name: ad-fusion
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adfusion
Template: astra
*/
/* Footer */

.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
  max-width: 1600px !important;
}

.ast-builder-footer-grid-columns {
  align-items: baseline !important;
}

.address-meta {
  margin-left: 0 !important;
  margin: 0 32px 32px 0;
}

@media (min-width: 1600px) {
  .site-footer-below-section-3 {
    padding-left: 24px;
  }
}

@media (max-width: 921px) {
  .astra-widget-address {
    text-align: center !important;
  }

  .address-meta {
    margin: 0 0 32px 0 !important;
  }

  .widget-address-field {
    padding: 0 50px !important;
  }

  .ast-builder-grid-row-container.ast-builder-grid-row-mobile-full .ast-builder-grid-row:has(.footer-logo) {
    display: flex;
    justify-content: center;
    padding-left: 8px !important;
  }
}
/* hide admin bar */

html:has(#wpadminbar) div#wpadminbar {
  display: none;
}

html:has(#wpadminbar) .admin-bar #page {
  min-height: 100vh;
}

html:has(#wpadminbar) {
  margin-top: 0 !important;
}

body {
  background-color: #E7E5DC;
}
/* Main header */

.site-header {
  position: fixed !important;
}

.ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item {
  position: relative;
  width: 85vw;
  margin: 25px auto;
}

.ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item .site-branding,
.ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item .main-header-bar-navigation {
  position: relative;
  z-index: 1;
}

.ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item .main-header-menu .menu-item {
  padding: 0 auto !important;
}

.ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(190, 190, 190, 0.9);
  filter: blur(2px);
  z-index: -1;
  border-radius: 50px;
}

a.menu-link {
  padding: 0 !important;
  margin: 0 32px !important;
}

ul.main-header-menu {
  display: flex;
  justify-content: space-between !important;
}

@media (max-width: 1280px) {
  [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    width: 25px;
    height: 25px;
    fill: #ffffff;
  }
}

@media (min-width: 1440px) {
  a.menu-link {
    margin: 0 68px !important;
  }
}

@media (max-width: 1200px) {
  .ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item {
    width: 100vw;
  }

  /* .ast-desktop .ast-primary-header-bar.main-header-bar,
    .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar {
        margin: 15px auto !important; 
    } */

  a.menu-link {
    margin: 0 10px !important;
  }
}

@media (max-width: 450px) {
  h1.main-head {
    font-size: 44px !important;
  }
}

@media (max-width: 920px) {
  .ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item::before {
    border-radius: 0;
    top: -2px;
    left: -4px;
    right: -4px;
    bottom: -2px;
  }

  .ast-mobile-header-content {
    background: inherit !important;
    top: 74px !important;
  }

  .ast-mobile-header-content .main-navigation {
    background-color: rgba(190, 190, 190, 0.2) !important;
    background: inherit !important;
  }

  .ast-mobile-header-content .main-header-bar-navigation,
  .ast-mobile-header-content .ast-builder-menu-mobile,
  .ast-mobile-header-content .main-header-bar-navigation nav {
    background-color: rgba(190, 190, 190, 0.2) !important;
  }

  .ast-mobile-header-content .main-header-bar-navigation .main-header-menu,
  a.menu-link,
  li.menu-item {
    background-color: rgba(190, 190, 190, 0.2) !important;
    text-align: center;
  }

  a.menu-link {
    margin-left: 0 !important;
  }
}
#klienti {
  padding-left: 0;
}

/* Main h2 */

.real {
  color: white !important;
  mix-blend-mode: difference;
  white-space: nowrap;
  width: auto;
  overflow: visible;
  direction: rtl;
}

/* Blur a bnw grid */

.wp-block-cover {
  position: relative;
  overflow: hidden;
}

.wp-block-cover .wp-block-cover__image-background {
  filter: grayscale(100%) blur(5px);
  transition: filter 0.5s ease-in-out;
}

.wp-block-cover:hover .wp-block-cover__image-background {
  filter: grayscale(0%) blur(0);
  transition: filter 0.5s ease;
}

.wp-block-cover h3 {
  margin: 0;
  position: relative;
  margin-bottom: -32px !important;
  margin-left: -20px !important;
  transition: font-size 0.5s ease, margin-bottom 0.8s ease, margin-left 0.8s ease;
}

.wp-block-cover:hover h3 {
  margin-bottom: -40px !important;
  margin-left: -21px !important;
  font-size: 80px !important;
  transition: font-size 0.5s ease, margin-bottom 0.8s ease, margin-left 0.8s ease;
  letter-spacing: -5px;
}

.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link {
  width: auto;
}

@media (max-width: 540px) {
  .wp-block-cover h3 {
    margin-bottom: -25px !important;
    margin-left: -17px !important;
    font-size: 32px !important;
  }

  .wp-block-cover:hover h3 {
    margin-bottom: -27px !important;
    margin-left: -18px !important;
    font-size: 36px !important;
  }
}

@media only screen and (max-width: 767px) and (min-width: 541px) {
  .wp-block-cover h3 {
    margin-bottom: -29px !important;
    font-size: 48px !important;
  }

  .wp-block-cover:hover h3 {
    margin-bottom: -30px !important;
    margin-left: -17px !important;
    font-size: 52px !important;
  }
}

@media only screen and (max-width: 1399px) and (min-width: 768px) {
  .wp-block-cover h3 {
    margin-bottom: -24px !important;
    margin-left: -17px !important;
    font-size: 32px !important;
  }

  .wp-block-cover:hover h3 {
    margin-bottom: -26px !important;
    margin-left: -17px !important;
    font-size: 36px !important;
  }
}

/* Timeline */

.timeline {
  position: relative !important;
}

/* gradient animation */

.timeline::before {
  content: '';
  position: absolute;
  top: 5px;
  bottom: 0;
  left: -8px !important;
  width: 4px;
  background: linear-gradient(
        to bottom,
        white 0%,
        #d4d0d5 var(--timeline-gradient-stop, 2%),
        #592b69 100%
    );
  z-index: 0;
  border-radius: 10px;
}

/* dots */

.wp-block-uagb-container h3::before {
  content: '';
  position: absolute;
  left: -35px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #592b69;
  border-radius: 50%;
  z-index: 1;
}

h3.head-timeline1::before {
  width: 11px;
  height: 11px;
  margin-left: 3.4px;
}

h3.head-timeline2::before {
  width: 13px;
  height: 13px;
  margin-left: 3.3px;
}

h3.head-timeline3::before {
  width: 15px;
  height: 15px;
  margin-left: 2px;
}

h3.head-timeline4::before {
  width: 17px;
  height: 17px;
  margin-left: 1px;
}

h3.head-timeline5::before {
  width: 19px;
  height: 19px;
}
form {
  margin-top: 11rem;
  width: 100%;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type=reset],
input[type=tel],
input[type=date],
select,
textarea {
  border: none;
  box-shadow: none;
}

form textarea {
  height: 100px;
  display: block;
}

.text {
  flex-direction: column;
  text-align: left;
  align-items: baseline;
}

form p {
  display: flex;
  align-items: center;
}

form label {
  display: flex;
  align-items: center;
  white-space: nowrap;
  border-bottom: 1px solid #000;
  width: 100%;
  font-size: 15px;
  padding-top: 1.2rem;
}

.wpcf7-list-item label {
  border-bottom: none;
  margin: 0.5rem 0 1.5rem 0;
}

form input {
  display: inline-block;
  width: auto;
}

input[type="submit"] {
  background: black;
  border-radius: 50px;
}

input[type="submit"]:hover {
  background: #592b69;
}

.wpcf7-list-item {
  margin: 0 !important;
  border-bottom: none;
}

.wpcf7-list-item-label {
  white-space: normal;
  word-wrap: break-word;
}

.wpcf7 .wpcf7-not-valid-tip {
  color: #592b69;
  margin-left: 12px;
}

.wpcf7 .wpcf7-response-output {
  border-color: #592b69 !important;
  border-radius: 40px;
  margin-left: 0 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.wpcf7 form .wpcf7-response-output {
  margin-left: 0 !important;
}

@media (max-width: 1200px) {
  .contact {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }

  .call {
    padding: 1rem 0 !important;
    margin: 0 !important;
  }

  p.call {
    font-size: 20px !important;
  }

  .astra-widget-address h2 {
    font-size: 15px !important;
  }

  form {
    margin-top: 0;
  }
}

@media only screen and (max-width: 1199px) and (min-width: 768px) {
  #kontakt .uagb-container-inner-blocks-wrap {
    align-items: baseline !important;
  }

  p.call {
    padding-top: 24% !important;
  }
}
.flip-box {
  position: relative;
  width: 381px;
  height: 381px;
  perspective: 1000px;
}

.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s ease;
  transform-style: preserve-3d;
}

.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}

.flip-box-front,
.flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  padding: 0;
}

.flip-box-front img,
.flip-box-back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flip-box-back {
  transform: rotateY(180deg);
}

@media (max-width: 768px) {
  .about-text {
    padding-right: 0 !important;
    text-align: left !important;
  }
}

@media only screen and (max-width: 763px) and (min-width: 572px) {
  .flip-box-front img {
    object-fit: contain !important;
  }
}
.responsive-block-editor-addons-tm__content {
  width: 95% !important;
  margin: auto;
  padding: 50px !important;
  z-index: 1;
}

@media (max-width: 768px) {
  .responsive-block-editor-addons-testomonial__outer-wrap {
    width: 100% !important;
    padding: 0 !important;
    z-index: 1;
    margin: auto !important;
  }
}

.responsive-block-editor-addons-tm__content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(190, 190, 190, 0.2);
  filter: blur(5px);
  z-index: -1;
  border-radius: 50px;
}

ul.slick-dots {
  position: absolute !important;
  bottom: 28px;
  padding-left: 0 !important;
}

.responsive-block-editor-addons-tm__text-wrap {
  display: flex;
  justify-content: space-around;
  flex-direction: column;
}

@media (min-width: 1200px) {
  .responsive-block-editor-addons-tm__text-wrap {
    min-height: 160px !important;
  }
}

@media (max-width: 440px) {
  .responsive-block-editor-addons-tm__content {
    padding: 32px 24px 40px 24px !important;
  }

  .responsive-block-editor-addons-tm__text-wrap {
    min-height: 460px !important;
  }
}

@media only screen and (max-width: 599px) and (min-width: 441px) {
  .responsive-block-editor-addons-tm__text-wrap {
    min-height: 404px !important;
  }
}

@media only screen and (max-width: 799px) and (min-width: 600px) {
  .responsive-block-editor-addons-tm__text-wrap {
    min-height: 268px !important;
  }
}

@media only screen and (max-width: 1199px) and (min-width: 800px) {
  .responsive-block-editor-addons-tm__text-wrap {
    min-height: 218px !important;
  }
}

button {
  box-shadow: none !important;
}
h2.experience {
  text-wrap: wrap;
}

.swiper {
  display: flex;
  align-items: center;
  overflow: hidden;
  justify-content: center;
}

.image-box {
  position: relative;
  height: 485px;
  flex: 0 0 auto;
  width: 98px;
  margin: 5px;
  transition: all 0.5s ease-in-out;
  cursor: pointer;
}

.image-box::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  pointer-events: none;
  z-index: 0;
}

.image-box.active {
  width: 720px;
  height: 485px;
  margin-right: 15px;
}

.image-box.active::after {
  background-color: rgba(0, 0, 0, 0);
}

.image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  filter: grayscale(100%);
  transition: filter 0.3s ease-in-out;
}

.image-box.active img {
  filter: none;
}

.text-overlay {
  position: absolute;
  padding: 0 10px;
  border-radius: 5px;
  transition: all 0.3s ease-in-out;
  white-space: nowrap;
  z-index: 1;
}

.text-overlay h4 {
  margin: 0;
  font-size: 30px;
  text-transform: uppercase;
  color: white;
  transition: all 0.3s ease-in-out;
}

.image-box.active .text-overlay {
  bottom: 35px;
  left: 55%;
  width: 100%;
  transform: translateX(-50%);
  font-size: 1.2rem;
}

.image-box.active .text-overlay h4 {
  font-size: 35px;
}

.image-box:not(.active) .text-overlay {
  width: 100%;
  bottom: 10%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  font-size: 1rem;
  text-align: right;
}

@media (max-width: 999px) {
  .swiper {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .image-box {
    width: 100%;
    height: 5rem;
    margin: 10px 0;
  }

  .image-box img {
    border-radius: 10px;
  }

  .image-box.active {
    width: 100%;
    height: auto;
    margin-right: 0;
  }

  .text-overlay {
    bottom: 15px !important;
    left: 10px !important;
    width: 100% !important;
    text-align: left !important;
    transform: none !important;
  }

  .text-overlay h4 {
    font-size: 25px !important;
  }

  .image-box:not(.active) .text-overlay {
    width: 100% !important;
    bottom: 30% !important;
    transform: none !important;
    margin: auto !important;
  }

  .image-box.active .text-overlay h4 {
    font-size: 24px;
  }
}

@media only screen and (max-width: 1199px) and (min-width: 1000px) {
  .image-box.active {
    width: auto;
    height: 360px;
    margin-right: 15px;
  }

  .image-box {
    height: 360px;
    width: 84px;
    margin: 5px;
  }

  .text-overlay h4 {
    font-size: 24px !important;
  }
}

@media (max-width: 576px) {
  .text-overlay h4 {
    font-size: 20px !important;
  }
}
html {
  overflow-x: hidden;
}

/* Blok oddelovac */

.is-style-wide {
  width: 70vw !important;
  margin-right: 0 !important;
}

/* Responsive headers */

@media (max-width: 1200px) {
  .main-head {
    font-size: 3.5rem !important;
    padding-left: 0 !important;
    letter-spacing: -3px !important;
  }

  h2.header2 {
    font-size: 3.6rem !important;
    text-wrap: wrap;
    letter-spacing: -3px !important;
  }

  h2.real {
    text-wrap: nowrap;
  }
}

@media (max-width: 767px) {
  h2.real {
    text-align: left;
  }
}

@media (max-width: 675px) {
  h2.real {
    left: -22px;
    font-size: 40px !important;
  }

  h2.header2 {
    font-size: 40px !important;
    text-wrap: wrap;
  }
}

@media (max-height: 500px) {
  .main-head {
    font-size: 48px !important;
  }
}

/* Main bloky */

@media (max-width: 440px) {
  #recenze,
  #o-mne,
  #kontakt,
  #nase-prace {
    padding: 0 10px !important;
    width: 95%;
    margin: auto;
  }
}