/*
Theme Name: Critico Theme
Version:    1.0.0
Template:   perfect-portfolio
*/

html {
    /* margin:    0 0px; */
    /* max-width: 1440px; */

    background-color: #FEFDF9;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    background-color: #FEFDF9;
    /* max-width: 1440px; */
}

body, button, input, select, optgroup, textarea {
    font-family: 'Source Serif Pro' !important;
    font-weight: 400px;
    font-size: 24px;
}

button {
    border: 1px solid black;
    border-radius: 8px;
    font-style: italic;
    letter-spacing: normal;
}

a {
    color: black
}
a:visited {
    color: black;
}

a:hover {
    color: white;
}

 
section .tc-wrapper {
	width: 100%;
}

.site-header .tc-wrapper {
	width: 100%;
}

.site-header .site-logo {
    margin-left: 2vw;
}

.site-header .header-r {
    display: block;
    width: auto;
}

.site-branding {
    float: left;
}

.home .cta-section {
    padding-bottom: 120px;
    margin-bottom: 0px;
}

#about_section {
    padding-top: 20vh;
    margin: 0 5vw 4vh 2vw;
}

#about_section .wp-block-buttons a:hover {
    cursor: pointer;
    background-color: #EAB4C8;
    color: black;
}

section#about_section .about-left {
    flex-basis: 50% !important;
}

section#about_section .about-right {
    flex-basis: 50% !important;
    display: flex;
    flex-direction: column;
    line-height: 31.2px;
}

#about_section .about-right p {
    text-align: left;
    flex-grow: 1;
}

#about_section .about-right .wp-block-buttons {
    text-align: left;
    margin-top: auto;
}

#about_section .about-right p.one {
    max-width: 840px;
    font-size: 24px;
    line-height: 31.2px;
    flex-grow: 1;
}

#about_section .about-right p.two {
    /* font-size: 18px; */
    /* line-height: 23.4px; */
    width: 400px;
}

#about_section .wp-block-buttons a {
    font-size: 15px;
    line-height: 18px;
    font-style: italic;
    border: 1px solid black;
    color: black;
    border-radius: 8px;
    padding: 10px;
    gap: 10px;
}

#about_section img {
    width: 212px;
    height: 380px;
    border-radius: 8px;
    object-fit: cover;
    object-position: 20% 0;
    float: left;
}

.line-full {
    border-bottom: 1px solid black;
}

.line {
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.8) 30%, rgba(0, 0, 0, 0.1) 50%);
    height: 1px;
}

/* slider-section */
.slider-section {
    min-height: 82px;
    height: 140px;
    line-height: 129.6px;

    display: flex;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
}

.slider {
    font-size: 100px;
    animation: loopText 30s infinite linear;      
}

@keyframes loopText {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

@media screen and (max-width: 800px) {
    section#about_section img {
        width: 376px;
        height: 266px;
        object-fit: cover;
        object-position: 100% 0;
    }
}


@media screen and (max-width: 640px) {
    /* .header-r #site-navigation .button-container {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        margin-right: 4vw;
    } */

    section#about_section {
        padding-top: 5px;
    }

    header.site-header {
        margin-bottom: 0px;
    }

    .site-header .site-branding {
        float: left;
        width: 50%;
        text-align: left;
    }

    .site-header .header-r {
        float: right;
        margin-top: -21px;
        padding-right: 10px;
        width: 50%;
        text-align: right;
    }

    .header-r button {
        margin: 0px;
    }
}

@media screen and (max-width: 1415px) {
    .site-header .tc-wrapper {
        padding: 0;
    }

    .tc-wrapper {
        padding: 0;
    }
}

/* cta section */

.cta-section {
    padding-top: 60px;
    line-height: 31.2px;
}

.cta-navigation {
    padding-bottom: 30px;
}

.cta-navigation button {
    display: inline-block;
    width: 150px;
    height: 38px;
    padding: 10px;
    font-style: italic;
    font-size: 15px;
    line-height: 18px;
    text-transform: none;
}

.cta-section .cta-navigation button.active {
    background: black;
    color: #FEFDF9;
}

.cta-navigation-rows {
    font-size: 56px;
    line-height: 67.2px;
} 

.cta-navigation-row {
    padding: 30px;
    transition: all ease-in .24s;
}

.cta-navigation-row:hover {
    font-size: 58px;
    cursor: pointer;
}


.cta-navigation-row.active {
    padding: 30px;
    background: #FEFDF9;
}

.cta-navigation-row.active:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: allscale(1.1);
}

.cta-navigation-row.active:before {
    content: "➛";
    float: left;
    vertical-align: middle;
    font-size: 40px;
}

.cta-navigation-row.active:after {
    content: "➛";
    float: right;
    vertical-align: middle;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    font-size: 40px;
}

.cta-navigation-rows {
    display: none;
}

.cta-navigation-rows.active {
    display: initial;
}

/* people */
.people-section {
    text-align: center;
}

.person-cards {
    display: flex;
    gap: 2rem;
    padding: 2rem;
    justify-content: center;
    align-items: center;
}

@media (max-width: 1220px) {
    .person-cards {
      display: inline-flex;
      flex-direction: column;
      padding-bottom: 10px;
      gap: 10px;
      justify-content: center;
      align-items: center;
    }
}

.person-card {
    display: flex;
    flex-direction: column;
    width: 416px;
    height: 536px;
    border: 1px solid black;
    border-radius: 8px;
    background: #FEFDF9;
    padding-bottom: 30px;

    text-align: left;
}

.person-card img {
    height: 253px;
    width: 416px;
    border: 1px solid black;
    border-radius: 8px;
}

.person-card-content {
    width: 324px;
    margin-left: 20px;
}

.person-card-content button {
    width: 150px;
    height: 38px;
    text-transform: none;
    padding: 10px;
    gap: 10px;
    font-style: italic;
    font-size: 15px;
    line-height: 18px;
    background: #FEFDF9;
}

.person-card.active {
    background-color: #A1DDFF;
}

.person-card.active .person-card-content button {
    background-color: #A1DDFF;
}

.person-card-content button:hover {
    background-color: #EAB4C8;
    /* -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); */
}

.person-card h3 {
    font-size: 20px;
    line-height: 26px;

}

.person-card p {
    font-size: 16px;
    line-height: 20.8px;
}

/* footer */
.footer {
    display: flex;
    align-items: center;
    /* justify-content: center; */
}

.footer .tc-wrapper {
    width: 100%;
    margin-top: 80px;
}

.contact-section {
    width: 65vw;
    height: 271px;
    border-radius: 8px;
    background: #FF554A;
    padding: 20px;
    text-align: left;
    margin: auto auto 80px auto;
    display: flex;
}

.footer .contact-left {
    font-size: 32px;
    line-height: 38.4px;
    padding: 25px;
    width: 25rem;
}

.footer .contact-right {
    gap: 32px;
    margin-left: auto;
    font-size: 18px;
    line-height: 23.4px;
    width: 25rem;
    padding-top: 10px;
    padding-left: 25px;
}

.contact-section .tooltip-trigger {
    background: #FF554A;
    font-style: italic;
    border-radius: 8px;
    font-size: 15px;
    line-height: 18px;
    width: 150px;
    height: 38px;
    padding: 5px;
}

.foooter-content {
    margin-left: 20px;
    display: flex;
    height: 163px;
}

.footer-left {
    font-size: 14px;
    line-height: 15.4px;
    opacity: 30%;
    margin-top: auto;
    flex: 1;
    text-align: left;
}

.footer-right {
    padding-top: 10px;
    margin-left: auto;
    width: 226px;
    height: 60px;
    font-size: 12px;
    line-height: 13.2px;
    text-align: left;
    flex: 1;
    display: flex;
}

.footer-right div {
    flex: 1;
}

.footer-right-left {
    text-align: center;
    padding-top: 20px;
}

.footer-right-right p {
    width: 226px;
}

.footer-right-right a {
    padding-top: 20px;
    padding-bottom: 20px;
}

@media (max-width: 1220px)  {
    .footer-right {
        flex: 2;
    }

    .contact-section {
        width: 100%;
    }
}

/* main menu */
.header-r {
    position: relative;
    top: -23px;
}

.header-r button.toggle-btn {
    border-radius: 8px;
    cursor: pointer;

    float: right;
    border: 0;
    margin: 0;
    width: 48px;
    height: 87px;

    background:
        linear-gradient(#000 0 0),
        linear-gradient(#000 0 0);
    background-position:center;
    background-size: 40% 1px,1px 20%;
    background-repeat:no-repeat;    

    transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out;
    transition-timing-function: ease;

}

.header-r button.toggle-btn svg {
    display: none;
}

.header-r button.toggle-btn:focus {
    outline: none;
}

.header-r button.toggle-btn:hover {
    background:
        linear-gradient(#000 0 0),
        linear-gradient(#000 0 0);
    background-position:center;
    background-color: #EAB4C8;
    background-size: 40% 1px,1px 20%;
    background-repeat:no-repeat;
}

nav.nav-open button.toggle-btn {
    background-size: 40% 1px,0 20%;
}

nav.nav-open button.toggle-btn:hover {
    background:
        linear-gradient(#000 0 0),
        linear-gradient(#000 0 0);
    background-position:center;
    background-color: #EAB4C8;
    background-size: 40% 1px,0 20%;
    background-repeat:no-repeat;
}

nav .button-container {
    float: right;
    max-height: 87px;
    height: 87px;
    border-radius: 8px;
    border: none;

    transition: max-height .8s ease;
}

nav.nav-open .button-container {
    max-height: 511px;
    height: 511px;
    border-left: 1px solid black;
    z-index: 2;
}

nav {
    width: 50px;
    height: 89px;
    float: right;
    border-radius: 8px;
    border: 1px black solid;
    text-align: left;
    position: absolute;
    right: 1vw;

    transition-timing-function: ease;
    transition: width 800ms, height 800ms, background 1s;
}

nav.nav-open {
    max-height: 513px;
    height: 513px;
    width: 458px;
    background: rgb(234, 180, 200, 1);
}

nav .inner {
    max-height: 0;
    opacity: 0;
    padding: 20px;
    font-weight: 400px;
    font-size: 24px;
    line-height: 26.4px;
    z-index: -1;
    visibility: hidden;

    transition: max-height 0.5s ease-in-out, opacity 10ms ease-in-out;
}

nav .menu-primary-container {
    padding: 0;
    margin-top: 40px;
    font-weight: 600px;
    font-style: italic;
    font-size: 24px;
    line-height: 26.4px;
}

.menu-primary-container li, .menu-primary-container ul {
    padding: 0;
    list-style-type: none;
    margin-bottom: 10px;
}

.menu-primary-container a {
    color: black;
}

.menu-primary-container a:hover {
    font-size: 25px;
    color: black !important;
}

nav.nav-open .inner {
    opacity: 1;
    max-height: 513px;
    z-index: 1;
    visibility: visible;

    transition: max-height 0.5s ease-in-out, opacity 1.3s ease-in-out;
}

nav .inner .head {
    padding-top: 10px;
    font-size: 15px;
    line-height: 18px;
}

nav .inner .nav-item:hoover {
    font-weight: 600px;
}

nav .inner .foot {
    /* bottom: 0; */
    /* position: absolute; */
    margin-top: 110px;
    width: 458px;
    font-size: 14px;
    line-height: 15.4px;
}

nav .inner .foot .hello {
    width: 226px;
    font-size: 12px;
    line-height: 13.2px;
    color: #9E6F80;
}

nav .inner .foot .contact {
    margin-top: 60px;
    margin-bottom: 20px;
    display: flex;
}

nav span {
    flex: 1;
}


/* cta modal */

.critico-modal {
    background: #fff;
    visibility: hidden;
    width: 50%;
    right: 0;
    height: 100%;
    margin: 0;
    opacity: 0;
    /* transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1); */
    transition: visibility 0.3s linear,opacity 0.3s linear;
    top: 0;
    position: fixed;
    display: block;
    text-align: left;

    padding: 40px;
    z-index: 3;
    font-weight: 400px;
    overflow: auto;
}

.critico-modal.modal-open {
    visibility: visible;
    opacity: 1;
    transition: visibility 0.3s linear,opacity 0.3s linear;
}

.cta-modal {
    border-top: 50px #FFF0A1 solid;
}

.cta-modal .p-one {
    font-size: 1.6rem;
    line-height: 2.4rem;
    width: 40vw;
}

.cta-modal .p-two {
    font-size: 1.3rem;
    line-height: 1.7rem;
    padding-top: 20px;
    width: 35vw;
}

.cta-modal .p-three {
    font-size: 1.3rem;
    line-height: 1.7rem;
    padding-top: 20px;
    width: 35vw;
}

.cta-modal .p-three ul {
    padding-top: 21px;
}

.cta-modal .p-three li {
    font-size: 1.1rem;
    line-height: 1.5rem;
    font-style: italic;
}

.cta-modal .p-three li::marker {
    padding-left: 20px;
}

.cta-modal .p-four {
    font-size: 1.3rem;
    line-height: 1.7rem;
    padding-top: 32px;
    width: 35vw;
}

.critico-modal .modal-arrow {
    content: "➛";
    float: left;
    font-size: 45px;
    margin: 18px 0 40px 0;
    cursor: pointer;
}

.critico-modal h1 {
    font-size: 3rem;
    line-height: 3rem;
}

.cta-modal .foot {
    font-size: 1.2rem;
    line-height: 1.5rem;
    margin-top: 100px;
    padding: 15px;
    border: 1px solid black;
    border-radius: 8px;
    display: inline-flex;
}

.cta-modal .foot  button {
    font-size: 1.2rem;
    line-height: 1.5rem;
    font-weight: 400;
    background: white !important;
    padding: 10px 80px 10px 80px;
    font-style: italic;
    text-transform: lowercase;
    margin: 10px 0 10px 80px;
}

@media screen and (max-width: 1220px) {
    .cta-modal {
        width: 100% !important;
    }

    .cta-modal p {
        width: 100% !important;
    }

    .cta-modal .foot {
        display: block;
    }

    .cta-modal .foot p {
        text-align: center;
    }

    .cta-modal .foot button {
        width: 80%;
        /* margin: auto; */
        text-align: center;
    }
}

@media screen and (max-width: 800px) {
    .cta-modal .foot button {
        width: 80%;
    }
}


.critico-modal .inner {
    display: none;
}

.critico-modal .inner.active {
    display: block;
    min-height: 80%;
}   

/* peaple modal */
.peaple-modal {
    padding: 40px;
}

.peaple-modal .inner {
    margin-top: 80px;
    /* display: flex; */
}

/* .peaple-modal .inner-body {
    min-height: 80%;
} */

.peaple-modal .inner img {
    float: right;
    width: 144px;
    height: 200px;
    border-radius: 8px;
    object-fit: cover;
    /* flex; 1; */
}

.peaple-modal .inner h1 {
    padding-top: 50px;
}

.peaple-modal .inner p {
    font-size: 1.4rem;
    line-height: 1.8rem;
    width: 35vw;
}

.peaple-modal .inner .p-three {
    font-size: 1.3rem;
    line-height: 1.6rem;
}


.peaple-modal .inner .foot {
    margin-top: 80px;
    padding: 40px;
    border-radius: 8px;
    background: #AC8EBF;
    text-align: center;
    width: 45vw;
    position: fixed;
    margin-bottom: 20px;
    bottom: 0;
}

.peaple-modal .inner .foot p {
    margin-left: auto;
    margin-right: auto;
    font-size: 1.2rem;
    line-height: 1.4rem;
}

.peaple-modal .inner .foot h2 {
    font-size: 1.3em;
    line-height: 1.6rem;
}

.peaple-modal .inner .foot button {
    background: #AC8EBF;
    font-size: 1.2rem;
    line-height: 1.5rem;
}

/* portoflio */

.portfolio-wrap {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    margin-top: 80px;
}

.portfolio-block {
    outline: 1px solid;
    font-size: 12px;
    height: 630px;

    padding: 1rem;
    min-width: 8rem;
    /* Don't Grow, Do Shrink, Base size of 33.33% */
    flex: 0 1 33.33%;

    --class-item-bg: white;
    background-color: var(--class-item-bg);
}

.portfolio-block:hover {
    --class-item-bg: #A1DDFF;
}

.portfolio-block.active {
    --class-item-bg: #A1DDFF;
}

.portfolio-block h2 {
    font-size: 20px;
    line-height: 26px;
}

.portfolio-block .portfolio-preview {
    font-size: 16px;
    line-height: 20.8px;
}

.portfolio-block-content {
    display: flex;
    flex-direction: column;
    height: 300px;
}

.portfolio-block-button {
    height: 38px;
    width: 150px;
    margin-top: 50px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 18px;
    font-weight: 200;
    font-style: italic;
    padding: 5px;

    margin-top: auto;
    text-transform: capitalize;
    background-color: var(--class-item-bg);
}

portfolio-block-button:hover {
    background-color: var(--class-item-bg);
}

.portfolio-img  {
    margin: .5rem 0 1rem 0;
}

.portfolio-img img {
    height: 260px;
    width: 430px;
    object-fit: cover;
}

@media only screen and (max-width: 520px) {
    
    .gallery-wrap {
        flex-wrap: wrap;
    }

    .portfolio-block {
        flex: 1 1 100%;
    }

}

.portfolio-modal {
    padding: 40px;
}

.portfolio-modal .inner {
    margin-top: 80px;
    /* display: flex; */
}

.portfolio-modal .inner img {
    float: right;
    width: 144px;
    height: 200px;
    border-radius: 8px;
    object-fit: cover;
    /* flex; 1; */
}

.portfolio-modal .inner h1 {
    padding-top: 50px;
}

.portfolio-modal .inner p {
    font-size: 1.5rem;
    line-height: 2rem;
    width: 35vw;
}

.portfolio-modal .inner .p-three {
    font-size: 1.4rem;
    line-height: 1.8rem;
}


.portfolio-modal .inner .foot {
    margin-top: 80px;
    padding: 30px;
    border: 1px solid black;
    border-radius: 8px;
    text-align: center;
    width: 45vw;
    text-align: left;
}

.portfolio-modal .inner .foot p {
    font-size: 1.3rem;
    line-height: 1.6rem;
}

.portfolio-modal .inner .foot h2 {
    font-size: 1.5rem;
    line-height: 1.8rem;
}

.portfolio-modal .inner .foot button {
    font-size: 1.2rem;
    line-height: 1.5rem;
    font-weight: 200;
    background: white !important;
    padding: 10px 80px 10px 80px;
    font-style: italic;
    text-transform: capitalize;
    float: right;
}



/* other */

#overlay {
    position: fixed; /* Sit on top of the page content */
    display: none; /* Hidden by default */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5); /* Black background with opacity */
    z-index: 2; /* Specify a stack order in case you're using a different order for other elements */
    cursor: pointer; /* Add a pointer on hover */

    overflow-y: scroll;
    inset: 0;
  }

  #overlay.overlay-open {
    display: block;
  }
  

  .tooltip {
    position: absolute;
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s;
  }
  
  .tooltip.show {
    opacity: 1;
  }


.about-section .inner {
    display: flex;
}

.language-swticher li {
    list-style: none;
}