.desktop-hidden {
    display: none !important;
}

.topbar {
    z-index: 9998;
    position: sticky;

    display: flex;
    flex-direction: row;
    justify-content: space-around;

    margin: 10px;
    height: 5vh;

    overflow: hidden;
}

.topbar-item {
    object-fit: contain;
    width: fit-content;
    padding: 10px;

    display: flex;
    justify-content: center;
    align-items: center;

    color: #f3f5ff;
}

.banner {
    display: flex;
    flex-direction: row;

    justify-content: center;
    align-items: center;
    object-fit: contain;

    height: 50vh;

    color: #f3f5ff;
    background-color: #232634;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;

    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, .62);

    overflow: hidden;
}

.banner-field {
    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;

    margin-left: 3.7vw;
}

.banner-title {
    font-size: 7vh;
    font-weight: bold;
}

.banner-subtitle {
    font-size: 3.3vh;
    font-weight: lighter;
    font-style: italic;
}

.section {
    display: flex;
    flex-direction: row;

    justify-content: center;
    align-items: center;

    min-height: 43vh;

    padding: 5vh 2vw;

    color: #232634;
    background-color: #f3f5ff;
}

.section-sub {
    display: flex;
    flex-direction: row;

    justify-content: center;
    align-items: center;
}

.section-field {
    display: flex;
    flex-direction: column;

    padding: 7vh 8vw;

    justify-content: center;
    align-items: center;
    text-align: center;
}

.section-title {
    margin: 0.6vh 1vw;

    font-size: 7vh;
    font-weight: bold;
}

.section-subtitle {
    margin: 0.6vh 1vw;

    font-size: 3.3vh;
    font-style: italic;
}

.section-text {
    margin: 0.6vh 1vw;
}

.widget {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    justify-content: space-evenly;
    align-items: center;
    width: 100vw;
}

.widget-content {
    display: flex;
    flex-direction: column;

    padding: 2.4vh 3vw;

    justify-content: center;
    align-items: center;
}

.widget-field {
    display: flex;
    flex-direction: column;

    height: 90%;

    padding: 2.4vh 3vw;
}

.widget-sub {
    display: flex;
    flex-direction: row;

    width: 100%;

    justify-content: space-evenly;
    align-items: center;
}

.widget-title {
    font-size: 4.6vh;
    font-weight: bold;
}

.widget-subtitle {
    font-size: 2.7vh;
    font-style: italic;
}

.panel-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.panel {
    display: flex;
    flex-direction: column;
    justify-content: center;

    height: 40vh;
    padding: 5vh;

    color: #f3f5ff;
    background-color: #232634;
}

.panel-title {
    font-size: 4.6vh;
    font-weight: bold;

    margin: 1vh 1vw;
}

.panel-subtitle {
    font-size: 2.7vh;
    font-style: italic;

    margin: 1vh 1vw;
}

.panel-text {
    margin: 1vh 1vw;
}

.footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    justify-content: space-evenly;
    align-items: center;
    text-align: center;

    height: 7vh;

    color: #f3f5ff;
    background-color: #232634;
}

input[type="text"] {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 2vh;

    border-radius: 10px;
    border-style: solid;
    border-color: #232634;
    border-width: 3px;

    width: 30vw;
    
    margin: 1vh 2vw;
}

input[type="email"] {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 2vh;

    border-radius: 10px;
    border-style: solid;
    border-color: #232634;
    border-width: 3px;

    width: 30vw;

    margin: 1vh 2vw;
}

input[type="submit"] {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 2vh;

    color: #f3f5ff;
    background-color: #303446;

    border-width: 0;
    border-radius: 25px;

    width: 30vw;

    margin: 1vh 2vw;
    padding: 1vh 1vw;
}

textarea {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 2vh;

    border-radius: 10px;
    border-style: solid;
    border-color: #232634;
    border-width: 3px;

    width: 30vw;
    height: 20vh;

    margin: 1vh 2vw;

    resize: none;
}