/*
 * Template Name: Zalox WP
 * @author Zalox
 *
 * @version 1.0.0
 * 
 * It sets the Zalox WP main css styles
*/

/*--------------------------------------------------------------
| TABLE CONTENT
----------------------------------------------------------------
|
| 01 - GLOBAL
| 02 - GAPS & MARGINS
| 03 - FOOTER
|
| A - ELEMENTOR WIDGETS
|  A.1 - ZLX Hamburger
|  A.2 - ZLX Mobile Nav
|  A.3 - ZLX Nav 01
|  A.4 - ZLX Header
|
| B - EXTRAS
|
| @ - RESPONSIVE
| @ max-width: 1024px -> Tablet
| @ max-width: 767px  -> Phone
|
--------------------------------------------------------------*/

/**
 * Correct the margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
p, h1, h2, h3, h4, h5, h6 {
  margin: 0; }


/*--------------------------------------------------------------
| 1 - GLOBAL
--------------------------------------------------------------*/
#zlx_body {
    position: relative;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    max-width: 100vw;
    min-height: 100vh;
    overflow-x: hidden; }

    #zlx_body.zlx_menu_open {
      width: 100vw;
      height: 100vh;
      overflow: hidden; }
  
  #zlx_body > .main_content {
    flex-grow: 1; }
  
  #zlx_body > .elementor-location-header,
  #zlx_body > .elementor-location-footer,
  #zlx_body .copyright_footer_section {
    flex-grow: 0; }


/*--------------------------------------------------------------
| 2 - CUSTOM CLASSES
--------------------------------------------------------------*/
.remover_marcadores ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.animated { 
  transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  -o-transition: all 0.3s linear; }

.paragrafo_sem_espacamento p {
  margin: 0 !important; }

.menu_sem_link {
  pointer-events: none; }

.nav_items_drop_direita ul ul { right: 0px; }
  .nav_items_drop_direita ul ul li { display: flex; }
    .nav_items_drop_direita ul ul li a { justify-content: flex-end; }

.elementor-posts-nothing-found {
  text-align: center;
  padding: 100px 40px; }

.remover-bg img,
.remover-bg .elementor-post__thumbnail {
  mix-blend-mode: multiply; }
  


  .hover_excert article:hover .elementor-post__card {
    background-color: red !important; }


.hover_excert .elementor-post__thumbnail img {
  max-width: 100%;
  width: auto !important;
  height: auto; }


.zlx-card-imagem-radius-45 article .elementor-post__thumbnail {
  border-radius: 45px; }



.zlx-card-excert-hover article {
  display: flex !important;
  flex-direction: column; }

  .zlx-card-excert-hover article .elementor-post__thumbnail__link {
    order: 2;
    z-index: 1;
    opacity: 1; }

    .zlx-card-excert-hover article:hover .elementor-post__thumbnail__link {
      opacity: 0; }

  .zlx-card-excert-hover article .elementor-post__text {
    order: 1;
    position: relative; }

  .zlx-card-excert-hover article .elementor-post__excerpt {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    padding: 0 24px; }

    .zlx-card-excert-hover article:hover .elementor-post__excerpt {
      display: block; }
  




/*--------------------------------------------------------------
| 3 - FOOTER
--------------------------------------------------------------*/
.copyright_footer_section_wraper {
  width: 100vw;
  background-color: var(--e-global-color-5a5305b); }

  .copyright_footer_section {
    display: flex;
    align-content: center;
    align-items: center;
    padding-top: 6px;
    padding-bottom: 40px;
    border-top: 1px solid var(--e-global-color-8f08a5c); }

    .copyright_footer_section .design_by {
      flex-grow: 0;
      margin: 0 auto;
      padding-top: 2px;
      max-width: 60px; }

      .copyright_footer_section .design_by svg {
        width: 60px;
        height: auto; }

        .copyright_footer_section .design_by svg path {
          fill: var(--e-global-color-8f08a5c); }
  

/*--------------------------------------------------------------
| A - ELEMENTOR WIDGETS
--------------------------------------------------------------*/

/*
 * A.1 - ZLX HAMBURGER
 **************************************************************/

.zlx_hamburger {
  width: fit-content; }

.zlx_hamburger_checkbox {
  display: none; }

  .zlx_hamburger_lines {
    width: 24px;
    height: 24px;
    cursor: pointer;
    display: block; }

    .zlx_hamburger_lines div {
      position: relative;
      top: 0;
      height: 4px;
      margin-bottom: 4px;
      transition: 0.3s ease transform, 0.3s ease top, 0.3s ease width,
        0.3s ease right;
      border-radius: 2px; }

    .zlx_hamburger_lines div:first-child {
      transform-origin: 0; }

    .zlx_hamburger_lines div:last-child {
      margin-bottom: 0;
      transform-origin: 12px; }

    .zlx_hamburger_lines div:nth-child(2) {
      right: 0;
      width: 24px; }

.zlx_hamburger_checkbox:checked + .zlx_hamburger_lines div:first-child {
  top: -2px;
  transform: rotateZ(45deg); }

.zlx_hamburger_checkbox:checked + .zlx_hamburger_lines div:last-child {
  top: -6px;
  transform: rotateZ(45deg); }

.zlx_hamburger_checkbox:checked + .zlx_hamburger_lines div:nth-child(2) {
  width: 30px;
  top: 0;
  right: 6px;
  transform: rotateZ(-45deg); }


/*
 * A.2 - MOBILE NAV
 **************************************************************/

/* Hide navigation mobile buttons */
.zlx_mobile_nav .back_li,
.zlx_mobile_nav .clickable_span {
  display: none;
  cursor: pointer; }

/* Clickable span & Back Li */
.zlx_mobile_nav .clickable_span,
.zlx_mobile_nav .back_li:before {
  border: 2px solid;
  padding: 5px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  pointer-events: all; }

.zlx_mobile_nav .clickable_span {
  width: 0;
  height: 0;
  border-top-color: transparent !important;
  border-left-color: transparent !important;
  margin-left: 14px;
  margin-bottom: 1px; }
  
.zlx_mobile_nav .back_li {
  padding-left: 16px;
  position: relative; }

  .zlx_mobile_nav .back_li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    border-bottom-color: transparent !important;
    border-right-color: transparent !important; }


/*
 * A.3 - ZLX NAV 01
 **************************************************************/
     
/* Hide Bullets from menu */
/* Remove padding from menu */
.zlx_nav_01 .zlx_nav_wrapper ul {
  list-style-type: none;
  margin: 0; }

  .elementor-widget-zlx-nav-menu-01 .elementor-widget-container {
    display: flex; }

/* Nav */
.zlx_nav_01 {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  display: none;
  -webkit-animation: fadeout 0.2s linear forwards;
  animation: fadeout 0.2s linear forwards;
  overflow-y: auto; }

  .zlx_nav_01.zlx_menu_open {
    display: block;
    -webkit-animation: fadeino 0.2s linear forwards;
    animation: fadein 0.2s linear forwards; }

    @-webkit-keyframes fadein {
      0% { opacity: 0; }
      100% { opacity: 1; } }
    
    @keyframes fadein {
      0% { opacity: 0; }
      100% { opacity: 1; } }

    @-webkit-keyframes fadeout {
      0% { opacity: 1; }
      100% { opacity: 0; } }
    
    @keyframes fadeout {
      0% { opacity: 1; }
      100% { opacity: 0; } }


    .zlx_nav_01 .zlx_nav_wrapper {
      position: relative;
      max-width: var(--max-width);
      height: 100%;
      margin: 0 auto;
      box-sizing: border-box; }
          
      .zlx_nav_01 .zlx_nav_main {
        display: flex;
        flex-wrap: wrap; }

/* Languages */
.zlx_nav_01 .wpml-ls-legacy-list-horizontal {
  padding: 0; }

  .zlx_nav_01 .wpml-ls ul {
    position: absolute;
    top: 0; }

    .zlx_nav_01 .wpml-ls-item .wpml-ls-link {
      padding: 0px 0px 4px;
      border-bottom: 2px; }

    .zlx_nav_01 .wpml-ls-current-language .wpml-ls-link .wpml-ls-native {
      font-weight: 800 !important; }


/*
 * A.4 - ZLX HEADER
 **************************************************************/

#zlx-header {
  width: 100%;
  z-index: 20; }

  #zlx-header .header__content {
    margin: 0 auto;
    max-width: var(--max-width);
    display: flex; 
    align-items: center;
    justify-content: space-between; }

/* Clears list style and remove margin & padding */
#zlx-header ol,
#zlx-header ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box; }

/* Hide checkbox for hamburger menu */
#zlx-header .header__menu__hamburger__input {
  display: none !important; }

/* MENU */
#zlx-header .header__menu {
  display: block;
  height: 100%; }

  #zlx-header .header__menu__list {
    display: inline-flex;
    align-items: flex-end;
    height: calc( 50% + 20px ); /* 10px - metade da font-size / 10px - padding-bottom */
    padding: 0 20px 10px; }

    #zlx-header .header__menu__list .menu_item_link {
      position: relative;
      border-bottom: solid 2px transparent; }

/* Header Icons Container */
#zlx-header .header_menu_icons {
  display: flex;
  align-items: center; }

  #zlx-header .header_menu_icons > a {
    max-width: 25px;
    min-width: 25px; }

  /* Language dropdown */
  #zlx-header .wpml-ls-legacy-dropdown-click {
    width: max-content;
    margin-right: 10px; }

    #zlx-header .wpml-ls-legacy-dropdown-click ul {
      padding-bottom: 10px; }

      #zlx-header .wpml-ls-legacy-dropdown-click a {
      border: none;
      background-color: transparent;
      transition: all 0.3s linear;
      -webkit-transition: all 0.3s linear;
      -moz-transition: all 0.3s linear;
      -ms-transition: all 0.3s linear;
      -o-transition: all 0.3s linear; }
    
    #zlx-header .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a,
    #zlx-header .wpml-ls-legacy-dropdown-click a:focus,
    #zlx-header .wpml-ls-legacy-dropdown-click a:hover {
      background-color: transparent; }

      .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
        border: none;
        top: 35px !important; }

/* HAMBURGUER */
#zlx-header .header__menu__hamburger {
  display: none;
  position: absolute;
  cursor: pointer; }

/* SUB MENU HOVER */
#zlx-header .main_menu_item .main-sub-menu {
  display: grid;
  position: absolute;
  opacity: 0;
  pointer-events: none;
  left: 0;
  margin-top: 12px;
  padding: 30px 60px 260px 140px;
  height: 100vh;
  width: 100%;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: fit-content(100%);
  grid-column-gap: 0px;
  grid-row-gap: 60px;
  transition: opacity 0.3s ease-in-out;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -ms-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  will-change: opacity;
  overflow-y: scroll;
  z-index: 1; }

  #zlx-header .main_menu_item:hover .main-sub-menu {
    opacity: 1;
    pointer-events: auto; }
  
    #zlx-header .main-sub-menu .secondary-sub-menu {
      height: max-content; }

      #zlx-header .main-sub-menu .sub-menu {
        margin-top: 30px; }

        #zlx-header .main-sub-menu .sub-menu .menu-item {
          margin-top: 16px; }


/*--------------------------------------------------------------
| @ RESPONSIVE
--------------------------------------------------------------*/

@media only screen and (min-width : 1025px) {
   
  /*
   * A.3 - ZLX NAV 01
   **************************************************************/
  .zlx_nav_01 .zlx_nav_main .main_menu_item {
    flex: 1 0 21%; }

    .zlx_nav_01 .zlx_nav_main .main_menu_item:nth-child(4),
    .zlx_nav_01 .zlx_nav_main .main_menu_item:nth-child(8),
    .zlx_nav_01 .zlx_nav_main .main_menu_item:nth-child(12),
    .zlx_nav_01 .zlx_nav_main .main_menu_item:nth-child(16) {
      padding-right: 0 !important; }

  .zlx_nav_01 .zlx_nav_wrapper ul {
    padding: 0; }
  
}



@media (max-width: 1024px) {

  /*
   * A.2 - MOBILE NAV
   **************************************************************/
  .zlx_mobile_nav {
    right: 0;
    width: 320px; }

    .zlx_mobile_nav .zlx_nav_wrapper {
      padding: 80px 20px 20px; }

      .zlx_mobile_nav .zlx_nav_main {
        flex-direction: column;
        padding: 0; }

        .zlx_mobile_nav .main_sub_menu {
          display: none; }
      
  .zlx_mobile_nav .menu-item-has-children {
    display: flex;
    align-items: center;
    justify-content: space-between; }

  /* Clickble Span & Back Btns*/
  .zlx_mobile_nav .clickable_span,
  .zlx_mobile_nav .back_li {
    display: block; }

  /* Sub Menus */
  .zlx_mobile_nav .main_sub_menu.showMenu,
  .zlx_mobile_nav .sec_sub_menu.showMenu {
    display: block;
    z-index: 2; }

  .zlx_mobile_nav .main_sub_menu,
  .zlx_mobile_nav .sec_sub_menu {
    left: 0;
    padding: 25px;
    width: 100%;
    height: calc(100vh - 100px);
    position: absolute;
    top: 100px; }

  /*
   * A.4 - ZLX HEADER */
  #zlx-header .header__content {
    position: relative; }
  
  #zlx-header .header__menu {
    position: fixed;
    right: 0;
    width: 320px;
    height: 0;
    background: var(--e-global-color-c060931);
    font-size: 18px;
    line-height: 40px;
    pointer-events: none;
    overflow: hidden;
    z-index: 1; }

    #zlx-header .menu-item {
      display: block;
      height: 50px !important;
      text-align: left;
      padding: 10px 20px;
      line-height: 30px; }

    #zlx-header .header__menu__list:first-child {
      margin-top: 40px; }

      #zlx-header .main_menu_item,
      #zlx-header .secondary-sub-menu {
        display: flex;
        justify-content: space-between; }
         
    /* Header Icons Container */
    #zlx-header .header_menu_icons {
      margin-right: 50px; }

  /* HAMBURGUER */
  #zlx-header .header__menu__hamburger {
    display: block;
    right: 0;
    margin-bottom: 7px; }

    #zlx-header .header__menu__hamburger__lines {
    display: block;
    width: 31px;
    height: 4px;
    transition: background 0.2s ease-in-out;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    -ms-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out; }

    #zlx-header .header__menu__hamburger__lines::before,
    #zlx-header .header__menu__hamburger__lines::after {
      content: "";
      position: absolute;
      display: block;
      width: 100%;
      height: 100%;
      transition: transform 0.2s ease-in-out;
      -webkit-transition: transform 0.2s ease-in-out;
      -moz-transition: transform 0.2s ease-in-out;
      -ms-transition: transform 0.2s ease-in-out;
      -o-transition: transform 0.2s ease-in-out; }

      #zlx-header .header__menu__hamburger__lines::before {
        top: 8px; }

        #zlx-header .header__menu__hamburger__lines::after {
        top: -8px; }

  /* Hanburger Active (checked) */
  #zlx-header .header__menu__hamburger__input:checked + .header__menu__hamburger .header__menu__hamburger__lines {
    background: transparent !important; }

  #zlx-header .header__menu__hamburger__input:checked + .header__menu__hamburger .header__menu__hamburger__lines::before,
  #zlx-header .header__menu__hamburger__input:checked + .header__menu__hamburger .header__menu__hamburger__lines::after {
    top: 0; }

  #zlx-header .header__menu__hamburger__input:checked + .header__menu__hamburger .header__menu__hamburger__lines::before {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg); }

  #zlx-header .header__menu__hamburger__input:checked + .header__menu__hamburger .header__menu__hamburger__lines::after {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg); }

  #zlx-header .header__menu__hamburger__input:checked ~ .header__menu {
    overflow: auto;
    overflow-x: hidden;
    pointer-events: all;
    height: 100%; }

  /* SUB MENU MOBILE */
  #zlx-header .header__menu__list .menu_item_link {
    border-bottom: none !important; }

    #zlx-header .header__menu__list:hover .menu_item_link {
      border-bottom: none !important; }

  #zlx-header .main_menu_item .main-sub-menu {
    display: flex;
    flex-direction: column;
    top: 0;
    padding: 0;
    height: calc( 100vh - var( --header-height-desktop ) );
    width: 100%;
    grid-column-gap: unset;
    grid-row-gap: unset;
    z-index: 3;
    overflow-y: hidden; }

    #zlx-header .main_menu_item:hover .main-sub-menu {
      opacity: 0;
      pointer-events: none; }

    #zlx-header .showMenu {
      opacity: 1 !important;
      pointer-events: auto !important; }

    #zlx-header .main-sub-menu .main-category {
      text-transform: unset;
      font-size: var(--e-global-typography-accent-font-size);
      font-weight: var(--e-global-typography-accent-font-weight); }

    #zlx-header .main-sub-menu .sub-menu {
      opacity: 0;
      pointer-events: none;
      position: absolute;
      transition: opacity 0.3s ease-in-out;
      -webkit-transition: opacity 0.3s ease-in-out;
      -moz-transition: opacity 0.3s ease-in-out;
      -ms-transition: opacity 0.3s ease-in-out;
      -o-transition: opacity 0.3s ease-in-out;
      will-change: opacity;
      margin-top: unset;
      background: var(--e-global-color-c14da24);
      width: 100%;
      height: calc( 100vh - var( --header-height-desktop ) );
      top: 0;
      left: 0;
      margin-top: 0;
      z-index: 3;
      overflow-y: scroll; }
  
  #zlx-header .menu_item_link {
    display: inline-block;
    width: 100%; }
  
  #zlx-header .main_menu_item > .menu_item_link,
  #zlx-header .secondary-sub-menu > .menu_item_link {
    width: 60%; }

  #zlx-header .main-sub-menu .sub-menu .menu-item:not(:first-child) {
    margin-top: 0;
    font-weight: var(--e-global-typography-accent-font-weight); }
  
  /* Active Main Menu */
  #zlx-header .header__menu__list.main_active {
    background-color: var(--e-global-color-accent); }

    .header__menu__list .menu_item_link.active {
      color: var(--e-global-color-8516ae6) !important;
      border-bottom: none !important; }

  /* Sub Menu Hover Effects */
  #zlx-header .header__menu .menu-item {
    border-bottom: none !important;
    transition: background-color 0.3s linear;
    -webkit-transition: background-color 0.3s linear;
    -moz-transition: background-color 0.3s linear;
    -ms-transition: background-color 0.3s linear;
    -o-transition: background-color 0.3s linear; }

  #zlx-header .header__menu .menu-item:hover {
    background-color: var(--e-global-color-accent); }
  
    #zlx-header .menu_item_link.active,
    #zlx-header .header__menu > .menu-item:hover a {
      color: var(--e-global-color-8516ae6) !important;
      border-bottom: none !important; }
  
  #zlx-header .main-sub-menu .sub-menu .menu-item:hover .menu_item_link {
    font-weight: var(--e-global-typography-accent-font-weight); }

  /* Navigation mobile buttons */
  /* Set clickable span */
  #zlx-header .clickable_span {
    display: block;
    z-index: 1;
    width: 40%;
    height: 36px;
    top: 0;
    position: relative;
    cursor: pointer;
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    border-bottom: solid 2px transparent; }

    #zlx-header .clickable_span::after {
      content: "";
      position: absolute;
      border: solid var(--e-global-color-8516ae6);
      border-width: 0 2px 2px 0;
      right: 2px;
      top: 15px;
      display: inline-block;
      padding: 5px;
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg); }

    #zlx-header .sub_clickable_span::after {
      top: 10px; }

  /* Set Back Button */
  #zlx-header .back_li {
    display: unset; }

    #zlx-header .back_button,
    #zlx-header .back_button::after {
      transition: all 0.3s linear;
      -webkit-transition: all 0.3s linear;
      -moz-transition: all 0.3s linear;
      -ms-transition: all 0.3s linear;
      -o-transition: all 0.3s linear; }

    #zlx-header .back_button {
      font-size: 16px;
      font-weight: 200;
      margin: 0 0 6px 22px;
      cursor: pointer;
      display: block;
      padding-left: 28px;
      color: var(--e-global-color-8516ae6); }

      #zlx-header .back_button::after {
        content: "";
        position: absolute;
        border: solid var(--e-global-color-8516ae6);
        border-width: 0 2px 2px 0;
        left: 29px;
        top: 10px;
        display: inline-block;
        padding: 5px;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        transform: rotate(135deg);
        -webkit-transform: rotate(135deg); }

    #zlx-header .back_li:hover .back_button {
      color: var(--e-global-color-accent); }

    #zlx-header .back_li:hover .back_button::after {
      border: solid var(--e-global-color-accent);
      border-width: 0 2px 2px 0; }

}

@media (max-width: 767px) {
  
}

