*,
*::before,
*::after{
    box-sizing: border-box;
}

:root{

    --clr-light: #efe8df;
    --clr-nav: #000000;
    --clr-accent_1: #282e45;
    --clr-accent_2: #648421;
    --clr-accent_4: #8A8F75;

    --fs-h1: 28px;
    --fs-h2: 22px;
    --fs-h3: 18px;
    --fs-body: 16px;

    --bs: 0.25em 0.25em 0.75em rgba(0,0,0,.25),
          0.125em 0.125em 0.25em rgba(0,0,0,.15);
}

@font-face{
    font-family: Montserrat_regular;
    src: url(fonts/Montserrat/Montserrat-Regular.ttf);
}

html{
    scroll-behavior: smooth;
}

body{
    background-color: var(--clr-light);
    color: var(--clr-light);
    margin: 0;
    font-family: Montserrat_regular;
    font-size: var(--fs-body);
    line-height: 1.6;
}

a{
    color: var(--clr-accent_2);
}

a:hover{
    color: var(--clr-light);
}

h1,
h2{
    line-height: 1;
    margin: 0;
    padding-bottom: 5px;
}

h1{
    font-size: var(--fs-h1);
    font-weight: 600;
}

.icon{
    font-size: 30px;
}

/* Header */

@media screen and (min-width: 800px){
    header{
        display: flex;
        justify-content: space-between;
        padding: 2em;
    }

    .nav__list{
        display: flex;
        flex-direction: row;
        list-style: none;
        padding: 1.3em 2em 1em;
        gap: 3em;
        justify-content: space-between;
        font-weight: 600;
        margin-bottom: 0;
    }

    .nav__link{
        color: var(--clr-nav);
        text-decoration: none;
    }

    .nav__link:hover {
        color: var(--clr-accent_2);
        text-decoration: none;
        border-bottom: 3px solid var(--clr-accent_2);
        padding-bottom: 5px;
    }

    .nav-toggle{
        display: none;
    }

    .logo__img {
        cursor: pointer;
        object-fit: contain;
    }

}
@media screen and (max-width: 800px){
    header{
        display: flex;
        justify-content: space-between;
        padding: 1em;
        
    }

    .logo__img{
        max-width: 130px; 
        object-fit: contain;
    }

    nav{
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        background-color: var(--clr-accent_1);
        transform: translateX(100%);
        transition: transform 250ms cubic-bezier(.5, 0, .5, 1);
    }

    .nav__list{
        display: flex;
        flex-direction: column;
        height: 80%;
        list-style: none;
        padding: 0;
        justify-content: space-evenly;
        align-items: center;
        margin: 0 auto;
    }

    .nav__link{
        color: var(--clr-light);
        text-decoration: none;
        font-size: var(--fs-h3);
    }

    .nav__link:hover{
        text-decoration: none;
    }

    .nav-toggle {
        padding: .5em;
        background: transparent;
        border: 0;
        cursor: pointer;
        position: absolute;
        top: 1.3em;
        right: 2.5em;
        z-index: 1000;
        margin: 1em 0;
    }

    .nav-open nav{
        transform: translateX(0%);
    }
    
    .nav-open .nav-toggle{
        position: fixed;
    }
    
    .nav-open .hamburger{
        transform: rotate(225deg);
        background-color: var(--clr-light);
    }
    
    .nav-open .hamburger::before{
        transform: rotate(90deg) translateX(6px);
        background-color: var(--clr-light);
    }

    .nav-open .hamburger::after{
        opacity: 0;
        background-color: var(--clr-light);
    }
    
    .hamburger {
        display: block;
        position: relative;
    }

    .hamburger,
    .hamburger::before,
    .hamburger::after {
        background: var(--clr-nav);
        width: 2em;
        height: 3px;
        border-radius: 1em;
        transition: transform 250ms ease-in-out;
    }
    
    .hamburger::before,
    .hamburger::after {
        content: '';
        position: absolute; 
        left: 0;
        right: 0;
        
    }
    
    .hamburger::before { bottom: 6px;}
    .hamburger::after { top: 6px;}
    }

    /* Intro section */

    .intro{
        color: var(--clr-light);
    }

    .intro__textbox p,
    .intro__textbox h1{
        text-align: center;
        margin: 0;
    }

    .intro__textbox h1,
    .references__textbox h1{
        padding: 15px 15px 0 15px;
    }

    .intro__textbox p,
    .references__textbox p{
        padding: 15px;
    }

    .intro__textbox{
        position: relative;
        background-color: var(--clr-accent_1);
        width: 60vw;
        border-radius: 70px;
        padding: 10px;
        grid-area: textbox_1;
        z-index: 2;
        grid-column: 1 / -1;
        height: min-content;
        bottom: 10vh;
        margin: 0px auto;
        border: 5px solid #efe8df;
       
    }
      
/* Tevékenységek */

@media screen and (max-width: 450px){

    .intro__textbox h1,
    .references__title{
        font-size: 5.8vw;
    }

    .intro__textbox p,
    .references__text{
        font-size: 3.5vw;
    }

    .img-cards__title-mobile{
        padding-bottom: 30% !important;
        font-weight: 600;
    }

    .intro__textbox{
        bottom: 9vw;
    }

    .references__textbox{
        bottom: 10vw;
    }

    .img_card_text_1 h2,
    .img_card_text_2 h2,
    .img_card_text_3 h2{
        font-size: 4.5vw;
    }

    .img_card_text_1 p,
    .img_card_text_2 p,
    .img_card_text_3 p{
        font-size: 45% !important;
    }

    .third{
        position: relative;
        bottom: 5px;
    }

    .img_mobile{
        padding: 14% 0 12.5% !important;    
    }

 

  
}

@media screen and (min-width: 450px) and (max-width: 600px){
    .img_mobile{
        padding: 38% 0 11.5% !important;
        margin: -235px 0 -200px !important;
    }

    .intro__textbox h1,
    .references__title{
        font-size: 2.8vw;
    }
        
    .intro__textbox p,
    .references__text{
         font-size: 1.5vw;
    }

    .img-cards__title-mobile{
        padding-bottom: 100px !important;
        font-weight: 600;
    }

    .intro__textbox{
        bottom: 9vw;
    }

    .references__textbox{
        bottom: 10vw;
    }

    .img_card_text_1 h2,
    .img_card_text_2 h2,
    .img_card_text_3 h2{
        font-size: 3.8vw;
    }

    .img_card_text_1 p,
    .img_card_text_2 p,
    .img_card_text_3 p{
        font-size: 55%;
    }

    .second{
        position: relative;
        bottom: 15px;
    }

    .third{
        position: relative;
        bottom: 35px;
    }

 
}

@media screen and (min-width:600px) and (max-width: 800px){
    .intro__textbox h1,
    .references__title{
        font-size: 2.8vw;
    }

    .intro__textbox p,
    .references__text{
        font-size: 1.5vw;
    }

    .img-cards__title-mobile{
        padding-bottom: 130px !important;
    }

    .intro__textbox{
        bottom: 9vw;
    }
    
    .references__textbox{
        bottom: 10vw;
    }

    .img_card_text_1 h2,
    .img_card_text_2 h2,
    .img_card_text_3 h2{
        font-size: 3.8vw;
    }

    .img_card_text_1 p,
    .img_card_text_2 p,
    .img_card_text_3 p{
        font-size: 55%;
    }

    .img_mobile{
        padding: 13.5% 0 10%;
        margin: -150px 0px -200px !important;
    }  


}
    
@media screen and (max-width: 1200px){
    .intro__textbox{
        width: 90vw;
    }

    .container{
        margin: 0;
        padding: 0;
        max-width: 100%;
        height: auto;
    }

    .img_mobile{
        display: block;
        width: 100%;
        height: auto;
        margin: -130px 0px;
    }

    .img_default{
        display: none;
    }


    .intro {
        display: grid;
        margin: 0 auto;
        grid-template-areas: 
            "img"
            "textbox_1";
    }

    .intro__img{
        width: 100%;
        grid-area: img;
    }

    .img-cards{
        text-align: center;
    }
    
    .img-card__title{
        display: none;
    }
    
    .img-cards__title-mobile{
        display: block;
        color: black;
        z-index: 2;
        padding-bottom: 200px;
        font-weight: 600;
        font-size: 3.5vw;
    }

    .img_card_text_1,
    .img_card_text_2,
    .img_card_text_3{
        color: #efe8df;
        z-index: 10;
        width: 65vw;
        margin: 0 auto;
        padding: 20px;
        position: relative;
        bottom: 15vw;
        font-size: 130%;
    }
}
  
@media screen and (min-width: 1200px){
    .img_mobile{
        display: none;
    }

    .intro {
        display: grid;
        margin: 0 auto;
        grid-template-areas: 
            "img"
            "textbox_1";
    }

    .intro__title::after{
    content: '';
    display: block;
    width: 13em;
    height: 3px;
    margin: 0.5em auto 0;
    background: var(--clr-light);
    }

    .intro__img{
        width: 100%;
        grid-area: img; 
    }

    .icons{
        z-index: 2;
    }

    .img-cards{
        text-align: center;
        display: flex;
        justify-content: center;
        margin: 5vw auto;
    }
    
    .img-card__title{
        z-index: 200;
        font-weight: 600;
        bottom: 6vw;
        color: black;
        position: relative;
    }

    .img-cards__title-mobile{
        display: none;
    }

    .img_card_1{
        position: relative;
        left: 8vw;
        z-index: 1;
        width: 30vw;
    }

    .img_card_text_1 {
        left: 13.5vw;
        text-align: right !important;
    }

    .img_card_2{
        z-index: 5;
        position: relative;
        bottom: 3vw;
        width: 30vw;
    }

    .img_card_text_2 {
        left: 6vw;
        top: 18vw;
    }

    .img_card_3{
        position: relative;
        right: 8vw;
        z-index: 1;
        width: 30vw;
    }

    .img_card_text_3 {
        left: -1.3vw;
        text-align: left !important;
    }


    .container {
        position: relative;
    }

    .img_card_text_1,
    .img_card_text_2,
    .img_card_text_3{
        position: absolute;
        z-index: 10;
        width: 21vw;
        padding: 20px;
        bottom: 10vw;
        font-size: 1vw;
    }

    .img_card_text_1 h2,
    .img_card_text_2 h2,
    .img_card_text_3 h2{
        font-size: 1.7vw;
    }

    .references__title::after{
        content: '';
        display: block;
        width: 5.2em;
        height: 3px;
        margin: 0.5em auto 0;
        background: var(--clr-light);
    }

    .references__textbox{
        bottom: 14vh;
    }
}
@media screen and (max-width: 1200px){
    .references{
        margin-top: 100px;
        display: grid;
        grid-template-areas: 
            "img"
            "textbox_1";
    }

    .references__img{
        width: 100%;
        grid-area: img;
    }

    .references__textbox p,
    .references__textbox h1{
        text-align: center;
        margin: 0;
    }

    .references__textbox{
        position: relative;
        background-color: var(--clr-accent_2);
        width: 90vw;
        border-radius: 70px;
        padding: 10px;
        grid-area: textbox_1;
        z-index: 2;
        grid-column: 1 / -1;
        height: min-content;
        margin: 0px auto;
        border: 5px solid #efe8df;
        bottom: 10vw;
    }

    .col{
        display: flex;
        flex-direction: column;
        flex-basis: auto;
    }
}

@media screen and (min-width: 1200px){
    .references{
        margin-top: 100px;
        display: grid;
        grid-template-areas: 
            "img"
            "textbox_1";
    }

    .references__img{
        width: 100%;
        grid-area: img;
    }

    .references__textbox p,
    .references__textbox h1{
        text-align: center;
        margin: 0;
    }

    .references__textbox{
        position: relative;
        background-color: var(--clr-accent_2);
        width: 60vw;
        border-radius: 70px;
        padding: 10px;
        grid-area: textbox_1;
        z-index: 2;
        grid-column: 1 / -1;
        height: min-content;
        bottom: 11vh;
        margin: 0px auto;
        border: 5px solid #efe8df;
    }
}

.container:hover{
    z-index: 10;
    transform: scale(1.02);
    transition: transform .3s ease-in-;
}
    
footer{
    text-align: center;
    background-color: #313131;
    color:var(--clr-light);
    padding: 2.5em 0;
    margin-top: 100px;
}


.footer__items{
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 1.5em 0 0;
    padding: 0;
}

.footer__item{
    margin: 0 1em;
    list-style: none;
}

footer a:hover{
    text-decoration: none;
}

.footer__title {
    margin-bottom: 1em;
}

.illustration{
    max-width: -webkit-fill-available;
    height: 400px;
}
iframe {
    max-width: -webkit-fill-available;
    align-self: center;
}
.row{
    margin: 1.5em 0 0;
}

@media (max-width: 768px) {
   
    .img-fluid{
        border-radius: 50px;
    }

    .carousel-inner .carousel-item > div {
        display: none;
    }

    .carousel-inner .carousel-item > div:first-child {
        display: block;
    }
}

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
    display: flex;
}

/* display 3 */
@media (min-width: 768px) {
    .col{
        flex-basis: auto;
        flex-basis: 0 !important;
        flex-grow: 1  !important;
        max-width: 100% !important;
    }
    
    .img-fluid{
        border-radius: 50px;
    }
    
    .carousel-inner .carousel-item-right.active,
    .carousel-inner .carousel-item-next {
        transform: translateX(33.333%);
    }
    
    .carousel-inner .carousel-item-left.active, 
    .carousel-inner .carousel-item-prev {
        transform: translateX(-33.333%);
    }
}

.carousel-inner .carousel-item-right,
.carousel-inner .carousel-item-left{ 
    transform: translateX(0);
}

@media screen and (min-width: 800px and max-width: 1400px){
    .intro__textbox{
        bottom: 11vh;
    }

    .references__textbox{
        bottom: 13vh;
    }
    

}