*{
box-sizing:border-box;
}


body{
    
visibility:hidden;

}

margin:0;
font-family:
Arial, Helvetica, sans-serif;

background:#fafafa;

color:#222;

}


html.loading body{

visibility:hidden;

}


/* фиксированное меню */


header{

position:sticky;
top:0;

z-index:1000;

height:75px;

background:white;

display:flex;

align-items:center;

justify-content:space-between;

padding:0 40px;

border-bottom:1px solid #ddd;

}


/* логотип */

.logo{

font-size:24px;
font-weight:bold;

}



/* меню */

nav{

display:flex;

gap:25px;

}


nav a{

text-decoration:none;

color:#333;

font-size:16px;

}


nav a:hover{

color:#777;

}



/* язык */


.language button{

padding:7px 12px;

cursor:pointer;

border:1px solid #aaa;

background:white;

}


/* контент */


main{

max-width:1200px;

margin:auto;

padding:30px;

}


.hero{

height:500px;

background:

linear-gradient(
rgba(0,0,0,.4),
rgba(0,0,0,.4)
),

url("../images/profile/main.jpg");


background-size:cover;

background-position:center;


display:flex;

flex-direction:column;

justify-content:center;

align-items:center;


color:white;

text-align:center;


}



.hero h1{

font-size:50px;

}



.intro{

padding:40px;

text-align:center;

}



/* footer */


footer{

text-align:center;

padding:30px;

background:#222;

color:white;

}



/* мобильный режим */


@media(max-width:800px){


header{

height:auto;

padding:15px;

flex-direction:column;

gap:15px;

}


nav{

flex-wrap:wrap;

justify-content:center;

gap:15px;

}


.hero{

height:350px;

}


.hero h1{

font-size:32px;

}

}


/* PROFESSIONAL GALLERY */


.filters{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

margin:40px 0;


}


.filters button{


padding:10px 25px;

border:none;

background:#222;

color:white;

cursor:pointer;

border-radius:20px;


}



.professional-gallery{


columns:3 300px;

column-gap:25px;


}



.gallery-item{


position:relative;

margin-bottom:25px;

break-inside:avoid;

overflow:hidden;

border-radius:15px;


}



.gallery-item img{


width:100%;

height:350px;

object-fit:cover;

display:block;

cursor:pointer;

transition:.5s;


}



.gallery-item:hover img{


transform:scale(1.05);


}



.overlay{


position:absolute;

bottom:0;

left:0;

right:0;


padding:40px 20px 20px;


background:
linear-gradient(
transparent,
rgba(0,0,0,.8)
);


color:white;


font-size:22px;


opacity:0;


transition:.4s;


}



.gallery-item:hover .overlay{


opacity:1;


}



/* LIGHTBOX */


.lightbox{


display:none;

position:fixed;

z-index:5000;

top:0;

left:0;

right:0;

bottom:0;


background:
rgba(0,0,0,.9);


align-items:center;

justify-content:center;


}



.lightbox img{


max-width:90%;

max-height:90%;


}




.lightbox span{


position:absolute;

top:30px;

right:40px;


color:white;

font-size:50px;

cursor:pointer;


}



@media(max-width:700px){


.professional-gallery{

columns:1;

}


}