
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;

    font-family: 'Poppins', sans-serif;
}

body {
    /* background-color: rgb(52, 61, 70, 1); #343d46; */
    background-image: linear-gradient(to bottom, #a7adba, #343d46);
}

/* ######################################### */

.flex-container {
    display: flex;
    flex-direction: column;

    justify-content: space-between;
    align-items: center;
}

/* ######################################### */

.upper-container {
    display: flex;
    flex-direction: column;
    width: 100%;

    justify-content: center;
    /* align-items: space-between; */

    background-color: transparent;
    background: url('/static/Images/homepage_images/header_img.png');
    background-repeat: no-repeat;
    background-size:cover;
}

/* ######################################### */

.banner-container {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 70px;

    justify-content: space-around;
    align-items: center;
}

.banner-button-container {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 70px;

    justify-content: space-around;
    align-items: center;

    background-color: rgb(52, 61, 70, .5);
}

.banner-button {
    border: black;
    outline: black;
    
    background-color: rgb(20, 24, 27, .2);

    flex-grow: 1;
    height: 100%;
    overflow: hidden;

    line-height: 25px;
    font-size: 20px;
    color: #c0c5ce;
}
.banner-button:hover{
    font-size: 21px;
    background-color: rgb(20, 24, 27, .3);
    overflow: hidden;

    cursor: pointer;
}

/* ######################################### */

.header-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    
    background-color: transparent;
    width: 100%;

    margin-top: 350px;
    margin-bottom: 2000px;
}
/* 
.banner-button {
    align-self: center;
} */

.title-container{
    display: flex;
    flex-direction: column;
    /* justify-self: center; */
    
    justify-content: flex-start;
    align-items: center;
    align-content: center;

    margin-top: 30px;
    margin-bottom: 30px;
    /* padding: 15px; */

    background-color: rgb(20, 24, 27, .5);
    padding: 0px 10px 10px 10px;
    border-radius: 15px;

    /* flex-grow: 1 */
}
.name-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: baseline;

    background-color: transparent;

    color: #c0c5ce;
    /* -webkit-text-stroke: .25px #4f5b66; */
}
.name-1 {
    margin: 0px;
    font-size: 3vw;
    background-color: transparent;
}
.name-2 {
    margin: 0px;
    font-size: 4vw;
    background-color: transparent;

}
.slogan {
    margin: 0px;
    color: #c0c5ce;
    font-style: italic;
    font-size: 1.5vw;
    background-color: transparent;
}

/* ######################################### */

.world-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    
    justify-content: center;
    align-items: center;
    align-content: center;

    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 150px;
    padding-bottom: 150px;

    background-color: transparent;
    background-image: linear-gradient(to right, #a7adba, #65737e,#343d46, #343d46, #65737e, #a7adba);


    flex-grow: 5;
}

.world-text {
    color: #c0c5ce;
    background-color: rgb(20, 24, 27, .5);
    padding: 5px 10px 5px 10px;
    border-radius: 15px;
    font-size: 2vw;

    margin-bottom: 20px;
}

.world-cards-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-content: space-around;

    background-color: transparent;
    border-radius: 15px;
    padding: 10px;

    /* margin-bottom: 40px; */
}

.world-card {
    display: flex;
    flex-direction: column;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    text-align: center;

    overflow: hidden;

    margin: 5px;
    width: 300px;
    height: 500px;
    background-color: rgb(20, 24, 27, .5);
    border-radius: 15px;

    animation-fill-mode: forwards;
    animation-duration: 1s;
    transform-origin: bottom;
}

.card-hover-bounce:hover {
    animation-name: card-hover-bounce;
}
@keyframes card-hover-bounce {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-15px); }
}


.world-card-text {
    color: #c0c5ce;
    background-color: transparent;

    padding: 0px 3px 10px 3px;
    height: 30%;

    /* font-size: auto; */
}

.world-card-img {
    width: 100%;
}

/* ######################################### */

.implement-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;

    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 150px;
    padding-bottom: 150px;

    background-color: transparent;
    background-image: linear-gradient(to right, #a7adba, #65737e,#343d46, #343d46, #65737e, #a7adba);

}

.tutorial-container {
    /* background-color: white; */
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;

    margin: 0px 10px 0px 10px;

    background-color: transparent;
}

.implement-text {
    color: #c0c5ce;
    background-color: rgb(20, 24, 27, .5);
    padding: 10px 15px 10px 15px;
    border-radius: 15px;
    font-size: 20px;

    margin: 0px 0px 0px 90px;

    flex-basis: 30%;
}

.tutorial-gif {
    width: 640px;
    height: 360px;
    background-color: black;

    margin: 0px 90px 0px 0px;

    /* flex-grow: 3; */
}

/* ######################################### */

.visualize-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 100%;

    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 150px;
    padding-bottom: 150px;
    
    background-color: transparent;
    background-image: linear-gradient(to right, #a7adba, #65737e,#343d46, #343d46, #65737e, #a7adba);
    background-size: cover;

}

.visualize-image-row {
    display: flex;
    flex-direction: row;
    flex: 1 1 0;

    margin: 0px 75px 0px 75px;

    justify-content: space-between;
    align-items: center;
}
.visualize-image-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;

}

.visualize-image-column img {
    width: 100%;
}

.visualize-text {
    color: #c0c5ce;
    background-color: rgb(20, 24, 27, .5);
    padding: 10px 15px 10px 15px;
    border-radius: 15px;
    font-size: 18px;
    text-align: center;

    margin: 0px 35px 15px 35px;
}