*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    font-family: 'Bitter', serif;
}

html{
    scroll-behavior: smooth;
}

.max-width{
    max-width: 1300px;
    padding: 0 80px;
    margin: auto;
}

.scroll-up-btn{
    position: fixed;
    height: 45px;
    width: 40px;
    background: rgb(27, 36, 33);
    right: 30px;
    bottom: 10px;
    text-align: center;
    line-height: 45px;
    color: rgb(247, 247, 162);
    z-index: 9999;
    font-size: 30px;
    border-radius: 6px;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: all 0.6s ease;
}
.scroll-up-btn.show{
    bottom: 30px;
    opacity: 1;
    pointer-events: auto;
}

/* NAVBAR styling */
.navbar{
    position: fixed;
    width: 100%;
    padding: 25px;
    /*background-color: rgb(27, 36, 33);*/
    transition: all 0.6s ease;
}

.navbar.sticky{
    padding: 15px;
    background-color: rgb(27, 36, 33);
}

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

.navbar .logo a{
    color: rgb(235, 244, 250);
    font-size: 35px;
    font-weight: 600;
}

.navbar .logo a span{
    color: rgb(247, 247, 162);
    transition: all 0.6s ease;
}

.navbar.sticky .logo a span{
    color: rgb(235, 244, 250);
}

.navbar.sticky .logo a{
    color: rgb(247, 247, 162);
}

.navbar.sticky .menu li a:hover{
    color: rgb(247, 247, 126);
}

.navbar .menu li{
    list-style: none;
    display: inline-block;
}

li a{
    color: rgb(235, 244, 250);
    /*color: rgb(247, 247, 126);*/
    font-size: 22px;
    font-weight: 500;
    margin-left: 25px;
    transition: color 0.8s ease;
}

.navbar .menu li a:hover{
    color: rgb(247, 247, 162);
    /*color: rgb(235, 244, 250);*/
}

.menu-btn{
    color: rgb(235, 244, 250);
    font-size: 20px;
    cursor: pointer;
    display: none;
}


/* HOME section styling */
.home {
    display: flex;
    background: url(pexel.jpg) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
    height: 100vh;
    color: white;
    min-height: 500px;
}

.home .max-width{
    margin-left: 10px;
    margin-bottom: 10px;
}

.home .home-content .text-1{
    font-size: 27px;
}

.home .home-content .text-2{
    font-size: 75px;
    font-weight: 600;
    margin-left: -3px;
}

.home .home-content .text-3{
    font-size: 40px;
    margin: 5px 0;
}

.home .home-content .text-3 span{
    color: rgb(255, 255, 85);
    font-weight: 500;
}


/* YRITYS section styling */
section{
    padding: 80px 0;
}

.yritys h2{
    position: relative;
    border-style: groove;
    border-color: rgb(110, 143, 131);
    /*text-decoration: underline;*/
    font-size: 28px;
    font-weight: 700;
    text-align: right;
    margin-bottom: 15px;
    padding-right: 140px;
}

.yritys .yritys-content{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.yritys .yritys-content .left{
    width: 45%;
}

.yritys .yritys-content .left img{
    height: 400px;
    width: 400px;
    object-fit: cover;
    border-radius: 6px;
}

.yritys .yritys-content .right{
    width: 55%;
}

.right p{
    font-size: 22px;
    text-align: justify;
}


/* PALVELUT section styling */
.palvelut h2{
    position: relative;
    border-style: groove;
    border-color: rgb(110, 143, 131);
    /*text-decoration: underline;*/
    font-size: 28px;
    font-weight: 700;
    text-align: left;
    margin-bottom: 15px;
    padding-left: 140px;
}

.palvelut .palvelut-content{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.palvelut-content li{
    font-size: 22px;
    margin-left: 50px;
    text-align: justify;
}

.palvelut-content dd{
    font-size: 20px;
    margin-left: 50px;
    text-align: justify;
}

.palvelut .palvelut-content .left{
    width: 65%;
}

.palvelut .palvelut-content .right{
    width: 35%;
}

.palvelut .palvelut-content .left h5{
    margin-top: 20px;
    font-size: 24px;
    text-align: justify;
}

.palvelut .palvelut-content .right img{
    height: 400px;
    width: 400px;
    object-fit: cover;
    border-radius: 6px;
}


/* GALLERIA section styling */
.galleria h2{
    position: relative;
    border-style: groove;
    border-color: rgb(110, 143, 131);
    /*text-decoration: underline;*/
    font-size: 28px;
    font-weight: 700;
    text-align: left;
    margin-bottom: 15px;
    padding-left: 140px;
}

/* Position the image container (needed to position the left and right arrows) */
.container {
    position: relative;
  }
  
  /* Hide the images by default */
  .mySlides {
    display: none;
  }
  
  /* Add a pointer when hovering over the thumbnail images */
  .cursor {
    cursor: pointer;
  }
  
  /* Next & previous buttons */
  .prev,
  .next {
    cursor: pointer;
    position: absolute;
    top: 40%;
    width: auto;
    padding: 16px;
    margin-top: -50px;
    color: rgb(247, 247, 162);
    font-weight: bold;
    font-size: 20px;
    border-radius: 0 3px 3px 0;
    user-select: none;
    -webkit-user-select: none;
  }
  
  /* Position the "next button" to the right */
  .next {
    right: 0;
    border-radius: 3px 0 0 3px;
  }
  
  /* On hover, add a black background color with a little bit see-through */
  .prev:hover,
  .next:hover {
    background-color: rgba(39, 39, 39, 0.8);
  }
  
  /* Number text (1/3 etc) */
  .numbertext {
    color: black;
    font-size: 12px;
    padding: 8px 12px;
    position: absolute;
    top: 0;
  }
  
  /* Container for image text */
  .caption-container {
    text-align: center;
    background-color: #222;
    padding: 6px 16px;
    color: white;
    font-weight: 600;
  }
  
  .row:after {
    content: "";
    display: table;
    clear: both;
  }
  
  /* Six columns side by side */
  .column {
    float: left;
    width: 16.66%;
  }
  
  /* Add a transparency effect for thumnbail images */
  .demo {
    opacity: 0.6;
  }
  
  .active,
  .demo:hover {
    opacity: 1;
  }


/* YHTEYSTIEDOT section styling */
.yhteystiedot h2{
    position: relative;
    border-style: groove;
    border-color: rgb(110, 143, 131);
    font-size: 28px;
    font-weight: 700;
    text-align: right;
    margin-bottom: 15px;
    padding-right: 140px;
}

.yhteystiedot .yhteystiedot-content{  
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.yhteystiedot .yhteystiedot-content .column{
    width: calc(50% - 30px);
}

.yhteystiedot .yhteystiedot-content .text{
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
}

.yhteystiedot .yhteystiedot-content .text2{
    font-size: 24px;
    margin-bottom: 20px;
}

.yhteystiedot .yhteystiedot-content .left p{
    text-align: justify;
}

.yhteystiedot .yhteystiedot-content .left .icons{
    margin: 40px 40px;
}

.yhteystiedot .yhteystiedot-content .row{
    display: flex;
    height: 60px;
    align-items: left;
}

.yhteystiedot .yhteystiedot-content .row .info{
    margin-left: 30px;
}

.infoTunnus{
    margin-left: 55px;
}
.infoTunnus .sub-title{
    color: rgb(111, 131, 123);
}

.yhteystiedot .yhteystiedot-content .row i{
    font-size: 25px;
    color: rgb(110, 143, 131);
}

.yhteystiedot .yhteystiedot-content .info .head{
    font-weight: 500;
}

.yhteystiedot .yhteystiedot-content .info .sub-title{
    color: rgb(111, 131, 123);
}

.map{
    margin-top: 20px;
}

/* FOOTER styling */
footer{
    background: rgb(27, 36, 33);
    padding: 15px;
    color: rgb(247, 247, 162);
    font-size: 14px;
    text-align: center;
    font-weight: 500;
}
footer span a{
    text-decoration: none;
    color: rgb(235, 244, 250);
    font-size: 15px;
}

footer span a:hover{
    text-decoration: underline;
}



/*responsive media*/
@media (max-width: 1046px) {
    .max-width{
        max-width: 800px;
    }

    .menu-btn{
        display: block;
        z-index: 999;
    }

    .navbar .menu{
        position: fixed;
        height: 100vh;
        width: 100%;
        left: -100%;
        top: 20px;
        transition: all 0.8s ease;
    }

    .navbar .menu.active{
        top: 0;
        left: 0;
        background-color: rgb(27, 36, 33);
        max-width: 160px;
        height: 300px;
    }

    .menu-btn i.active:before{
        content: "\f00d";
    }

    .navbar .menu li{
        margin-top: 10px;
        /*text-align: center;*/
        display: block;
    }

    .navbar .logo a{
        font-size: 0;
    }

    li a{
        display: inline-block;
        margin: 10px;
        font-size: 25px;
    }

    .home .home-content .text-2{
        font-size: 45px;
    }

    .yritys .yritys-content .left{
        display: flex;
        justify-content: center;
        margin: 0 auto 60px;
    }
    .yritys .yritys-content .right{
        flex: 100%;
    }
    .yritys .yritys-content .column{
        width: 40%;
    }
    .yritys .yritys-content .left img{
        height: 400px;
        width: 400px;
        object-fit: cover;
    }
    .yritys h2{
        position: relative;
        font-size: 18px;
    }
    .right p{
        font-size: 15px;
        text-align: justify;
    }


    .palvelut .palvelut-content .right{
        display: flex;
        justify-content: center;
        margin: 0 auto 60px;
    }
    .palvelut .palvelut-content .left{
        flex: 100%;
        padding-bottom: 40px;
    }
    .palvelut .palvelut-content .column{
        width: 40%;
    }
    .palvelut .palvelut-content .right img{
        height: 400px;
        width: 400px;
        object-fit: cover;
    }
    .palvelut h2{
        position: relative;
        font-size: 18px;
    }
    .palvelut .palvelut-content .left h5{
        font-size: 18px;
    }
    .palvelut-content li{
        font-size: 16px;
        margin-left: 50px;
    }
    .palvelut-content dd{
        font-size: 15px;
        margin-left: 50px;
    }

    .galleria h2{
        position: relative;
        font-size: 18px;
    }

    .yhteystiedot .yhteystiedot-content .column{
        width: 100%;
        margin-bottom: 35px;
    }

    .yhteystiedot h2{
            position: relative;
            font-size: 18px; 
    }
}

@media (max-width: 690px){
    .max-width{
        padding: 0 20px;
    }

    li a{
        display: inline-block;
        margin: 10px;
        font-size: 18px;
    }

    .home .home-content .text-3{
        font-size: 20px;
        margin: 5px 0;
    }

    .home .home-content .text-2{
        font-size: 35px;
    }

    .home .home-content .text-1{
        font-size: 18px;
    }

    .list div {
        width: 25px;
        height: 2px;
        background-color:rgb(235, 244, 250);
        margin: 4px;
        transition: all 0.3s ease;
    }

    .yritys .yritys-content .left img{
        height: 300px;
        width: 300px;
        object-fit: cover;
    }

    .right p{
        font-size: 13px;
        text-align: justify;
    }

    .yritys h2{
        position: relative;
        font-size: 16px;
    }

    .palvelut .palvelut-content .right img{
        height: 300px;
        width: 300px;
        object-fit: cover;
    }

    .palvelut .palvelut-content .left h5{
        font-size: 16px;
    }

    .palvelut h2{
        position: relative;
        font-size: 16px;
    }

    .palvelut .palvelut-content .left h5{
        font-size: 16px;
    }

    .palvelut-content li{
        font-size: 14px;
        margin-left: 30px;
    }
    
    .palvelut-content dd{
        font-size: 13px;
        margin-left: 30px;
    }

    .galleria h2{
        position: relative;
        font-size: 16px;
    }

    .yhteystiedot h2{
        position: relative;
        font-size: 16px;
    }

    .yhteystiedot .left .text{
        font-size: 16px;
    }

    .yhteystiedot .right .text{
        font-size: 16px;
    }

    .yhteystiedot .right form .button{
        height: 30px;
        width: 100px;
    }

    .yhteystiedot .right form .button button{
        font-size: 16px;
    }

    .yhteystiedot .right form .field input,
    .yhteystiedot .right form .textarea textarea{
        font-size: 14px;
    }

    .yhteystiedot .left .head, .sub-title{
        font-size: 14px
    }

    .map{
        max-width: 350px;
        max-height: 350px;
    }

    footer{
        width: auto;
    }

}

@media (max-width: 500px){
    .map{
        max-width: 300px;
        max-height: 300px;
    }
}


@media (max-width: 390px){
    .right p{
        text-align: justify;
    }

    .yritys .yritys-content .left img{
        height: 250px;
        width: 250px;
        object-fit: cover;
    }

    .palvelut-content li{
        margin-left: 30px;
    }
    
    .palvelut-content dd{
        margin-left: 30px;
    }

    .palvelut .palvelut-content .right img{
        height: 250px;
        width: 250px;
        object-fit: cover;
    }
    
    .map{
        width: 250px;
        height: 250px;
    }

    .yhteystiedot .text{
        font-size: 14px;
    }
}