.app-main {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: -100;
}

.app-section {
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    row-gap: 10px;
    column-gap: 10px;
    margin: 30px 30px;
}

.app-container {
    height: 300px;
    width: 300px;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

.app-title {
    color: dimgray;
    font-size: 18;
    font-weight: 500;
    transform: scaleX(1.3);
    letter-spacing: 1px;
    text-align: center;
    white-space: nowrap;
    margin-bottom: 10px;
}

.app-image-container {
    height: 210px;
    width: 240px;
    margin-left: 30px;
    margin-bottom: 30px;
    object-fit: cover;
    object-position: center;
    display: flex;
    justify-content: center;
    overflow: hidden;
    border-radius: 30px;
    transition: opacity 0.25s, color 0.25s;
}
.app-image-container img {
    height: 210px;
}

.app-image-container:hover {
    opacity: 0.65;
}

@media (max-width: 1020px) {
    .app-main {
        justify-content: left;
    }
}
@media (max-width: 900px) {
    .app-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ------- TESLA --------- */ 
.main-screen {
    background-color: rgba(255, 255, 255, 0.7);
    height: 400px;
    width: 700px;
    border: 1px solid grey;
    display: flex;
    flex-direction: column;
    margin: 60px 40px;
    position: relative;
}
.main-screen::before {
    content: "";
    background-image: var(--main-screen-background);
    background-position: center 56px;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.upper-part {
    background-color: rgb(102, 102, 102);
    color: white;
    font-size: 22px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.bottom-part {
    height: 340px;
    display: flex;
    justify-content: center;
    position: relative;
}

.question-text {
    background-color: white;
    padding: 2px 100px;
    border-radius: 3px;
}

#question1,
#question2,
#question3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    margin-top: 60px;
}
#showTesla {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: absolute;
}

.showTesla-title {
    margin-top: 50px;
}

.tesla-model-container {
    display: flex;
    margin-top: 40px;
}

.tesla-image-container {
    width: 300px;
    height: 200px;
    /*background-color: azure;*/
}
.tesla-image-container img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}
#teslaParameters {
    /*background-color: rgb(235, 192, 192);*/
    font-size: 14px;
    line-height: 22px;
    height: 190px;
    width: 250px;
    text-align: left;
    padding: 10px 10px 0px 20px;
    
}

.selection-container {
    display: flex;
    justify-content: center;
}
.color-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 5px;
    margin-right: 5px;
    transition: opacity 0.25s;
}
.color-container:hover {
    cursor: pointer;
}
.color-container:hover .car-color {
    opacity: 0.8;
    /*border: 3px solid white;*/
    outline: 6px solid white;
}
.color-container:hover label {
    font-weight: 600;
}

.car-color-outer {
    width: 96px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.car-color {
    width: 80px;
    height: 80px;
    border: 3px solid transparent;
    border-radius: 8px;
}
#red > div > div {
    background-color: red;
}
#black > div > div {
    background-color: rgb(0, 0, 0);
}
#metallic > div > div {
    background-color: rgb(197, 197, 197);
}
#blue > div > div {
    background-color: blue;
}
#yellow > div > div {
    background-color: rgb(255, 247, 21);
}

.color-container label {
    margin-top: 5px;
}

#continueButton {
    width: 100px;
    height: 25px;
    background-color: rgb(255, 255, 255);
    border-radius: 5px;
    font-weight: 500;
    /*position: absolute;*/
    margin-top: 280px;
}
#continueButton:hover {
    cursor: pointer;
}

.model-container {
    background-color: rgb(214, 214, 214);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    /*border: 3px solid transparent;*/
    border-radius: 8px;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 3px;
    margin-bottom: 3px;
    transition: opacity 0.25s, text-shadow 0.25s;
}
.model-container:hover {
    cursor: pointer;
    outline: 6px solid rgba(21, 200, 255, 0.871);
    text-shadow: 0px 0px 5px rgba(21, 200, 255, 0.871);
    opacity: 0.7;
}

.year-container {
    background-color: rgb(173, 203, 240);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 30px;
    /*border: 3px solid transparent;*/
    border-radius: 5px;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 30px;
    transition: opacity 0.25s, text-shadow 0.25s;
}
.year-container:hover {
    cursor: pointer;
    outline: 6px solid white;
    text-shadow: 0px 0px 5px rgba(21, 200, 255, 0.871);
    opacity: 0.7;
}

/* ------- WORD GENERATOR --------- */ 
.word-gen-main-screen {
    background-color: rgba(255, 255, 255, 0.7);
    height: 400px;
    width: 700px;
    border: 1px solid grey;
    display: flex;
    flex-direction: column;
    margin: 60px 40px;
    position: relative;
}
.word-gen-main-screen::before {
    content: "";
    background-image: var(--main-screen-background);
    background-position: center 56px;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.word-gen-upper-part {
    background-color: rgb(102, 102, 102);
    color: white;
    font-size: 24px;
    letter-spacing: 2px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.word-gen-bottom-part {
    height: 340px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#instructionsText {
    background-color: rgb(250, 246, 242);
    font-size: 18px;
    margin-top: 16px;
    padding: 5px 20px;
}

#genButton {
    width: 150px;
    height: 40px;
    font-size: 16px;
    letter-spacing: 1px;
    color: rgb(45, 12, 1);
    background-color: rgb(255, 255, 255);
    border: 4px solid coral;
    border-radius: 10px;
    font-weight: 500;
    /*position: absolute;*/
    margin-top: 20px;
    transition: background-color 0.25s;
}
#genButton:hover {
    background-color: rgba(255, 203, 184, 0.821);
    cursor: pointer;
}
#genButton:active {
    background-color: rgb(255, 98, 54);
}

.word-gen-field {
    width: 400px;
    height: 70px;
    background-color: rgba(255, 127, 80, 0.75);
    margin-top: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#generatedWord {
    font-size: 28px;
    letter-spacing: 4px;
    color: white;
    font-weight: 700;
    transform: scaleX(1.1);
}

/* ------- EXACT TIME --------- */ 
#clock-container {
    /*background-color: rgb(250, 240, 210);*/
    height: 440px;
    width: 600px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: 60px;
    visibility: hidden;
}

#celebrity {
    /*background-color: rgba(93, 77, 77, 0.7);*/
    height: 300px;
    width: 270px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 30px;
}
#celebrity img {
    object-fit: contain;
    object-position: right;
    height: 100%;
    width: 100%;
}

.speech-container {
    height: 300px;
    width: 300px;
    display: flex;
    /*justify-content: center;
    align-items: start;*/
    position: relative;
}

#speech-balloon {
    height: 260px;
    width: 260px;
    margin-top: -80px;
    margin-left: 10px;
}

#speech {
    font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    font-size: 18px;
    text-align: center;
    position: absolute;
    width: 200px;
    top: -15;
    left: 44;
}
/* ------- VICOVE --------- */ 
.joke-display {
    background-color: rgb(250, 241, 230);
    width: 700px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 10px;
    margin-top: 40px;
    margin-bottom: 60px;
}

.joke-container {
    background-color: rgb(227, 222, 214);
    width: 640px;
    margin: 20px 0;
    border-radius: 10px;
}

.joke-info {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
}

#joke-id {
    height: 30px;
    width: 30px;
    background-color: rgb(238, 222, 202);
    margin-left: 10px;
    border-radius: 50%;
}

#joke-rating {
    margin-right: 10px;
}

#joke-text {
    background-color: rgb(250, 248, 248);
    margin: 10px 10px;
    padding: 5px 10px;
}

#joke-id, 
#joke-rating {
    color: rgb(93, 93, 93);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* -------------------- SWEDIFY --------------------- */ 
.swed-main-screen {
    background-color: rgba(255, 255, 255, 0.7);
    height: 480px;
    width: 640px;
    border: 1px solid grey;
    display: flex;
    flex-direction: column;
    margin: 60px 40px;
    position: relative;
}
.swed-main-screen::before {
    content: "";
    background-image: var(--swed-main-screen-background);
    background-position: center 56px;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.swed-upper-part {
    background-color: rgb(102, 102, 102);
    color: white;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 6px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.swed-bottom-part {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#swedVersion {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 1px;
    position: absolute;
    top: 28px;
    right: 30px;
}

#swedInstructions {
    background-color: rgb(250, 246, 242);
    font-size: 16px;
    margin-top: 20px;
    padding: 4px 16px;
}

.swed-input-field {
    width: 500px;
    height: 120px;
    background-color: rgba(255, 253, 161, 0.65);
    border: 1px solid grey;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    transition: background-color 0.25s;
}
.swed-input-field:hover {
    background-color: rgba(255, 253, 161, 0.5);
}
#swedInputText {
    width: 480px;
    height: 110px;
    font-size: 18px;
    font-weight: 500;
    background-color: rgba(255, 253, 161, 0);
    -webkit-font-smoothing: antialiased;
    resize: none;
    border: none;
    outline: none;
}

#swedifyButton {
    width: 180px;
    height: 40px;
    font-size: 16px;
    letter-spacing: 1px;
    color: rgb(45, 12, 1);
    background-color: rgb(138, 199, 255);
    border: 4px solid rgb(255, 252, 80);
    border-radius: 10px;
    font-weight: 500;
    /*position: absolute;*/
    margin-top: 20px;
    transition: background-color 0.25s, color 0.25s;
}
#swedifyButton:hover {
    cursor: pointer;
    color: white;
    background-color: rgb(16, 140, 255);
}
#swedifyButton:active {
    color: rgb(255, 252, 52);
    background-color: rgb(116, 16, 255);
}

.swed-output-field {
    width: 500px;
    height: 120px;
    /*background-color: rgba(161, 205, 255, 0.65);*/
    background-color: rgba(201, 222, 246, 0.75);
    border: 1px solid grey;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 22px;
    transition: background-color 0.25s;
}
#resultText {
    width: 480px;
    height: 110px;
    font-size: 18px;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
}

/* -------------------- CHESS --------------------- */ 
.chess-link-container {
    /* background-color: #cdcdcd; */
    display: flex;
    flex-direction: row;
    align-items: end;
    margin-bottom: 16px;
}

.chess-link-container img {
    height: 28px;
}

.chess-link {
    text-decoration: none;
}

.chess-link-text {
    color: rgb(0, 0, 149);
    margin-left: 20px;
}

/* -------------------- FRENCH-BULGARIAN TEST --------------------- */ 
.fre-bul-main-screen {
    background-color: rgba(255, 255, 255, 0.7);
    height: 480px;
    width: 640px;
    border: 1px solid grey;
    display: flex;
    flex-direction: column;
    margin: 60px 40px;
    position: relative;
}
.fre-bul-main-screen::before {
    content: "";
    background-image: var(--fre-bul-main-screen-background);
    background-position: center 40px;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.fre-bul-title-part {
    background-color: rgb(102, 102, 102);
    color: white;
    padding-left: 20px;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 4px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#frBulVersion {
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 1px;
    position: absolute;
    top: 20px;
    right: 50px;
}

.fre-bul-main {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fre-bul-main-upper {
    width: 600px;
    height: 140px;
    display: flex;
    flex-direction: row;
}

.fre-bul-main-upper-left {
    width: 150px;
    display: flex;
    flex-direction: column;
    align-items: end;
}

.fre-bul-main-upper-right {
    width: 100px;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: start; 
}

.fre-bul-main-center {
    width: 600px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center; 
}

#fre-bul-main-center-right, 
#fre-bul-main-center-wrong {
    width: 160px;
    height: 40px;
    font-size: 26px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fre-bul-main-lower {
    width: 600px;
    height: 200px;
    display: flex;
    flex-direction: row;
}

.fre-bul-main-lower-left {
    width: 200px;
    margin-left: 20px;
}

#rightAnswers_txt, 
#wrongAnswers_txt {
    height: 20px; width: 30px;
    margin-left: 4px;
    display: inline-block;
}
#rightAnswers_txt {
    text-align: end;
}

.statistics-text {
    height: 34px;
    width: 40px;
    color: rgb(131, 0, 35); 
    font-size: 18px; 
    font-weight: 700;
    /*padding-bottom: 3px;
    margin-bottom: -10px;*/
}

.fre-bul-main-lower-right {
    height: 180px;
    width: 300px;
    margin-left: 50px;
}

.fre-bul-main-lower-right-inner {
    height: 160px;
    width: 280px;
    background-color: rgba(201, 222, 246, 0.75);
    border: 1px solid grey;
    border-radius: 8px;
    margin: 10px 0 0 10px;
}

.fre-bul-output-field {
    width: 300px;
    height: 30px;
    background-color: rgba(201, 222, 246, 0.75);
    border: 1px solid grey;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 32px;
}
#frBulOutputText {
    width: 280px;
    height: 26px;
    font-size: 19px;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
}

.fre-bul-input-field {
    width: 300px;
    height: 30px;
    background-color: rgba(255, 253, 161, 0.65);
    border: 1px solid grey;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
    transition: background-color 0.25s;
}
.fre-bul-input-field:hover {
    background-color: rgba(255, 253, 161, 0.5);
}
#frBulInputText {
    width: 280px;
    height: 28px;
    font-size: 19px;
    font-weight: 500;
    background-color: rgba(255, 253, 161, 0);
    -webkit-font-smoothing: antialiased;
    resize: none;
    overflow: hidden;
    border: none; 
    outline: none;
}
#frBulInputText::placeholder {
    font-size: 19px;
}

#frBulNewTestButton {
    width: 100px;
    height: 30px;
    font-size: 16px;
    letter-spacing: 1px;
    color: rgb(45, 12, 1);
    background-color: rgb(216, 216, 216);
    border: 3px solid rgb(79, 79, 79);
    border-radius: 10px;
    font-weight: 500;
    box-shadow: 2px 2px 4px grey;
    margin-top: 32px;
    transition: background-color 0.25s, color 0.25s;
}
#frBulNewTestButton:hover {
    cursor: pointer;
    color: white;
    background-color: rgb(156, 156, 156);
}
#frBulNewTestButton:active {
    color: rgb(255, 252, 52);
    background-color: rgb(132, 47, 10);
}

#frBulEnterButton {
    width: 90px;
    height: 30px;
    font-size: 16px;
    letter-spacing: 1px;
    color: rgb(45, 12, 1);
    background-color: rgb(223, 206, 199);
    border: 3px solid rgb(132, 47, 10);
    border-radius: 10px;
    font-weight: 500;
    box-shadow: 2px 2px 4px grey;
    margin-top: 32px;
    transition: background-color 0.25s, color 0.25s;
}
#frBulEnterButton:hover {
    cursor: pointer;
    color: white;
    background-color: rgb(199, 115, 79);
}
#frBulEnterButton:active {
    color: rgb(255, 252, 52);
    background-color: rgb(132, 47, 10);
}

#frBulMeaningsText {
    height: 170px;
    width: 270px;
    padding: 5px;
    margin: 0px;
}