:root {
    --color-yellow: #F1B42F;
    --color-red: #D84F35;
    --color-blue: #1F2D4E;
    --color-green: #109084;
    --text-color: #1E2D4E;

    --font-12-17-bold: normal normal bold 12px/17px "Open Sans";
    --font-13-18-normal: normal normal normal 13px/18px "Open Sans";
    --font-14-19-normal: normal normal normal 14px/19px "Open Sans";
    --font-15-20-normal: normal normal bold 15px/20px "Open Sans";
    --font-15-20-600: normal normal 600 15px/20px "Open Sans";
    --font-20-27-normal: normal normal normal 20px/27px "Open Sans";
    --font-20-27-bold: normal normal bold 20px/27px "Open Sans";
    --font-21-28-normal: normal normal normal 21px/28px "Open Sans";
    --font-21-28-bold: normal normal bold 21px/28px "Open Sans";
    --font-23-32-normal: normal normal bold 23px/32px "Open Sans";
    --font-25-34-normal: normal normal bold 25px/34px "Open Sans";
    --font-26-36-normal: normal normal normal 26px/36px "Open Sans";
    --font-26-36-bold: normal normal bold 26px/36px "Open Sans";
    --font-29-39-normal: normal normal normal 29px/39px "Open Sans";
    --font-39-53-normal: normal normal normal 39px/53px "Open Sans";
}

html {
  scroll-behavior: smooth;
}

body {
    font-family: "Open Sans", sans-serif;
    background: #F8F8F8;
    color: var(--text-color);
    overflow-x: hidden;
}

a {
    color: var(--text-color);
}

.container {
    max-width: 1450px;
    margin: auto;
}

.button {
    border-radius: 44px;
    outline: none;
    border: none;
    padding: 11px 16px 11px 67px;
    font: var(--font-20-27-normal);
    position: relative;
    cursor: pointer;

}

.button:before {
    position: absolute;
    content: ' ';
    left: 0;
    top: 0;
    width: 51px;
    height: 100%;
    border-radius: 44px 0px 0px 44px;
    background: var(--color-red) url("./img/pijl voor button.png") left 21px center no-repeat;
    background-size: 13px 16px;
}

.button-grey {
    background: #F8F8F8;
    color: var(--color-red);
}

.button-blue {
    background: var(--color-blue);
    color: white;
}

header {
    padding: 38px 0;
    display: flex;
    justify-content: space-between;
    background: white;
}

header .menu {
    display: flex;
    align-items: center;
    gap: 38px;
}

header .menu li {
    display: flex;
    align-items: center;
}

header .menu li a, header .menu li span {
    text-decoration: none;
    font: var(--font-20-27-bold);
    margin-right: 45px;
}

header .menu li:last-child a, header .menu li:last-child span {
    margin-right: 0;
}


header .menu li.current span {
    color: var(--color-yellow);
}

header .menu li .divider {
    width: 24px;
    height: 28px;
    /* UI Properties */
    background: url('./img/gele%20pijl.png');
}

form {
    display: grid;
    grid-template-columns: auto max-content;
    gap: 105px;
}

.header {
    position: relative;
    padding-top: 69px;
    padding-bottom: 84px;
    color: white;
}

.header:after {
    display: block;
    content: ' ';
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: calc(0px - ((100vw - 1450px) / 2));
    background: var(--color-blue);
    z-index: -1;
}

.header h2 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.header h2 span {
    font: var(--font-39-53-normal);
    letter-spacing: 0;
    color: white;
    background: var(--color-red);
    width: fit-content;
    padding: 2px 14px;
}

.header .moments {
    margin-top: 90px;
}

.header .moments img {
    width: 381px;
    height: auto;
}

.header .moments .moment {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.header .moments .moment input {
    display: none;
}

.header .moments .moment span {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 0;
    color: white;
    font: var(--font-26-36-normal);
    background: var(--text-color);
    padding: 0 21px;
    opacity: 0.61;
    border-radius: 44px;
    transition: all 200ms;
}

.header .moments .moment input:checked + span {
    opacity: 1;

}

.header .moments .moment input + span:after {
    content: ' ';
    height: 100%;
    position: absolute;
    right: -24px;
    top: 0;
    width: 36px;
    border-radius: 0px 44px 44px 0px;
    background: transparent;
    transition: background 200ms, opacity 200ms;
}

.header .moments .moment input:checked + span:after {
    background: var(--color-green) url('./img/Wit%20vinkje.png') center no-repeat;
}

.header .budget_hint {
    font: var(--font-14-19-normal);
    color: white;
    margin-top: 10px;
}

.aside {
    position: sticky;
    top: 69px;
    padding: 36px;
    background: white;
    height: fit-content;
    border-radius: 15px;
    margin-top: 69px;
    margin-bottom: 115px;
    box-shadow: 0px 0px 56px #00000014;
}

.aside h2 {
    font: var(--font-26-36-bold);
    color: var(--text-color);
    margin-bottom: 45px;
}

.aside table {
    font: var(--font-15-20-600);
    color: var(--text-color);
    width: 100%;
    margin-bottom: 34px;
    border-spacing: 0 8px;
    border-collapse: separate;
}

.aside table tr td:last-child {
    text-align: right;
}

.input-group {
    margin-top: 75px;
}

.input-group .title {
    padding: 2px 10px;
    background: var(--color-red);
    display: inline-block;
    color: white;
    font: var(--font-26-36-normal);
}

.error {
    color: var(--color-red);
    margin: 10px 0;
    text-decoration: underline;
}

.concept-container .concepts {
    display: flex;
    flex-wrap: wrap;
    gap: 22px 44px;
    margin-top: 26px;
}

.concept-container .concepts .concept {
    padding: 32px 34px;
    width: calc(50% - 22px);
    box-sizing: border-box;
    display: grid;
    grid-template-rows: min-content 40% auto min-content;
}

.selectable-boxes .selectable-box {
    background: white;
    box-shadow: 0px 0px 56px #00000014;
    border-radius: 15px;
    opacity: 0.54;
    cursor: pointer;
    transition: all 200ms;
    user-select: none;
    position: relative;
}

.selectable-boxes .selectable-box .price {
    font: var(--font-21-28-normal);
}

.selectable-boxes .selectable-box .price .vat {
    font: var(--font-13-18-normal);
}

.selectable-boxes .selectable-box label {
    cursor: pointer;
}

.selectable-boxes .selectable-box:has(input:checked) {
    opacity: 1;
}

.selectable-boxes .selectable-box input {
    display: none;
}

.concept-container .concepts .concept .concept-name {
    font: var(--font-23-32-normal);
    letter-spacing: 0px;
    color: var(--text-color);
    display: block;
}

.concept-container .concepts .concept .concept-description {
    font: var(--font-21-28-normal);
    letter-spacing: 0px;
    color: var(--text-color);
    margin-top: 6px;
    margin-bottom: 27px;
    display: block;
}

.concept-container .concepts .concept ul {
    display: block;
    margin-bottom: 20px;
}

.selectable-boxes .selectable-box ul li {
    font: var(--font-14-19-normal);
    letter-spacing: 0px;
    color: var(--text-color);
    margin-left: 30px;
    position: relative;
}

.selectable-boxes .selectable-box .more {
    height: 13px;
    background: url("./img/rood%20pijltje.png") center 10px no-repeat;
    padding-top: 10px;
}

.selectable-boxes .selectable-box ul li:before {
    display: block;
    position: absolute;
    content: ' ';
    left: -21px;
    top: 6px;
    height: 100%;
    width: 12px;
    background: url("./img/Vinkje%20los.png") center top no-repeat;
    background-size: 12px 10px;
}

.selectable-boxes .selectable-box .tick {
    position: absolute;
    top: 12px;
    right: 20px;
    height: 36px;
    width: 36px;
    background: var(--color-green) url('./img/Wit%20vinkje.png') center no-repeat;
    border-radius: 50%;
    opacity: 0;
    transition: all 200ms;
}

.selectable-boxes .selectable-box:has(input:checked) .tick {
    opacity: 1;
}
.packaging-container .subtitle {
    font: var(--font-21-28-normal);
    letter-spacing: 0px;
    margin-top: 10px;
    margin-bottom: 42px;
}

.packaging-options {
    display: flex;
    flex-wrap: wrap;
    gap: 44px 22px;
}

.packaging-options .packaging-option {
    width: calc(50% - 22px);
    border-radius: 15px;
}

.packaging-options .packaging-option img {
    width: 100%;
    height: 172px;
    object-fit: cover;
    border-radius: 15px 15px 0px 0px;
}

.packaging-options .packaging-option .info {
    padding: 15px 22px;
}

.packaging-options .packaging-option .info .packaging-name {
    font: var(--font-25-34-normal);
    color: var(--color-blue);
    letter-spacing: 0px;
    margin-bottom: 8px;
}

.extras-container .extras {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 42px;
}

.extras-container .extras .extra {
    width: calc(33% - 10px);
    border-radius: 15px;
}

.extras-container .extras .extra img {
    border-radius: 15px 15px 0 0;
    width: 100%;
}

.extras-container .extra .info {
    padding: 15px 43px 15px 22px;
    display: grid;
    grid-template-rows: min-content auto min-content;
    height: calc(100% - 180px);
    box-sizing: border-box;
}

.extras-container .extra .info .extra-name {
    font: var(--font-26-36-bold);
    letter-spacing: 0px;
    color: var(--text-color);
}

.extras-container .extra .info p {
    font: var(--font-14-19-normal);
    letter-spacing: 0px;
    color: #1E2D4E;
    margin-top: 24px;
    margin-bottom: 14px;
}

.extras-container .extra .info .price {
    font: var(--font-21-28-normal);
}

.extras-container .extra .info .price .vat {
    font: var(--font-13-18-normal);
}

.submit-container {
    margin-top: 115px;
    margin-bottom: 115px;
}
.submit-container .button {
    font: var(--font-29-39-normal);
    letter-spacing: 0px;
    padding: 25px 46px 25px 114px;
}

.submit-container .button:before {
    width: 85px;
    background-size: 23px 27px;
    background-position-x: 36px;
}

footer {
    padding: 50px 0;
    background: var(--color-blue);
}

footer .logo {
    width: 252px;
}

footer .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

footer .socials {
    display: flex;
    gap: 10px;
}

footer .socials .social {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--color-red);
    display: flex;
    justify-content: center;
    align-items: center;
}

footer .socials .social svg {
    width: 25px;
    height: 25px;
}


/* Step 2 */
.amounts {
    margin-top: 95px;
}

.amounts input[type=number]::-webkit-outer-spin-button,
.amounts input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
.amounts input[type=number] {
    -moz-appearance: textfield;
}

.amounts label span {
    font: var(--font-23-32-normal);
    color: white;
}

.amounts input, .budget .customSelect {
    width: 175px;
    margin-left: 39px;
    display: inline-block;
}

.budget .customSelect {
    margin-left: 117px;
}

.amounts input, .budget .customSelect .custom-select-opener {
    height: 47px;
    border-radius: 15px;
    padding: 7px 20px;
    box-sizing: border-box;
    font: var(--font-21-28-normal);
    background: white;
    text-align: right;
    outline: none;
    border: none;
}

.budget .customSelect .custom-select-opener span {
    color: var(--color-blue);
    font: var(--font-21-28-normal);
}


.amounts .coupons, .amounts .budget {
    display: flex;
    align-items: center;
    gap: 13px;
}

.amounts .coupons {
    margin-bottom: 39px;
}

.increase-decrease {
    display: inline-flex;
    flex-direction: column;
    gap: 7px;
}

.increase-decrease .increase, .increase-decrease .decrease {
    cursor: pointer;
}

.toggle-dropdown {
    cursor: pointer;
}

.budget .customSelect .custom-select-opener:after {
    content: ' ';
    display: block;
    width: 12px;
    height: 10px;
    background-image: url("./img/control pijl beneden.png");
    position: absolute;
    right: -27px;
    top: 50%;
    transform: translateY(-50%);
    transition: 200ms all;
}

.budget .customSelect.is-open .custom-select-opener:after {
    transform: translateY(-50%) scale(1, -1);
}

.simple-form .input-group .inputs {
    margin-top: 45px;
}

.simple-form .input-group .inputs .row {
    display: flex;
    margin: 40px 0;
    gap: 34px;
    font: var(--font-21-28-normal);
}

.simple-form .input-group .inputs .row .column-6 {
    display: block;
    width: 50%;
    box-sizing: border-box;
}

.simple-form .input-group .inputs .row .inner-row {
    display: flex;
    gap: 19px;
}

.simple-form .input-group .inputs .row .column-12 {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.simple-form .input-group .inputs label {
    position: relative;
}

.simple-form .input-group .inputs label input {
    width: 100%;
    padding: 7px 27px;
    box-sizing: border-box;
    background: #FFFFFF;
    box-shadow: 0 0 56px #00000014;
    border-radius: 15px;
    border: none;
    font: var(--font-21-28-normal);
}

.simple-form .input-group .inputs label .label {
    position: absolute;
    top: 21px;
    transform: translateY(-50%);
    left: 17px;
    background: white;
    padding: 5px 10px;
    transition: 200ms all;
    font: var(--font-21-28-normal);
    border-radius: 15px 15px 0 0;
    cursor: text;
}

.simple-form .input-group .inputs label input:focus + .label, .simple-form .input-group .inputs label input:not(:placeholder-shown) + .label {
    top: -13px;
    cursor: default;
}

.simple-form .input-group .inputs .row .radios {
    display: flex;
    gap: 34px;
}


.simple-form .input-group .inputs .row .radios .radio-title {
    margin-left: 27px;
}

.simple-form .input-group .radios label, .simple-form .input-group label.radios {
    display: flex;
    align-items: center;
    gap: 7px;
    position: relative;
}

.simple-form .input-group .radios label input, .simple-form .input-group label.radios input {
    display: none;
}

.simple-form .input-group .radios label:before, .simple-form .input-group label.radios:before {
    width: 24px;
    height: 24px;
    content: ' ';
    background: var(--color-blue);
    border-radius: 50%;
    flex-shrink: 0;
}

.simple-form .input-group .radios label:has(input:checked):after, .simple-form .input-group label.radios:has(input:checked):after {
    background: white;
    transition: 150ms;
}

.simple-form .input-group .radios label:after, .simple-form .input-group label.radios:after {
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    left: 7px;
    content: ' ';
    border-radius: 50%;
    transform: translateY(-50%);
    background: transparent;
}

.simple-form .input-group .inputs .row .column-6.dropdown {
    background: white;
    display: flex;
    border-radius: 15px;
    justify-content: space-between;
    align-items: baseline;
}

.simple-form .input-group .inputs .row .column-6.dropdown .label {
    position: static;
    transform: none;
    padding: 5px 23px;
    background: transparent;
}

.simple-form .input-group .inputs .row .column-6.dropdown select {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
    margin-right: 18px;
    border: none;
    font: var(--font-21-28-normal);
    color: var(--color-blue);
    padding-right: 22px;
    background: url("./img/control pijl beneden.png") right 3px center no-repeat;
    width: 100%;
    text-align: right;
}

.simple-form .middle_checkbox label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 21px;
    position: relative;
    user-select: none;
    font: var(--font-21-28-normal);
}

.simple-form .middle_checkbox label input {
    display: none;
}

.simple-form .middle_checkbox label:before {
    width: 24px;
    height: 24px;
    content: ' ';
    background: var(--color-blue);
    border-radius: 50%;
}

.simple-form .middle_checkbox label:after {
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    left: 7px;
    content: ' ';
    border-radius: 50%;
    transform: translateY(-50%);
    background: transparent;
}

.simple-form .middle_checkbox label:has(input:checked):after {
    background: white;
    transition: 150ms;
}

.simple-form .afwijkend {
    display: none;
}

.simple-form .alternative_invoice_checkbox:has(input[name=afwijkend]:checked) ~ .afwijkend {
    display: block;
}

.simple-form .afwijkend .title {
    background: var(--color-blue);
}

.middle_checkbox {
    margin-top: 40px;
}

#form-step-1-2 .error {
    font-size: 13px;
    line-height: 1.3;
    width: 100%;
}

/* Step 2.1 */
.header .webshop .hint {
    position: relative;
}

.header .webshop .hint .icon {
    background: white;
    border-radius: 50%;
    text-align: center;
    width: 20px;
    height: 20px;
    display: inline-block;
    color: var(--color-blue);
    font: var(--font-15-20-normal);
    position: relative;
    top: -6px;
}

.header .webshop .hint .text {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 365px;
    background: white;
    border-radius: 15px;
    color: var(--color-blue);
    padding: 18px;
    font: var(--font-14-19-normal);
    z-index: 1;
}

.header .webshop .hint:hover .text {
    display: block;
}

.header .webshop h3, .header .webshop .label {
    font: var(--font-23-32-normal);
}

.header .webshop .webshop-name label {
    display: flex;
    flex-direction: column;
    gap: 19px;
}

.header .webshop .webshop-name input {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 0px 56px #00000014;
    border-radius: 15px;
    height: 32px;
    margin: 0 6px;
    padding: 0 19px;
    border: none;
}

.header .webshop .prefix, .header .webshop .suffix {
    font: var(--font-14-19-normal);
}

.header .duration, .header .webshop-name {
    margin-top: 43px;
}

.header .duration label {
    background: white;
    border-radius: 15px;
    padding: 8px 14px;
    color: var(--color-blue);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    width: 237px;
}

.header .duration label span {
    font: var(--font-14-19-normal);
}

.header .duration input {
    background: transparent;
    border: none;
    font: var(--font-21-28-normal);
    text-align: right;
}

.header .duration .durations {
    display: flex;
    align-items: center;
    gap: 23px;
    margin-top: 18px;
}

.header .duration .durations .until {
    width: 10px;
    height: 12px;
}

#form-step2-1 .header {
    padding-bottom: 168px;
}

#form-step2-1 .input-group .explanation {
    margin-top: 13px;
    margin-bottom: 19px;
    margin-left: 38px;
}

#form-step2-1 .input-group .radios {
    margin-left: 38px;
    margin-bottom: 8px;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

/* Stap 2.2 */
.persoonlijke_boodschap {
    margin-top: 40px;
}

.persoonlijke_boodschap .label {
    display: block;
    font: var(--font-23-32-normal);
}

.persoonlijke_boodschap .description {
    display: inline-block;
    width: 623px;
    max-width: 100%;
    font: var(--font-21-28-normal);
}

textarea {
    background: #FFFFFF 0 0 no-repeat padding-box;
    box-shadow: 0 0 56px #00000014;
    border-radius: 15px;
    width: 100%;
    margin-top: 19px;
    min-height: 220px;
    resize: none;
    padding: 15px;
    font: var(--font-21-28-normal);
    box-sizing: border-box;
}

textarea::-webkit-scrollbar {
    width: 46px;
    background: white;
    border-radius: 0 15px 15px 0;
}

textarea::-webkit-scrollbar-track {
    border: 14px solid rgba(0, 0, 0, 0);
    background-clip: padding-box;
    border-radius: 9999px;
    background-color: #00000014;
}

textarea::-webkit-scrollbar-thumb {
    border: 14px solid rgba(0, 0, 0, 0);
    background-clip: padding-box;
    border-radius: 9999px;
    background-color: var(--color-red);
}

#form-step2-2 .engels_geefmoment {
    display: flex;
    margin-top: 18px;
    font: var(--font-21-28-normal);
    letter-spacing: 0px;
    gap: 15px;
}

#form-step2-2 .header .input-group label.radios:before {
    background: white;
}

#form-step2-2 .header .input-group label.radios:has(input:checked):after {
    background: var(--color-blue);
}

#form-step2-2 .explanation {
    display: block;
    margin-top: 19px;
    width: 623px;
    max-width: 100%;
    font: var(--font-21-28-normal);
}

#form-step2-2 .persoonlijke_boodschap_webshop_engels {
    font: var(--font-21-28-normal);
    width: 100%;
}

#form-step2-2 .webshop_engels_radios {
    display: flex;
    margin-top: 11px;
    font: var(--font-21-28-normal);
    margin-left: 13px;
    margin-bottom: 28px;
    gap: 14px;
}

.simple-form .input-group label.radios.default_english {
    margin-top: 17px;
    font: var(--font-21-28-normal);
}

.simple-form .input-group label.radios.default_english + .default_english {
    margin-top: 6px;
}

.back {
    text-decoration: none;
    margin-left: 22px;
    margin-top: 40px;
    font: var(--font-21-28-normal);
    display: flex;
    align-items: center;
}

.back img {
    transform: rotate(90deg);
    margin-right: 6px;
}


.submit-container .back:hover {
    text-decoration: underline;
}

.theme-container .explanation {
    margin-top: 17px;
    margin-bottom: 28px;
    width: 668px;
    max-width: 100%;
    font: var(--font-21-28-normal);
}

.theme-container .themes {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.theme-container .themes .theme {
    border-radius: 15px;
    box-shadow: 0px 0px 56px #00000014;
}

.theme-container .themes .theme img {
    border-radius: 15px 15px 0px 0px;
    width: 100%;
}

.theme-container .themes .theme .theme-name {
    font: var(--font-26-36-bold);
    padding: 15px 0 20px 27px;
    display: block;
}

.theme-customizable {
    display: none;
}

.theme-customizable.show {
    display: inline-block;
}

.theme-customizable {
    font: var(--font-14-19-normal);
    margin-top: 40px;
    margin-bottom: 16px;
}

.theme-customizable .custom-texts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 16px;
}

.theme-customizable .custom-texts label {
    font: var(--font-21-28-normal);
}
.theme-customizable .custom-texts label span {
    margin-left: 16px;
}

.theme-customizable .custom-texts input {
    font: var(--font-21-28-normal);
    padding: 8px 16px;
    background: white;
    border: none;
    margin-top: 10px;
    border-radius: 15px;
}

.theme-color-container .explanation {
    width: 100%;
}

.theme-color-container .theme-colors {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px 14px;
}

.theme-color-container .theme-colors .theme-color .color-box {
    width: 100%;
    height: 88px;
    border-radius: 15px 15px 0px 0px;
}

.theme-color-container .theme-colors .theme-color .color-name {
    font: var(--font-12-17-bold);
    padding: 13px 17px;
    display: block;
}

.input-group .title.with-optional {
    padding: 0;
}

.input-group .title.with-optional .optional {
    padding: 2px 10px;
    background: var(--color-blue);
    font: var(--font-26-36-normal);
}
.input-group .title.with-optional .optional-title {
    padding: 2px 10px;
    background: var(--color-red);
}

.goudfolie_radios {
    display: flex;
    margin-top: 14px;
    gap: 18px;
}

.goudfolie_radios .radios {
    margin-left: 22px;
}

.input-file-logo .explanation {
    margin-top: 17px;
}

.input-file-logo label {
    display: block;
    margin-top: 16px;
}

.input-file-logo .button.file-upload {
    background: white;
    padding: 0 21px;
    width: 651px;
    box-shadow: 0px 0px 56px #00000014;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
}

.input-file-logo .button.file-upload:before {
    left: unset;
    right: 0;
    border-radius: 0px 44px 44px 0px;
}

.input-file-logo .button.file-upload #logo-upload {
    padding: 12px 0;
}

.input-file-logo .button.file-upload .upload-text {
    color: #D85A3F;
    background: #F8F8F8;
    border-radius: 44px;
    padding: 11px 50px 11px 32px;
}

.input-file-logo .logo-conditions {
    font: var(--font-14-19-normal);
    margin-top: 22px;
}

.input-file-logo .logo-footer-text, .input-file-logo .logo-data {
    font: var(--font-21-28-normal);
    margin-top: 15px;
}


.verify_texts_explanation {
    margin-top: 28px;
    margin-bottom: 28px;
    font: var(--font-21-28-normal);
}

#drukproef {
    margin-top: 40px;
    width: 672px;
    max-width: 100%;
}

#example {
    display: block;
}

.example .button {
    width: 100%;
    margin-top: 33px;
}

.uitstraling_header {
    display: flex;
    gap: 33px;
}

.uitstraling_explanation {
    font: var(--font-21-28-normal);
    display: block;
    width: 60%;
    margin-top: 28px;
}

.uitstraling_explanation p + p {
    margin-top: 28px;
}

.uitstraling_image {
    width: 40%;
    padding: 22px;
    border-radius: 15px;
    background: white;
    height: fit-content;
}

.uitstraling_image img {
    max-width: 100%;
    max-height: 100%;
}

.verify_data {
    margin-top: 28px;
    max-width: 819px;
    font: var(--font-21-28-normal);
}

.verify_title {
    background: #D84F35 0% 0% no-repeat padding-box;
    width: fit-content;
    font: var(--font-26-36-normal);
    padding: 2px 10px;
    margin-top: 66px;
    margin-bottom: 15px;
}

.verify_webshop_text {
    font: var(--font-21-28-normal);
    margin-bottom: 28px;
}

table.verify {
    margin-bottom: 30px;
}

table.verify th {
    font: var(--font-21-28-bold);
    text-align: left;
    padding: 7px 48px 7px 0;
}

table.verify td {
    font: var(--font-21-28-normal);
}

.button-yellow {
    display: block;
    background: #F8F8F8;
    text-decoration: none;
    width: fit-content;
    font: var(--font-20-27-normal);
}

.button-yellow:before {
    background: var(--color-yellow) url("./img/pijl voor button inverse.png") left 21px center/13px 16px no-repeat
}

#form-step2-5 textarea {
    height: 220px;
    box-sizing: border-box;
    font: var(--font-21-28-normal);
}

.button-yellow.top-margin {
    margin-top: 62px;
}

#form-step2-5 .explanation {
    font: var(--font-21-28-normal);
    margin-top: 13px;
}

.style-choices {
    display: flex;
    gap: 20px;
    margin-top: 35px;
}

.style-choices .style-choice {
    width: 100%;
    display: grid;
    grid-template-rows: auto max-content;
    font: var(--font-26-36-bold);
    border-radius: 15px;
    box-shadow: 0px 0px 56px #00000014;
}

.style-choices .style-choice img, .style-choices .style-choice .color-box {
    border-radius: 15px 15px 0 0;
    width: 100%;
}

.style-choices .style-choice .info {
    background: white;
    border-radius: 0 0 15px 15px;
}
.style-choices .style-choice .choice-name {
    padding: 20px 35px;
    display: block;
}

.simple-form.login + footer {
    border-top: 1px solid #33405d;
}

.simple-form.login .input-group .inputs label .label {
    color: var(--color-blue);
}

.simple-form.login .login-explanation, .simple-form.login .input-group {
    max-width: 642px;
}

.simple-form.login .input-group .inputs, .simple-form.login .input-group {
    margin-top: 38px;
}
.simple-form.login .input-group .inputs .row {
    margin: 18px 0
}

.login-header {
    font: var(--font-23-32-normal);
    margin-top: 40px;
}

.login-explanation {
    font: var(--font-14-19-normal);
    margin-top: 10px;
}

.button.login {
    padding: 11px 36px 11px 77px;
    margin-top: 25px;
}

.custom-select-option {
    color: var(--color-blue);
}
.custom-select-option.has-focus {
    background-color: var(--color-yellow)!important;
}

#form-step2-1 .input-group .radios.validity_durations {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0;
    margin-bottom: 0;
    margin-top: 10px;
}

.header .validity_durations .validity_duration {
    width: 20%;
    border-radius: 0;
    border: 1px solid var(--color-blue);
    box-sizing: border-box;
}

.simple-form .input-group .radios label.validity_duration:after {
    left: 21px;
}

.theme-container .themes.variants {
    grid-template-columns: 1fr 1fr;
}

#form-step-bestellers .explanation {
    margin-top: 15px;
}

.input-group.besteller, .input-group.afdeling {
    margin-bottom: 25px;
}

/* Zodat we geen Vue dingen zien */
#form-step-bestellers {
    opacity: 0;
    transition: 350ms opacity;
}

#form-step-bestellers[data-v-app] {
    opacity: 1;
}

@media (max-width: 787px) {
    :root {
        --font-12-17-bold: normal normal bold 12px/17px "Open Sans";
        --font-13-18-normal: normal normal normal 13px/18px "Open Sans";
        --font-14-19-normal: normal normal normal 14px/19px "Open Sans";
        --font-15-20-normal: normal normal bold 15px/20px "Open Sans";
        --font-15-20-600: normal normal 600 15px/20px "Open Sans";
        --font-20-27-normal: normal normal normal 13px/18px "Open Sans";
        --font-20-27-bold: normal normal bold 8px/15px "Open Sans";
        --font-21-28-normal: normal normal normal 15px/18px "Open Sans";
        --font-21-28-bold: normal normal bold 15px/18px "Open Sans";
        --font-23-32-normal: normal normal bold 23px/32px "Open Sans";
        --font-25-34-normal: normal normal bold 25px/34px "Open Sans";
        --font-26-36-normal: normal normal normal 18px/24px "Open Sans";
        --font-26-36-bold: normal normal bold 18px/24px "Open Sans";
        --font-29-39-normal: normal normal normal 22px/29px "Open Sans";
        --font-39-53-normal: normal normal normal 24px/32px "Open Sans";
    }

    .container {
        padding-left: 5px;
        padding-right: 5px;
        max-width: 100%;
    }

    form {
        display: block;
    }

    header {
        flex-direction: column;
        padding: 15px 0;
    }

    header .menu {
        gap: 10px;
        justify-content: center;
    }

    header .menu li a, header .menu li span {
        margin-right: 10px;
    }

    header .menu li .divider {
        width: 10px;
        height: 12px;
        background-size: 100%;
    }

    .header {
        padding-top: 20px;
    }

    .header:after {
        left: -5px;
    }

    footer .container {
        flex-direction: column;
        gap: 10px;
    }

    .concept-container .concepts .concept, .packaging-options .packaging-option, .extras-container .extras .extra {
        width: 100%;
        height: fit-content;
    }

    .header .moments img {
        max-width: 100%;
    }

    .submit-container .button {
        padding: 10px 15px 10px 65px;
    }

    .submit-container .button:before {
        width: 45px;
        background-size: 12px 15px;
        background-position-x: 19px;
    }

    .aside {
        position: fixed;
        right: 0;
        transform: translateX(100%);
        transition: 200ms transform;
    }

    .aside.shown {
        transform: translateX(0);
    }

    .aside h2 {
        position: absolute;
        top: 0;
        left: 0;
        transform: translateX(-50%) rotate(-90deg) translateX(-50%) translateY(-50%);
        background: var(--color-blue);
        color: white;
        padding: 0 15px;
        border-radius: 15px 15px 0 0;
        border: 1px solid rgba(255,255,255,.3);
        border-bottom: none;
    }

    .aside h2:before {
        content: ' ';
        display: inline-block;
        background: url("./img/control pijl beneden.png") right 3px center no-repeat;
        width: 1em;
        height: 1em;
        transform: rotate(180deg);
        position: relative;
        top: 3px;
        margin-right: 3px;
        transition: 400ms transform;
    }

    .aside.shown h2:before {
        transform: scale(-1, 1);
    }

    .amounts {
        margin-top: 30px;
    }

    .simple-form .input-group .inputs .row {
        gap: 10px;
    }

    .simple-form .input-group .inputs .row .radios {
        display: flex;
        gap: 34px;
        flex-wrap: wrap;
        margin-left: 27px;
    }

    .simple-form .input-group .inputs .row .radios .radio-title {
        margin-left: 0;
        width: 100%;
        font: var(--font-26-36-normal);
    }

    .simple-form .input-group .inputs label .label {
        top: 16px;
    }

    .simple-form .input-group .inputs .row .column-6.dropdown .label {
        padding: 5px 12px;
        padding-left: 23px;
    }

    .amounts input, .budget .customSelect .custom-select-opener {
        height: 32px;
        width: 100px;
        margin-left: 22px;
    }

    .budget .customSelect .custom-select-opener {
        width: 100px;
        margin-left: 22px;
    }

    .coupons {
        position: relative;
    }

    .coupons label {
        width: fit-content;
        display: flex;
        flex-direction: column;
    }

    .increase-decrease {
        position: absolute;
        left: 0;
        bottom: 2px;
    }

    .budget .customSelect {
        margin-left: 0;
    }

    .budget label {
        display: flex;
        flex-direction: column;
    }

    .budget .customSelect .custom-select-opener:after {
        left: 0;
        right: unset;
    }

    .simple-form .input-group .inputs .row .inner-row {
        flex-direction: column;
        gap: 5px;
    }

    .simple-form .input-group .inputs .row .inner-row .column-6 {
        width: 100%;
    }

    .submit-container {
        margin-top: 50px;
        margin-bottom: 50px;
    }

    .prefix-suffix {
        max-width: calc(100% - 1.5em);
        display: flex;
        align-items: baseline;
    }

    .header .webshop .webshop-name input {
        flex-shrink: 1;
        width: 100%;
    }

    .header .duration .durations {
        max-width: calc(100% - 1.5em);
    }

    #form-step2-1 .header {
        padding-bottom: 50px;
    }

    #form-step2-2 .webshop_engels_radios {
        flex-direction: column;
    }

    .uitstraling_header {
        flex-direction: column;
    }

    .uitstraling_explanation, .uitstraling_image {
        width: 100%;
        box-sizing: border-box;
    }

    .theme-customizable .custom-texts {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }

    .theme-color-container .theme-colors {
        grid-template-columns: repeat(3, 1fr);
    }

    .goudfolie_radios {
        flex-direction: column;
    }

    .input-file-logo .button.file-upload {
        max-width: 100%;
    }

    table.verify th {
        padding: 7px 18px 7px 0;
    }

    .style-choices {
        gap: 10px;
        flex-wrap: wrap;
    }

    .style-choices .style-choice {
        width: calc(50% - 5px);
        box-sizing: border-box;
    }

    .style-choices .style-choice .choice-name {
        padding: 10px 15px;
    }

    .button-yellow.top-margin {
        margin-top: 20px;
    }

    .simple-form .input-group .inputs.full-agree .row .radios {
        gap: 15px;
        flex-wrap: nowrap;
    }

    .header .validity_durations .validity_duration {
        width: 50%;
    }
}