/* ===================GLOBAL================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}
a {
    text-decoration: none;
}

ul {
    list-style: none;
}

.container {
    width: 80%;
    margin: auto;
}

img {
    width: 100%;
}

:root {
    --color-default: hsl(210, 11%, 15%);
    --primary-hue: 0;
    --primary-saturation: 84%;
    --primary-lightness: 44%;
    --color-primary: hsl(var(--primary-hue), var(--primary-saturation), var(--primary-lightness));
    --color-secondary: hsl(240, 7%, 23%);
    --color-tertiary: #7f7f90;
    --light-hue: 0;
    --light-saturation: 0%;
    --light-lightness: 100%;
    --color-light: hsl(var(--light-hue), var(--light-saturation), var(--light-lightness));
    --color-light-grey: #eee;
    --font-default: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-primary: "Amatic SC", sans-serif;
    --font-secondary: "Inter", sans-serif;
    --background: url("../images/team-shape.svg");
}



body:not(body:has(:target)) li a[href="#home"],
body:has(.home:target) li a[href="#home"],
body:has(.contact:target) li a[href="#contact"],
body:has(.gallery:target) li a[href="#gallery"],
body:has(.chefs:target) li a[href="#chefs"] {
    color: var(--color-default);
}

body:not(body:has(:target)) li a[href="#home"]::after,
body:has(.home:target) li a[href="#home"]::after,
body:has(.contact:target) li a[href="#contact"]::after,
body:has(.gallery:target) li a[href="#gallery"]::after,
body:has(.chefs:target) li a[href="#chefs"]::after {
    width: calc(100% - 20px);
}

header,
.gallery {
    background-color: var(--color-light-grey);
}

.chefs,
.contact {
    background-color: var(--color-light);
}

.section-bg {
    padding: 50px 0;
}

.chefs,
.gallery,
.contact {
    text-align: center;
}

.chefs h2,
.gallery h2,
.contact h2 {
    font-size: 14px;
    font-weight: 400;
    color: var(--color-tertiary);
    font-family: var(--font-secondary);
}

.chefs p,
.gallery p,
.contact p {
    font-family: var(--font-primary);
    font-size: 50px;
    color: var(--color-default);
    margin: 10px 0 50px 0;
}

.chefs p span,
.gallery p span,
.contact p span {
    color: var(--color-primary);
}

/* ===================GLOBAL================= */
/* ===================HEADER================= */
header {
    padding: 20px 0;
}

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px 0;
    box-shadow: 1px 2px 8px rgba(0, 0, 0, .2);
    font-family: var(--font-default);
    z-index: 10;
    background-color: var(--color-light);
}

.navbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.navbar .logo a {
    font-size: 30px;
    font-weight: 700;
    color: var(--color-default);
}

.navbar .logo a span {
    color: var(--color-primary);
}

.navbar nav .exit-icon {
    display: none;
}

.navbar nav .exit-icon i {
    color: var(--color-default);
}

.navbar nav ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.navbar nav ul li {
    margin: 0 5px;
}

.navbar nav ul li a {
    position: relative;
    overflow: hidden;
    padding: 10px 8px;
    color: var(--color-tertiary);
    font-weight: 600;
}

.navbar nav ul li a::after {
    content: "";
    position: absolute;
    top: 95%;
    left: 10px;
    width: 0;
    height: 2px;
    background-color: var(--color-primary);
    transition: all .5s;
}

.navbar nav ul li a:hover::after {
    width: calc(100% - 20px);
}


.navbar .icon-moon {
    font-size: 25px;
    cursor: pointer;
    color: var(--color-default);
}


.navbar .theme #button:checked+label:before {
    content: "\f185";
}


.navbar .menu-icon {
    display: none;
}

header {
    min-height: 100vh;
}

header .home-content .container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header .home-content .container .text {
    width: 45%;
}

header .home-content .container .text h2 {
    font-family: var(--font-primary);
    font-size: 65px;
    color: var(--color-secondary);
}

header .home-content .container .text p {
    font-family: var(--font-default);
    font-weight: 400;
    margin: 20px 0 25px 0;
    color: var(--color-tertiary);
}

header .home-content .container .text a {
    font-family: var(--font-default);
}

header .home-content .container .text .button-links {
    display: flex;
    align-items: center;
}

header .home-content .container .text .book {
    padding: 12px 25px;
    background-color: var(--color-primary);
    color: var(--color-light);
    border-radius: 0 30px 30px 30px;
    margin-right: 30px;
}

header .home-content .container .text .watch {
    color: var(--color-default);
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all .5s;
}

header .home-content .container .text .watch:hover {
    color: var(--color-primary);
}

header .home-content .container .text .watch div {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    background-color: var(--color-light);
    width: 50px;
    height: 50px;
    background: linear-gradient(to right, var(--color-primary) 0 50%, transparent 50% 100%);
    border-radius: 50%;
    margin-right: 10px;
}

header .home-content .container .text .watch div::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 70%;
    width: 70%;
    background-color: var(--color-light);
}

header .home-content .container .text .watch div i {
    z-index: 5;
}

header .home-content .container .img {
    width: 40%;
}

/* ===================HEADER-END================= */
/* ===================CHEFS================= */
.chefs .container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.chefs .chef {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, .2);
    transition: all .5s;
    width: calc((100% - 60px) /3);
    position: relative;
}

.chefs .chef:hover {
    transform: scale(1.05);
    cursor: pointer;
}

.chefs .chef:hover .social {
    left: 80%;
    transition-delay: .5s;
}

.chefs .chef .social {
    content: "";
    position: absolute;
    width: 50px;
    height: 160px;
    top: 10%;
    left: 100%;
    background-color: rgba(255, 255, 255, .3);
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    border-radius: 10px;
    transition: left .5s;
}

.chefs .chef .social i {
    opacity: .5;
}

.chefs .chef .social i:hover {
    opacity: .8;
}

.chefs .container .chef .img {
    position: relative;
}

.chefs .container .chef img {
    display: block;
    height: 100%;
}

.chefs .container .chef .img::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    background-image: var(--background);
    width: 100%;
    height: 55px;
}

.chefs .container .chef h3 {
    font-size: 18px;
    font-family: var(--font-secondary);
    color: var(--color-default);
}

.chefs .container .chef span {
    display: block;
    margin: 10px 0;
    font-size: 14px;
    font-family: var(--font-default);
    color: var(--color-tertiary);
}

.chefs .container .chef p {
    font-size: 15px;
    font-family: var(--font-default);
    color: var(--color-tertiary);
    margin: 0;
    padding: 0 20px 20px 20px;
    font-style: italic;
}

/* ===================CHEFS-END================= */
/* ===================GALLERY================= */
.gallery .container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-wrap: wrap;
    height: 950px;
}

.gallery .container .img {
    width: calc((100% - 40px) / 3);
    border: 4px solid white;
    position: relative;
    overflow: hidden;
}

.gallery .container .img:hover .layer {
    top: 0;
}

.gallery .container .img:hover img {
    transform: scale(1.06);
}

.gallery .container .img img {
    display: block;
    transition: all .5s;
}

.gallery .container .img .layer {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, .5);
    transition: all .5s;
}

.gallery .container .img .layer h2 {
    font-size: 1.5em;
    font-family: var(--font-secondary);
    font-weight: bold;
    color: white;
}

.gallery .container .img .layer p {
    font-family: var(--font-default);
    font-size: 16px;
    margin: 0;
    padding: 15px;
    color: #ddd;
}

/* ===================GALLERY-END================= */
/* ===================CONTACT================= */
.contact .container {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.contact .container .contacts {
    display: flex;
    gap: 15px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.contact .container .contacts .contact-item {
    width: calc((100% - 15px)/2);
    display: flex;
    background-color: hsl(var(--light-hue), var(--light-saturation), calc(var(--light-lightness) - 4%));
    align-items: center;
    padding: 20px;
    gap: 10px;
}

.contact .container .contacts .contact-item .img i {
    color: var(--color-light);
    background-color: var(--color-primary);
    border-radius: 50%;
    padding: 12px;
}

.contact .contacts h3 {
    font-family: var(--font-secondary);
    font-size: 20px;
    color: var(--color-tertiary);
    text-align: left;
    margin-bottom: 8px;
}

.contact .contacts p,
.contact .contacts a {
    font-family: var(--font-default);
    color: var(--color-default);
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    text-align: left;
}

.contact .contacts p span {
    color: var(--color-default);
    font-weight: bold;
}

.contact form {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    padding: 20px;
    background-color: hsl(var(--light-hue), var(--light-saturation), calc(var(--light-lightness) - 4%));
    box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, .1);
}

.contact form input,
.contact form textarea {
    padding: 15px;
    width: 100%;
    border: 2px solid hsl(var(--light-hue), calc(var(--light-saturation) + 10%), calc(var(--light-lightness) - 10%));
    color: #212529;
    transition: border-color .5s;
    outline: none;
}

.contact form input:focus,
.contact form textarea:focus {
    border-color: var(--color-primary);
}

.contact form input:nth-child(1),
.contact form input:nth-child(2) {
    width: calc((100% - 15px) /2);
}

.contact form button {
    margin: auto;
    padding: 15px 38px;
    background-color: var(--color-primary);
    color: var(--color-light);
    border-radius: 30px;
    outline: none;
    border: none;
    font-size: 15PX;
}

.contact form button:hover {

    background-color: #E61414;
    color: #FFF;
    cursor: pointer;

}

/* ===================CONTACT-END================= */
/* ===================FOOTER================= */
.item1 {
    flex: 1;
}

.item2 {
    flex: 2;
}

.item3 {
    flex: 1;
}

footer {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../images/textured-metal-background.jpg");
    background-size: contain;
    color: #fff;
    width: 100%;
}

footer .container {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    width: 85%;
}

footer .container h3 {
    font-size: 18px;
    font-family: var(--font-secondary);
    font-weight: 700;
}

footer .container p,
footer .container a {
    font-weight: 400;
    font-family: var(--font-default);
    color: #fff;
}

footer .container .item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

footer .container .item1 img {
    width: 45px;
}

footer .container .item1 .title {
    display: flex;
    align-items: center;
    gap: 10px;
}

footer .container .item1 .title a {
    font-size: 30px;
    font-weight: 700;
}

footer .container .item1 .title a span {
    color: var(--color-primary)
}

footer .container .item1 p {
    margin-top: 15px;
}

footer .container .item1 h3 {
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 2px solid #ddd6;
}

footer .container .item1 .social-links {
    text-align: center;
    margin-top: 10px;
}

footer .container .item1 .social-links i {
    padding: 15px;
    font-size: 25px;
    color: #fff;
}

footer .container .item2 ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

footer .container .item2 ul li {
    width: calc((100% - 20px) / 2);
}

footer .container .item2 ul li :hover {
    background-color: rgb(23, 23, 23);
    margin-left: 10px;
    cursor: pointer
}

footer .container .item2 ul li a {
    display: inline-block;
    width: 100%;
    transition: all .5s;
    padding: 5px;
}

footer .container .item2 ul li a i {
    margin-right: 10px;
}

footer .container .item2 form {
    display: flex;
    gap: 10px;
}

footer .container .item2 form input {
    flex: 3;
    padding: 12px;
    outline: none;
    border: none;
}

footer .container .item2 form button {
    flex: 1;
    background-color: var(--color-primary);
    color: var(--color-light);
    border: none;
    cursor: pointer;
    font-size: 16px;
}

footer .container .item2 form button i {
    margin-right: 8px;
}

footer .container .item3 .contacts {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

footer .container .item3 i {
    color: var(--color-primary);
    font-size: 20px;
    margin-right: 15px;
}

/* ===================FOOTER-END================= */