:root {
    --color1: #2f455c; /* 30% */
    --color2: #d06142; /* semi-common */
    --color3: #21D0B2;
    --color4: #f6efe4; /* background */
    --colorGreen: #106c10;
    --colorRed: #bf2121;
    --transition: transform 0.75s cubic-bezier(0.075, 0.5, 0, 1);
    --accordion-button-active-color: red
    /* color: #189718; */
    /* 1dcdfe 34f5c5 */
}

html {
    
    overflow-x: hidden;
}

body {
    background: var(--color1);
    color: var(--color4);
    padding: 4rem;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
@media (max-width: 768px) {
    body {
        padding: 2rem 0 9rem 0;
    }
}
.title-container {
    position: relative;
    container-type: inline-size;
    container-name: title-container
}
.title {
    white-space: nowrap;
    padding-top: .5rem;
    text-align: center;
    font-size: 23pt;
}
@container title-container (max-width: 380px) {
    .title {
        font-size: 7cqw;
    }
}
@container title-container (max-width: 270px) {
    .title {
        font-size: 10cqw;
    }
}



.checkbox-label {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.checkbox-label input {
    visibility: hidden;
}
.checkbox-label::before {
    content: "";
    display: block;
    position: absolute;
    height: 1rem;
    width: 1rem;
    border: 1px solid var(--color1);
    border-radius: 4px;
}
.checkbox-label input:checked ~ .check-inp {
    position: absolute;
    height: .7rem;
    width: .7rem;
    background: var(--color1);
    border-radius: 4px;
}

input, select {
    width: 100%;
    border-radius: 8px;
    border: 1px solid var(--color1);
    background: transparent;
    padding: .5rem 1rem;
}
select {
    cursor: pointer;
}
input[type="color"] {
    border: none;
    padding: 0;
    border-radius: 8px;
    cursor: pointer;
}
input:focus, input:active {
    box-shadow: inset 0 0 4px #00000020;
    outline: none;
}

.generator-main {
    color: var(--color1);
    padding: 0;
    background: var(--color4);
    overflow: hidden;
}
@media (min-width: 768px) {
    .generator-main {
        border-radius: 4rem;
    }
}
.main-url {
    position: relative;
    padding: 2rem 4rem;
}
.main-url::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    height: 1px;
    width: 100%;
    left: 0;
    background: var(--color1);
}

#imageContainer {
    position: relative;
    padding: 2rem;
    background: var(--color3);
    height: 100%;
}
.settings-container {
    padding: 2rem 4rem;
    display: flex;
    flex-direction: column;
}
#image {
    max-width: 21rem;
}
@media (max-width: 768px) {
    #imageContainer {
        box-shadow: 0 0 4px #00000080;
        padding: 0;
        position: fixed;
        height: 8rem;
        width: 100%;
        bottom: 0;
        padding: .5rem;
        z-index: 10;
    }
    #image {
        height: 7rem;
        width: 7rem;
        margin: 0 auto;
        aspect-ratio: 1/1;
    }
    .main-url {
        padding: 2rem 1rem;
    }
    .settings-container {
        padding: 2rem 1rem;
    }
}
.flex-grow {
    flex-grow: 1;
}
.small-input {
    margin-bottom: 2rem;
}
.small-input label {
    font-size: 10pt;
    width: 100%;
    text-align: center;
    margin-bottom: .25rem;
}

#generateBtn, #logo, #downloadBtn {
    background: var(--color2);
    border: 1px solid transparent;
    padding: .5rem 1rem;
    width: 100%;
    text-align: center;
    border-radius: 8px;
    margin: 1rem auto;
    cursor: pointer;
}
#downloadBtn {
    color: var(--color4);
}
#removeLogo {
    cursor: pointer;
}
#logo {
    margin: 1rem .5rem 0 0;
    width: fit-content;
    background: var(--color3);
}


a {
    color: var(--color4);
}
a:hover {
    color: #ffffff50;
}

.accordion-item, .accordion-button, .accordion-header {
    background: none !important;
    color: var(--color1) !important;
    border-radius: 0 !important;
    border: none;
    box-shadow: none !important;
}
.accordion-button {
    padding-left: 0;
}
.accordion-button::after {
    background-image: none !important;
    height: 1rem;
    width: 1rem;

    rotate: -45deg;
    border-top: 1px solid var(--color1);
    border-right: 1px solid var(--color1);
    border-bottom: 1px solid transparent;
    border-left: 1px solid transparent;
}
.accordion-item {
    border-bottom: .5px solid var(--color1);
}