@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
body {
    font-family: "Roboto", sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    color: #000;
}
h1{
    color: #0f256b;
}
img{
    max-width: 100%;
}
span.weightText{
    font-weight: bold;
}
.navbar-light{
    background-color: #f4f4f4;
    padding: 10px 20px;   
}
.navbar-brand img{
    width: 50px
}
ul.navbar-nav li a{
    cursor: pointer;
    color: #0f256b;
    font-weight: bold;
}
section:first-of-type{
    margin-top: 60px;
}
section {
    padding: 60px 20px;
}
section.hero{
    background-image: url(../img/hero-back.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.heroContainer{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 400px;
}
.heroText{
    color: #0f256b;
    max-width: 600px;
}
.heroText h1{
    color: #000;
    font-weight: bold;
    margin: 20px 0;
}
.heroCountries{
    display: flex;
    margin: 20px 0;
}
.heroCountries img{
    width: 80px;
    padding: 10px;
}
.aboutContainer{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.aboutDesc .aboutTextContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.aboutText{
    background-color: #fff;
    border-radius: 10px;
    padding: 40px;
}
.aboutImg{
    display: flex;
    justify-content: center;
    align-items: center;
}
.aboutImgContainer{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    width: 500px;
    height: 500px;
    position: relative;
    gap: 0;
}
.aboutImg .top-left {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    justify-self: start;
    align-self: start;
}
.aboutImg .bottom-right {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: end; 
    align-self: end;     
}
.aboutImg img{
    max-width: 250px;
    border-radius: 10px;
    border: 5px solid #fff;
}
.jobsCountrySwitcher{
    display: flex;
    justify-content: center;
    align-items: center;
}
.jobsCountrySwitcher img{
    width: 100px;
    padding: 10px;
    cursor: pointer;
}
.jobsCountrySwitcher img.active{
    border: 2px solid #0f256b;
    border-radius: 10px;
}
.jobsCountry{
    display: flex;
    justify-content: center;
    align-items: center;
}
.jobsCountryContainer{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin: 20px 0;
}
.jobsItem{
    padding: 20px;
    border-radius: 10px;
    background-color: #fff;
}
.jobsItem img{
    border-radius: 10px;
}
.jobsItem h5{
    color: #0f256b;
    margin: 20px 0;
    font-weight: bold;
}
.jobsItem .jobsDesc{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.jobsItem .salary{
    font-weight: bold;
}
.jobsItem .salary span{
    font-size: 21px;
    color: #0f256b;
}
.garantContainer{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    background-color: #fff;
    border-radius: 10px;
    padding: 40px;
}
.garantText i{
    color: #0f256b;
}
.garantText .green-check{
    color: #1db21d;
}
.garantImg{
    display: flex;
    justify-content: center;
    align-items: center;
}
.garantImg .thumbnail{
    border: 1px solid #0f256b;
    border-radius: 10px;
    padding: 20px;
    width: 400px;
    cursor: pointer;
    transition: transform 0.2s;
}
.garantImg .thumbnail:hover {
    transform: scale(1.05);
}
.modal {
    display: none;
    position: fixed; 
    z-index: 9000;
    padding-top: 60px;
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto;
    background-color: rgba(0,0,0,0.8);
}
.modal.open{
    display: flex;
    justify-content: center;
    align-items: center;
}
.modal-content {
    margin: auto;
    width: auto;
    max-width: 90%;
    max-height: 90%;
    animation-name: zoom;
    animation-duration: 0.6s;
}
@keyframes zoom {
    from {transform: scale(0)} 
    to {transform: scale(1)}
}
.close {
    position: absolute;
    top: 30px;
    right: 35px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    transition: color 0.3s;
    cursor: pointer;
}
.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
}
.priceContainer{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.priceItem{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    background-color: #fff;
    padding: 20px;
    text-align: center;
    border-radius: 10px;
}
.priceItem img{
    max-width: 80px;
}
.priceItem h5{
    margin: 10px 0;
}
.priceItem ul{
    list-style-type: none;
    padding: 0;
    text-align: left;
}
.priceItem ul li{
    font-style: italic;
    margin: 5px 0;
}
.priceItem ul li i{
    color: #0f256b;
    margin-right: 10px;
}
.priceItem ul li span{
    font-weight: 500;
    font-style: normal;
}
.priceDesc{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    margin: 20px 0;
}
.priceDesc ul{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
}
.priceDesc ul li{
    padding: 10px;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
    text-align: center;
    font-weight: 500;
}
.priceDesc ul li i{
    font-size: 24px;
    margin: 10px 0 20px 0;
    color: #0f256b;
}
.contactsContainer{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.contactItem{
    background-color: #fff;
    border-radius: 10px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.contactHeader{
    padding: 20px;
}
.contactHeader img{
    width: 200px;
    border: 1px solid #e4e4e4;
    padding: 20px;
    border-radius: 10px;
}
.contactDesc h5{
    font-weight: 600;
    margin-top: 10px;
    text-align: center;
}
.contactDesc .contactBtn{
    display: inline-block;
    border: 2px solid #0f256b;
    border-radius: 10px;
    padding: 10px 20px;
    margin: 20px 0;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
}
.contactDesc .contactBtn span{
    color: #000;
    font-weight: 500;
}

.contactDesc .contactBtn img{
    width: 24px;
    margin-left: 10px;
}
footer{
    background-color: #fff;
    margin-top: 60px;
}
.footerContainer{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 60px 20px 60px 20px;
    gap: 10px;
}
.footerItem{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
.footerItem h6{
    font-weight: 600;
}
.footerItem a{
    color: #000;
    text-decoration: none;
}
.footerItem a:hover{
    color: #0f256b;
}
.copyright{
    display: flex;
    justify-content: center;
    padding: 20px;
    border-top: 1px solid #e4e4e4;
}
@media(max-width: 768px){
    .aboutContainer{
        grid-template-columns: 1fr;
        gap: 30px
    }
    .jobsCountryContainer{
        grid-template-columns: repeat(2, 1fr);
    }
    .garantContainer{
        grid-template-columns: 1fr;
        padding: 20px;
    }
    .priceContainer{
        grid-template-columns: repeat(2, 1fr);
    }
    .priceDesc{
        flex-direction: column;
    }
    .contactsContainer{
        grid-template-columns: repeat(2, 1fr);
    }
}
@media(max-width: 576px){
    .heroContainer{
        align-items: flex-start;
        min-height: 520px;
    }
    .aboutImgContainer{
        display: none;
    }
    .aboutText{
        padding: 20px;
    }
    .jobsCountryContainer{
        grid-template-columns: 1fr;
    }
    .priceContainer{
        grid-template-columns: 1fr;
    }
    .priceDesc h5{
        text-align: center;
    }
    .contactsContainer{
        grid-template-columns: 1fr;
    }
    .footerContainer{
        grid-template-columns: 1fr;
    }
}