.portfolio{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--portfolio-gap-size)}.portfolio.portfolio-cols-2{grid-template-columns:repeat(2,1fr);grid-auto-rows:30vw}.portfolio.portfolio-cols-3{grid-template-columns:repeat(3,1fr);grid-auto-rows:20vw}.portfolio.portfolio-cols-4{grid-template-columns:repeat(4,1fr);grid-auto-rows:calc(25vw - var(--portfolio-gap-size))}div[class*=max-width-section] .portfolio.portfolio-cols-3{grid-auto-rows:calc(320px - var(--portfolio-gap-size)/2)}@media (min-width:1140px){.portfolio.portfolio-cols-2{grid-auto-rows:380px}div[class*=force-full-width] .portfolio.portfolio-cols-2{grid-auto-rows:30vw}}@media (min-width:768px) and (max-width:1139px){.portfolio.portfolio-cols-3{grid-template-columns:repeat(2,1fr);grid-auto-rows:30vw}.portfolio.portfolio-cols-4{grid-template-columns:repeat(2,1fr);grid-auto-rows:calc(50vw - var(--portfolio-gap-size))}div[class*=max-width-section] .portfolio.portfolio-cols-3{grid-auto-rows:calc(50vw - var(--portfolio-gap-size)/2 - 40px)}}@media (max-width:767px){.portfolio.portfolio-cols-2,.portfolio.portfolio-cols-3{grid-template-columns:repeat(1,1fr);grid-auto-rows:60vw}.portfolio.portfolio-cols-4{grid-template-columns:repeat(1,1fr);grid-auto-rows:100vw}div[class*=max-width-section] .portfolio.portfolio-cols-3{grid-auto-rows:calc(100vw - var(--portfolio-gap-size) - 40px)}}.portfolio__img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.05,.2,.1,1)}.portfolio__item:hover .portfolio__img{transform:scale(1.08)}.portfolio__item{position:relative;overflow:hidden}.portfolio__item a{position:absolute;top:0;left:0;width:100%;height:100%;z-index:30}.portfolio__title{line-height:1.2;display:inline;position:relative;color:#fff;width:fit-content;margin:0;background-size:100px 1.2em}.portfolio__desc{font-size:11px;text-transform:uppercase;letter-spacing:.2em;margin-bottom:10px;color:#fff}.portfolio__item .portfolio__caption{position:absolute;opacity:0;z-index:10;overflow:hidden;max-height:calc(100% - 60px);max-width:calc(100% - 60px);transition:all .4s cubic-bezier(.05,.2,.1,1)}.portfolio__item .portfolio__caption:last-child{margin-bottom:0}.portfolio.animation-hover .portfolio__item .portfolio__caption{bottom:0;left:0;padding:45px;transform:scale(.8)}.portfolio.animation-hover .portfolio__item:hover .portfolio__caption{opacity:1;transform:scale(1)}.portfolio.animation-slide_in_left .portfolio__item .portfolio__caption{bottom:30px;left:30px;padding:10px;transform:translateX(-50%);transition:all .5s ease;overflow-x:visible}.portfolio.animation-slide_in_left .portfolio__item:hover .portfolio__caption{opacity:1;transform:translateX(0)}.portfolio.animation-slide_in_left .portfolio__item .portfolio__caption .portfolio__desc{transform:translateX(-50%);transition:all .7s ease}.portfolio.animation-slide_in_left .portfolio__item:hover .portfolio__caption .portfolio__desc{transform:translateX(0)}.portfolio.animation-hover .portfolio__item:before,.portfolio.animation-slide_in_left .portfolio__item:before{content:"";display:block;position:absolute;opacity:0;top:0;left:0;width:100%;height:100%;background:#000;z-index:10;transition:all .65s cubic-bezier(.05,.2,.1,1)}.portfolio.animation-hover .portfolio__item:hover:before,.portfolio.animation-slide_in_left .portfolio__item:hover:before{opacity:.5}.portfolio.animation-overlay .portfolio__item .portfolio__caption{width:calc(100% - 30px);height:calc(100% - 30px);display:flex;flex-direction:column;justify-content:flex-end;bottom:0;left:0;right:0;top:0;padding:35px}.portfolio.animation-overlay .portfolio__item:hover .portfolio__caption{opacity:1;transform:translate(30px,30px)}.portfolio.animation-overlay .portfolio__item .portfolio__caption *{opacity:0;transition:all .4s cubic-bezier(.05,.2,.1,1)}.portfolio.animation-overlay .portfolio__item:hover .portfolio__caption *{opacity:1}.portfolio.animation-overlay .portfolio__item .portfolio__caption .portfolio__title{font-size:30px;background-size:100px 1.1em}.portfolio.animation-overlay.colorful .portfolio__item .portfolio__caption *{color:#fff}.portfolio.animation-overlay.colorful .portfolio__item:hover .portfolio__caption{opacity:1}.portfolio.animation-default .portfolio__item .portfolio__caption{opacity:1;bottom:0;left:0;right:0;padding:45px;max-width:100%;background:transparent}.portfolio.animation-default .portfolio__item:before{content:"";display:block;position:absolute;opacity:.5;top:0;left:0;width:100%;height:100%;background:#000;z-index:10;transition:all .65s cubic-bezier(.05,.2,.1,1)}.portfolio.animation-default .portfolio__item:hover:before{opacity:0}.portfolio.animation-default .portfolio__item .portfolio__caption *{color:#fff}.portfolio.animation-default .portfolio__item:hover .portfolio__caption{transform:translateY(20%);opacity:0}