
/*@import url('https://i.icomoon.io/public/temp/dcd4adf5cc/SalvaguardadaCapoeira/style.css');*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;700&display=swap');

@font-face {
  font-family: 'icon';
  src:
    url('../fonts/icon.ttf?qk57j8') format('truetype'),
    url('../fonts/icon.woff?qk57j8') format('woff'),
    url('../fonts/icon.svg?qk57j8#icon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-user:before {
  content: "\e90f";
}
.icon-calendar:before {
  content: "\e90e";
}
.icon-walking:before {
  content: "\e90c";
}
.icon-clock:before {
  content: "\e90d";
}
.icon-check:before {
  content: "\e909";
}
.icon-arrow:before {
  content: "\e907";
}
.icon-arrow-up:before {
  content: "\e911";
}
.icon-prev:before {
  content: "\e90a";
}
.icon-next:before {
  content: "\e90b";
}
.icon-info:before {
  content: "\e906";
}
.icon-pin:before {
  content: "\e900";
}
.icon-camera:before {
  content: "\e912";
}
.icon-bag:before {
  content: "\e910";
}
.icon-search:before {
  content: "\e908";
}
.icon-close:before {
  content: "\e913";
}
.icon-facebook-square:before {
  content: "\e905";
}
.icon-whatsapp:before {
  content: "\e904";
}
.icon-facebook:before {
  content: "\e901";
}
.icon-instagram:before {
  content: "\e902";
}
.icon-youtube:before {
  content: "\e903";
}


@font-face {
    font-family: 'Butler Stencil';

    src: url('../fonts/butlerstencil-bold.woff2') format('woff2'),
         url('../fonts/butlerstencil-bold.woff') format('woff');

    font-style: normal;
    font-weight: 700;
}

:root {
    --default-font: 'Open Sans';
}

/*** reset ********************************************************************
 ******************************************************************************/

    /*** all ***/
    * {
        border: 0;
        margin: 0;
        padding: 0;

        resize: none;
        outline: none;

        box-sizing: border-box;
        background: transparent;
    }


    /*** lists ***/
    ul,
    ol,
    li {
        list-style: none;
    }


    /*** titles ***/
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: 10px;
        line-height: 10px;
    }


    /*** tables ***/
    table {
        border-spacing: 0;
        border-collapse: collapse;
    }


    /*** links & buttons ***/
    a {
        text-decoration: none;
    }

    button {
        cursor: pointer;
    }


/*** shared styles ************************************************************
 ******************************************************************************/

    /*** body ***/
    html,
    body {
        font-size: 10px;
        line-height: 10px;
    }

    body {
        position: relative;
        overflow-x: hidden;
    }

    body,
    input,
    button,
    select,
    textarea {
        font-family: var(--default-font);
    }

    /*** fonts ***/
    .stencil {
        font-family: 'Butler Stencil';
    }

    /*** flex box ***/
    .flex {
        display: flex;
    }

    .flex.wrap {
        flex-wrap: wrap;
    }

    .flex > * {
        flex-grow: 0;
        flex-shrink: 0;
    }

    .flex.grow,
    .flex > .grow {
        flex-grow: 1;
    }

    .flex.shrink,
    .flex > .shrink {
        flex-shrink: 1;
    }

    .flex.column {
        flex-direction: column;
    }

    .flex.align-end {
        align-items: flex-end;
    }

    .flex.align-start {
        align-items: flex-start;
    }

    .flex.align-center {
        align-items: center;
    }

    .flex.justify-end {
        justify-content: flex-end;
    }

    .flex.justify-start {
        justify-content: flex-start;
    }

    .flex.justify-center {
        justify-content: center;
    }

    .flex.justify-space-between {
        justify-content: space-between;
    }

    /*** container ***/
    .container,
    .container-fluid {
        margin: auto;
        padding: 0 30px;
    }

    .container {
        width: 100%;
        max-width: 1430px;
    }

    /*** accessibility ***/
    .for-display {
        speak: none;
    }

    .for-sreader {
        display: block;

        font-size: 14px;
        line-height: 0px;

        margin-left: -10000px;
    }

    /*** fields ***/
    input,
    select,
    textarea {
        width: 100%;
        color: #623f2f;

        font-size: 1.8rem;
        font-weight: 400;
        line-height: 2.4rem;

        border: 2px solid rgba(98,63,47, 0.5);
        padding: 1.4rem 1.6rem;
        border-radius: 1rem;

        -webkit-appearance: none;
                appearance: none;
    }

    input::placeholder,
    textarea::placeholder {
        color: #623f2f;
    }

    input::-webkit-search-decoration,
    input::-webkit-search-cancel-button,
    input::-webkit-search-results-button,
    input::-webkit-search-results-decoration {
        -webkit-appearance: none;
                appearance: none;
    }

    select {
        padding-right: 4.6rem;
    }

    .select-wrapper,
    .search-wrapper {
        position: relative;
    }

    .select-wrapper .icon-arrow,
    .search-wrapper .icon-search {
        color: #623f2f;

        top: 0.0rem;
        right: 1.6rem;
        bottom: 0.0rem;

        font-size: 1.0rem;
        line-height: 1.0rem;

        -webkit-pointer-events: none;
                pointer-events: none;

        position: absolute;
    }

    .search-wrapper input {
        border: 0;
        padding: 0 1.6rem;

        font-size: 1.8rem;
        line-height: 4.8rem;

        -webkit-appearance: none;
                appearance: none;

        background: rgba(98,63,47, 0.2);
    }

    .search-wrapper .icon-search {
        font-size: 2.0rem;
        line-height: 2.0rem;
    }

    /*** buttons ***/
    .button,
    .woocommerce a.button,
    .woocommerce input.button,
    .woocommerce button.button,
    .woocommerce .product button.button.alt,
    .single-product .button.single_add_to_cart_button {
        color: #d68038;
        display: inline-block;

        font-size: 1.6rem;
        font-weight: 700;
        line-height: 2.4rem;
        letter-spacing: 0.16rem;

        padding: 0.5rem 2rem;
        border-radius: 1.7rem;
        border: #d68038 2px solid;

        text-align: center;
        text-transform: uppercase;

        background: transparent;
    }

    .button.large {
        font-size: 1.8rem;
        line-height: 2.6rem;
        letter-spacing: 0.2rem;

        padding: 1.5rem 4rem;
        border-radius: 3rem;
    }

    .woocommerce .product a.button,
    .woocommerce .product input.button,
    .woocommerce .product button.button,
    .woocommerce .product button.button.alt,
    .single-product .button.single_add_to_cart_button {
        color: #ffffff;
        background-color: #d68038 !important;
    }

    /*** page elements ***/
    .breadcrumb {
        color: rgba(255,255,255,0.5);

        font-size: 1.5rem;
        font-weight: 400;
        line-height: 2.0rem;
    }

    .breadcrumb a {
        color: rgba(255,255,255,0.5);
    }

    .page-header {
        padding: 28rem 0 3.6rem;
        background: #29120e;
    }

    .page-header h2 {
        color: #f5f2ed;

        font-size: 4.3rem;
        font-weight: 700;
        line-height: 3.9rem;

        margin-right: 2rem;
    }

    .page-header .text {
        color: #f5f2ed;
        max-width: 40%;

        font-size: 1.8rem;
        font-weight: 400;
        line-height: 3.0rem;

        text-align: right;
    }

    .page-header .breadcrumb {
        margin-bottom: 2rem;
    }

    .page-content {
        width: calc(100% - 300px - 10rem);
    }

    .page-sidebar {
        width: 300px;
        margin: 0 0 0 10rem;
    }

    .page-sidebar.left {
        margin: 0 10rem 0 0;
    }

    .page-summary {
        width: 100%;

        margin: 4.2rem 0;
        padding: 0 0 2.5rem;

        border-bottom: 2px solid #d0c5bd;
    }

    .page-summary .hat {
        color: #d68038;
        margin: 0 0 0.5rem;

        font-size: 1.6rem;
        font-weight: 400;
        line-height: 1.8rem;

        letter-spacing: 0.1rem;
        text-transform: uppercase;
    }

    .page-summary .title {
        color: #623f2f;

        font-size: 2.8rem;
        font-weight: 700;
        line-height: 3.0rem;

        margin-right: 2rem;
    }

    .page-summary .order {
        color: #623f2f;
        font-size: 1.6rem;
        line-height: 2.4rem;
        font-weight: 400;
    }

    .page-summary .order .select-wrapper {
        margin-left: 2.8rem;
    }

    .page-summary .order .select-wrapper select {
        font-style: italic;
    }

    .gallery-prev.button.large,
    .gallery-next.button.large {
        width: 6rem;
        height: 6rem;
        padding: 0rem;
        line-height: 6rem;
    }

    .offset-gallery .item {
        height: 25rem;
        overflow: hidden;
        border-radius: 1rem;
    }

    .offset-gallery .item img {
        object-fit: cover;

        width: 100%;
        height: 100%;

        object-position: center;
    }

    .accordion .item {
        margin: 1.6rem 0 0;
        position: relative;
    }

    .accordion .item .title {
        color: #d68038;

        border: #d68038 2px solid;
        border-radius: 1rem;

        font-size: 1.8rem;
        font-weight: 400;
        line-height: 2.2rem;

        padding: 2rem 7.2rem 2rem 3.2rem;
        position: relative;
        transition: 0.4s ease;

        cursor: pointer;
    }

    .accordion .item .title span {
        top: 0rem;
        right: 0rem;
        padding: 2rem 3.2rem;

        font-size: 1.0rem;
        line-height: 2.2rem;

        -webkit-pointer-events: none;
            pointer-events: none;

        position: absolute;
        transition: 0.4s ease;
    }

    .accordion .item .description {
        height: 0;
        overflow: hidden;
    }

    .accordion .item .description div {
        padding: 2rem 3.2rem;
    }

    .accordion .item.expanded .title {
        color: #ffffff;
        font-weight: 700;
        background: #623f2f;
        border-color: #623f2f;
    }

    .accordion .item.expanded .title span {
        transform: rotate(-180deg);
    }

    .accordion .item.expanded-complete .description {
        height: auto;
    }

    .card {
        overflow: hidden;
        position: relative;

        padding: 4rem 8rem 4rem 43rem;
        background: #ffffff;
        box-shadow: 0rem 1.0rem 3.6rem rgba(0,0,0, 0.2);

        border-radius: 2rem;
    }

    .card .hat {
        color: #d68038;

        font-size: 1.6rem;
        font-weight: 300;
        line-height: 2.0rem;
        text-transform: uppercase;

        margin-bottom: 1rem;
    }

    .card .title {
        color: #623f2f;

        font-size: 4rem;
        font-weight: 700;
        line-height: 4.6rem;

        margin-bottom: 1rem;
    }

    .card .description {
        color: #623f2f;

        font-size: 1.8rem;
        font-weight: 400;
        line-height: 2.8rem;
    }

    .card .button {
        margin-top: 2.8rem;
    }

    .card > img {
        top: 0;
        left: 0;

        width: 35rem;
        height: 100%;

        object-fit: cover;
        object-position: center;

        position: absolute;
    }

    .card.dark {
        background: #29120e;
    }

    .card.dark .title,
    .card.dark .description {
        color: #ffffff;
    }

    .card.right {
        padding: 4rem 43rem 4rem 8rem;
    }

    .card.right > img {
        top: 0;
        left: auto;
        right: 0;
    }


/*** main header **************************************************************
 ******************************************************************************/

    body:before {
        z-index: 3;

        top: 0;
        left: 0;
        right: 0;
        height: 26rem;

        content: '';
        display: block;
        position: absolute;

        background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%);
    }

    /*** base ***/
    .main-header {
        z-index: 4;

        top: 0;
        left: 0;
        right: 0;

        display: block;
        position: absolute;

        /*background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);*/
    }

    .main-header,
    .main-header .container {
        height: 15rem;
        overflow: visible;
    }

    .main-header .container {
        position: relative;
    }

    /*** col ***/
    .main-header .col {
        flex-basis: 50%;
        border-bottom: #f5f2ed 2px solid;
    }

    .main-header .col .top {
        height: 2.6rem;
        margin: 2.2rem 0 4.5rem;
    }

    .main-header .col .bottom {
        height: 4.8rem;
    }

    .main-header .col .bottom a {
        color: #f5f2ed;

        font-size: 1.6rem;
        font-weight: 700;
        line-height: 4.8rem;
        letter-spacing: 0.2rem;

        text-align: center;
        text-transform: uppercase;
    }

    .main-header .col:nth-child(1) .top a,
    .main-header .col:nth-child(1) .bottom a {
        margin-right: 3rem;
    }

    .main-header .col:nth-child(1) .top a {
        color: #f5f2ed;
        font-size: 1.8rem;
        line-height: 2.6rem;
    }

    .main-header .col:nth-child(1) .top a .for-display.icon-youtube {
        font-size: 2.4rem;
    }

    .main-header .col:nth-child(3) .top a,
    .main-header .col:nth-child(3) .bottom a {
        margin-left: 3rem;
    }

    .main-header .col:nth-child(3) .top a {
        color: #f5f2ed;

        font-size: 1.5rem;
        font-weight: 400;
        line-height: 2.6rem;
    }

    .main-header .col:nth-child(3) .top a .for-display {
        font-size: 2.0rem;
        line-height: 2.6rem;
    }

    .main-header .col:nth-child(3) .top a .for-display.icon-user {
        margin-right: 1.2rem;
    }

    .main-header .col:nth-child(3) .top a .for-display.icon-bag {
        font-size: 2.2rem;
    }

    /*** logo ***/
    .main-header .logo {
        width: 19rem;
    }

    .main-header .logo a {
        margin: auto;

        width: 10rem;
        height: 15rem;
        bottom: -4rem;

        display: block;
        position: relative;

        background: url(../images/logo.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

    /*** aldir-blanc ***/
    .main-header .aldir-blanc {
        top: calc(100% + 3.5rem);
        right: 30px;

        width: 8.2rem;
        height: 8.2rem;

        background: url(../images/logo-aldir-blanc.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;

        position: absolute;
    }

/*** main footer **************************************************************
 ******************************************************************************/

    /*** base ***/
    .main-footer {
        position: relative;
        z-index: 2;
        padding: 3.5rem 0;
        background: #000000;
    }

    /*** logo ***/
    .main-footer .logo {
        width: 39rem;
        height: auto;
        margin: auto;
        display: block;
    }

    /*** partners ***/
    .main-footer .partners {
        height: auto;
        margin: auto;
        display: block;
        max-width: calc(100% - 60px);
    }

    /*** nav ***/
    .main-footer nav {
        margin: 3rem 0 6rem;
        text-align: center;
    }

    .main-footer nav:after {
        margin: 1.4rem auto 0;
        max-width: 75rem;

        content: '';
        display: block;
        position: relative;

        border-bottom: #7b7977 1px solid;
    }

    .main-footer nav a {
        color: #ffffff;

        font-size: 1.6rem;
        font-weight: 700;
        line-height: 4.8rem;
        letter-spacing: 0.2rem;

        text-align: center;
        text-transform: uppercase;

        margin: 0 1.5rem;
    }

    .sign {
        z-index: 2;
        position: relative;
        color: #7a7876;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.6rem;
        background: black;
        padding: 1.9rem;
        text-align: center;
        text-transform: uppercase;
    }

    .sign a {
        color: #7a7876;
        font-weight: 700;
    }

    /*** hovers ***/
    @media (min-width: 992px) {

        .main-footer nav a {
            transition: 0.3s ease;
        }

        .main-footer nav a:hover {
            color: #d68038;
        }

        .sign a:hover {
            text-decoration: underline;
        }

    }

/*** hovers *******************************************************************
 ******************************************************************************/

    @media (min-width: 992px) {
        .button {
            transition: 0.2s ease;
        }

        .button:hover,
        .woocommerce a.button:hover,
        .woocommerce input.button:hover,
        .woocommerce button.button:hover,
        .woocommerce .product button.button.alt:hover,
        .single-product .button.single_add_to_cart_button:hover {
            color: #ffffff;
            background: #d68038;
        }

        .breadcrumb a: {
            text-decoration: underline;
        }

        .main-header .col a,
        .main-header .col a {
            position: relative;
            transition: 0.3s ease;
        }

        .main-header .col:nth-child(1) .bottom a:after,
        .main-header .col:nth-child(3) .bottom a:after {
            left: 0;
            right: 0;
            bottom: -0.9rem;

            content: '';
            display: block;
            position: absolute;

            transform: scaleX(0);
            transition: 0.3s ease;

            border-bottom: #d68038 2px solid;
        }

        .main-header .col:nth-child(1) .top a:hover,
        .main-header .col:nth-child(3) .top a:hover,
        .main-header .col:nth-child(1) .bottom a:hover,
        .main-header .col:nth-child(3) .bottom a:hover {
            color: #d68038;
        }

        .main-header .col:nth-child(1) .bottom a:hover:after,
        .main-header .col:nth-child(3) .bottom a:hover:after {
            transform: scaleX(1);
        }
    }


/*** responsive ***************************************************************
 ******************************************************************************/

    @media (max-width: 1500px) {

        html, body {
            font-size: 8px;
            line-height: 8px;
        }

        .container {
            max-width: 1170px;
        }

        .page-sidebar {
            width: 250px;
        }

        .page-content {
            width: calc(100% - 250px - 10rem);
        }

    }

    @media (max-width: 1150px) {

        .card {
            padding: 4rem 8rem 4rem 30rem;
        }

        .card.right {
            padding: 4rem 30rem 4rem 8rem;
        }

        .card > img {
            width: 25rem;
        }

    }

    @media (max-width: 991px) {

        .page-header {
            padding: 34rem 0 3.6rem;
        }

        .page-header .text {
            max-width: 50%;
        }

        .page-sidebar,
        .page-sidebar.left {
            width: 100%;
            margin: 6rem 0 0;
        }

        .page-sidebar.left {
            margin: 0 0 6rem;
        }

        .page-content {
            width: 100%;
        }

        .menu-toggle {
            top: 8rem;
            right: 30px;
            width: 35px;
            position: absolute;
        }

        .menu-toggle div {
            height: 3px;
            margin: 6px 0px;
            background: white;
            transition: 0.2s ease;
        }

        .main-header,
        .main-header .container {
            height: 18rem;
        }

        .main-header .col {
            position: relative;
        }

        .main-header .col .top {
            position: absolute;
        }

        .main-header .col:nth-child(1) .top { top: 0; left: 0; }
        .main-header .col:nth-child(3) .top { top: 0; right: 0; }

        .main-header .col:nth-child(1) .top a,
        .main-header .col:nth-child(3) .top a {
            font-size: 0rem;
            line-height: 3.0rem;
        }

        .main-header .col:nth-child(1) .top a .for-display {
            font-size: 2.3rem;
        }

        .main-header .col:nth-child(1) .top a .for-display.icon-youtube {
            font-size: 3.0rem;
        }

        .main-header .col:nth-child(3) .top a .for-display.icon-user {
            font-size: 2.5rem;
            margin-right: 0rem;
        }

        .main-header .col:nth-child(3) .top a .for-display.icon-bag {
            font-size: 2.8rem;
        }

        .main-header .col .bottom,
        .main-header .col:nth-child(3) .bottom {
            z-index: 1000;

            top: 0;
            left: 0;
            width: 260px;
            height: 100vh;

            position: fixed;
            flex-direction: column;
            justify-content: flex-start;

            transform: translateX(-100%);
            transition: transform 0.4s ease;

            background: rgb(68 33 26);
        }

        .main-header .col:nth-child(3) .bottom {
            top: 35rem;
            background: transparent;
        }

        .main-header .col .bottom a,
        .main-header .col:nth-child(3) .bottom a {
            color: #d68038;
            width: 100%;
            margin: 2rem 0rem;
        }

        .main-header .logo a {
            bottom: -7rem;
        }

        .main-header.menu-visible .col .bottom,
        .main-header.menu-visible .col:nth-child(3) .bottom {
            transform: translateX(0%);
        }

        .main-header.menu-visible .menu-toggle div:nth-child(1) {
            transform: translateY(9px) rotate(45deg);
        }

        .main-header.menu-visible .menu-toggle div:nth-child(2) {
            opacity: 0;
        }

        .main-header.menu-visible .menu-toggle div:nth-child(3) {
            transform: translateY(-9px) rotate(-45deg);
        }

        .main-header.menu-visible .col:nth-child(1) .bottom {
            box-shadow: 4rem 0 4rem rgba(0,0,0,0.1);
        }

    }

    @media (max-width: 767px) {

        .flex.wrap-on-mobile {
            flex-wrap: wrap;
        }

        .container,
        .container-fluid {
            padding-left: 20px;
            padding-right: 20px;
        }

        .page-header .text {
            width: 100%;
            max-width: 100%;
            margin-top: 2rem;
            text-align: left;
        }

        .page-summary .order {
            width: 100%;
            margin-top: 2.5rem;
        }

        .card,
        .card.right {
            padding: 30rem 2rem 4rem;
        }

        .card > img {
            width: 100%;
            height: 26rem;
        }

        .card .button {
            width: 100%;
        }

        .menu-toggle {
            right: 20px;
        }

        .main-header .aldir-blanc {
            right: 20px;
        }

    }

    @media (max-width: 600px) {

        html #wpadminbar {
            top: -46px;
        }

    }

    .modal-visible {
        overflow: hidden;
    }

    .modal {
        z-index: 1000;

        top: 0;
        left: 0;
        right: 0;
        bottom: 0;

        display: none;
        overflow: auto;
        position: fixed;

        background: rgba(0,0,0,0.2);
    }

    .modal.visible {
        display: block;
    }

    .modal.visible.center {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .modal .window {
        overflow: visible;
        position: relative;

        width: 71rem;
        margin: 4rem auto;
        padding: 4rem;
        max-width: calc(100% - 30px);
        border-radius: 2rem;

        background: #ffffff;
        box-shadow: 0rem 1rem 3.6rem rgba(0,0,0,0.4);
    }

    .modal .close {
        top: 0;
        right: 0;
        padding: 1.6rem;
        border-radius: 50%;

        color: #ffffff;
        background: #623f2f;

        font-size: 1.8rem;
        align-items: center;
        justify-content: center;

        display: flex;
        position: absolute;
        transform: translate3d(30%,-30%,0);
    }

    .modal .window .title {
        color: #623f2f;
        font-size: 4rem;
        font-weight: 700;
        line-height: 4.6rem;
        margin-bottom: 1rem;
    }

    .modal .window .description {
        color: #623f2f;

        font-size: 1.8rem;
        font-weight: 400;
        line-height: 2.8rem;

        margin-bottom: 2rem;
    }

    .modal .window form {
        margin-top: 5rem;
    }

    .modal .window label {
        color: #d68038;
        display: block;

        font-size: 1.6rem;
        font-weight: 400;
        line-height: 2.0rem;
        text-transform: uppercase;

        margin: 2rem 1.6rem;
        margin-bottom: 1rem;
    }

    .modal .window input::placeholder {
        color: #666;
    }

    .modal .window textarea::placeholder {
        color: #666;
    }

    .modal .window .sep {
        margin: 6rem 0 5rem;
        border-top: 1px solid #d0c5bd;
    }

    .modal .window .button {
        margin-top: 4rem;
        margin-left: auto;
    }

    .modal .window .button-wrapper {
        display: flex;
    }

    .modal .window .validation {
        width: 100%;
        color: #990000;

        font-size: 1.8rem;
        font-weight: 400;
        line-height: 2.4rem;

        margin: 0 1.6rem;
        margin-top: 0.5rem;
    }
}
