/*Body width */
@media (min-width: 767.98px) {
    body {
        width: 1440px;
        margin: auto;
    }
}

@media (min-width: 767.99px) and (max-width: 1079px) {
    html, body {
        transform: scale(0.7);
        transform-origin: top left;
    }
}

@media (min-width: 1080px) and (max-width: 1330px) {
    html, body {
        transform: scale(0.8);
        transform-origin: top left;
    }
}

@media (min-width: 1331px) and (max-width: 1439px) {
    html, body {
        transform: scale(0.9);
        transform-origin: top left;
    }
}

@media (max-width: 767.98px) {
    html, body {
        box-sizing: border-box;
        width: 100%;
        margin: auto;
        overflow-x: hidden;
        overflow-wrap: break-word;
        word-break: break-word;
    }

    *, *::before, *::after {
        box-sizing: border-box;
        overflow-wrap: break-word;
        word-break: break-word;
    }
}

/*Universal cursor pointer class*/
.pointer:hover {
    cursor: pointer;
}

:root {
    /*Colours*/

    /*Brand colours*/
    --primary1: #1153B2;
    --secondary1: #327BD5;
    --secondary2: #C2E3F5;
    --secondary3: #D9DDE7;
    --secondary4: #FD4E5D;

    /*Gray colours*/
    --black: #061D35;
    --grey1: #1F2937;
    --grey2: #374151;
    --grey3: #4B5563;
    --grey4: #6B7280;
    --grey5: #9CA3AF;
    --grey6: #D1D5DB;
    --grey7: #F3F4F6;
    --white: #FFFFFF;

    /*State colours*/
    --info: #A0C3FF;
    --success: #00A900;
    --warning: #FBC756;
    --error: #BA0000;

    /*Font*/
    --fontFamily: "Fira Sans", sans-serif
}

/*Fonts*/

/*Titles*/
.font48BigTitle {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 500;
    font-style: normal;
    font-size: 48px;
}

.font38Title {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 500;
    font-style: normal;
    font-size: 38px;
}

.font32H1 {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 700;
    font-style: normal;
    font-size: 32px;
}

@media (max-width: 767.98px) {
    .font32H1Mobile {
        font-family: var(--fontFamily);
        color: var(--black);
        font-weight: 700;
        font-style: normal;
        font-size: 32px !important;
    }
}

.font24H2 {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 700;
    font-style: normal;
    font-size: 24px;
}

.font20H3 {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
}

@media (max-width: 767.98px) {
    .font32H3Mobile {
        font-family: var(--fontFamily);
        color: var(--black);
        font-weight: 700;
        font-style: normal;
        font-size: 20px !important;
    }
}

.font18H4 {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
}

/*Body*/
.font16Body {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
}

@media (max-width: 767.98px) {
    .font16BodyMobile {
        font-family: var(--fontFamily);
        color: var(--black);
        font-weight: 400;
        font-style: normal;
        font-size: 16px !important;
    }
}

.font16BodyMedium {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
}

.font14Body2 {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
}

.font14Body2Medium {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

/*Caption*/
.font12Caption1 {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
}

.font12CaptionMedium {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 500;
    font-style: normal;
    font-size: 12px;
}

.font11Caption2 {
    font-family: var(--fontFamily);
    color: var(--black);
    font-weight: 500;
    font-style: normal;
    font-size: 11px;
}

/*Buttons*/

/*Primary*/
.defaultPrimary52px {
    background-color: var(--primary1);
    color: var(--white);
    width: 166px;
    height: 52px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimary52px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary52px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary52px:disabled {
    background-color: var(--grey5);
}

.defaultPrimary48px {
    background-color: var(--primary1);
    color: var(--white);
    width: 166px;
    height: 48px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimary48px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary48px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary48px:disabled {
    background-color: var(--grey5);
}

.defaultPrimary40px {
    background-color: var(--primary1);
    color: var(--white);
    width: 166px;
    height: 40px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimary40px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary40px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary40px:disabled {
    background-color: var(--grey5);
}

.defaultPrimary32px {
    background-color: var(--primary1);
    color: var(--white);
    width: 166px;
    height: 32px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimary32px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary32px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary32px:disabled {
    background-color: var(--grey5);
}

.defaultPrimary28px {
    background-color: var(--primary1);
    color: var(--white);
    width: 166px;
    height: 28px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimary28px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary28px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--primary1, #1153B2);
}

.defaultPrimary28px:disabled {
    background-color: var(--grey5);
}

/*Primary / Outline*/
.defaultPrimaryOutline52px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 52px;
    border: solid;
    border-width: 2px;
    border-color: var(--primary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimaryOutline52px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline52px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline52px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

.defaultPrimaryOutline48px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 48px;
    border-width: 2px;
    border-color: var(--primary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimaryOutline48px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline48px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline48px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

.defaultPrimaryOutline40px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 40px;
    border: solid;
    border-width: 2px;
    border-color: var(--primary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimaryOutline40px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline40px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline40px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

.defaultPrimaryOutline32px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 32px;
    border-width: 2px;
    border-color: var(--primary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimaryOutline32px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline32px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline32px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

.defaultPrimaryOutline28px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 28px;
    border-width: 2px;
    border-color: var(--primary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultPrimaryOutline28px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline28px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--primary1, #1153B2);
}

.defaultPrimaryOutline28px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

/*Secondary*/
.defaultSecondary52px {
    background-color: var(--secondary1);
    color: var(--white);
    width: 166px;
    height: 52px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondary52px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary52px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary52px:disabled {
    background-color: var(--grey5);
}

.defaultSecondary48px {
    background-color: var(--secondary1);
    color: var(--white);
    width: 166px;
    height: 48px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondary48px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary48px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary48px:disabled {
    background-color: var(--grey5);
}

.defaultSecondary40px {
    background-color: var(--secondary1);
    color: var(--white);
    width: 166px;
    height: 40px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondary40px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary40px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary40px:disabled {
    background-color: var(--grey5);
}

.defaultSecondary32px {
    background-color: var(--secondary1);
    color: var(--white);
    width: 166px;
    height: 32px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondary32px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary32px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary32px:disabled {
    background-color: var(--grey5);
}

.defaultSecondary28px {
    background-color: var(--secondary1);
    color: var(--white);
    width: 166px;
    height: 28px;
    border: none;
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondary28px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary28px:active {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), var(--secondary1, #327BD5);
}

.defaultSecondary28px:disabled {
    background-color: var(--grey5);
}

/*Secondary / Outline*/
.defaultSecondaryOutline52px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 52px;
    border-width: 2px;
    border-color: var(--secondary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondaryOutline52px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline52px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline52px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

.defaultSecondaryOutline48px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 48px;
    border-width: 2px;
    border-color: var(--secondary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondaryOutline48px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline48px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline48px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

.defaultSecondaryOutline40px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 40px;
    border-width: 2px;
    border-color: var(--secondary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondaryOutline40px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline40px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline40px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

.defaultSecondaryOutline32px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 32px;
    border-width: 2px;
    border-color: var(--secondary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondaryOutline32px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline32px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline32px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

.defaultSecondaryOutline28px {
    background-color: var(--white);
    color: var(--primary1);
    width: 166px;
    height: 28px;
    border-width: 2px;
    border-color: var(--secondary1);
    border-radius: 8px;
    gap: 10px;
    font-family: var(--fontFamily);
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}

.defaultSecondaryOutline28px:hover {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.60) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline28px:active {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.80) 100%), var(--secondary1, #327BD5);
}

.defaultSecondaryOutline28px:disabled {
    color: var(--grey5);
    border-color: var(--grey5);
    background-color: var(--white);
}

/*inputs*/
.inputContainer {
    position: relative;
    display: inline-block;
}

.inputContainer input {
    background-color: var(--grey7);
    height: 44px;
    border: none;
    border-bottom: 1px solid var(--grey1);
    width: 100%;
    padding: 0 0 0 10px;
}

.inputContainer input[type="text"]::placeholder {
    color: transparent;
}

input[type="text"]:disabled {
    background-color: var(--grey6);
    border: none;
}

.inputContainer label {
    position: absolute;
    top: 10px;
    left: 12px;
    color: var(--black);
    pointer-events: none;
    line-height: 24px;
}

.inputContainer .asterisk {
    color: var(--error);
    margin-right: 1px;
}

input[type="text"]:placeholder-shown + label {
    visibility: visible;
}

input[type="text"]:focus + label,
input[type="text"]:not(:placeholder-shown):valid + label {
    visibility: hidden;
}

.inputContainer textarea {
    background-color: var(--grey7);
    height: 44px;
    border: none;
    border-bottom: 1px solid var(--grey1);
    width: 100%;
    padding: 10px 0 0 12px;
}

textarea:placeholder-shown + label {
    visibility: visible;
}

textarea:focus + label,
textarea:not(:placeholder-shown):valid + label {
    visibility: hidden;
}


/*type password*/
.inputContainer input[type="password"]::placeholder {
    color: transparent;
}

input[type="password"]:placeholder-shown + label {
    visibility: visible;
}

input[type="password"]:focus + label,
input[type="password"]:not(:placeholder-shown):valid + label {
    visibility: hidden;
}


/*Header / Tab navigation*/
.header {
    background-color: var(--white);
    height: 64px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 24px 0 24px;
}

/*@media (max-width: 767.98px) {*/
/*    .header {*/
/*        height: auto;*/
/*        flex-direction: column;*/
/*        justify-content: flex-start;*/
/*    }*/
/*}*/

.logoSearchHeader {
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*@media (max-width: 767.98px) {*/
/*    .logoSearchHeader {*/
/*        flex-direction: column;*/
/*        height: auto;*/
/*    }*/
/*}*/

.logoHeader {
    padding: 0 30px 0 0;
}

/*@media (max-width: 767.98px) {*/
/*    .logoHeader {*/
/*        align-self: flex-start;*/
/*    }*/
/*}*/

.logoHeader img {
    height: 48px;
    object-fit: contain;
}

/*@media (max-width: 767.98px) {*/
/*    .logoHeader img {*/
/*        height: 30px;*/
/*    }*/
/*}*/

.logoHeader img:hover {
    cursor: pointer;
}

.searchHeader {
    height: 40px;
    display: flex;
}

.searchBar {
    width: 330px;
    padding: 0 0 0 10px;
    border-radius: 8px 0 0 8px;
    border-width: 1px 0 1px 1px;
    border-color: var(--primary1);
}


.searchButton {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 8px 8px 0;
    background-color: var(--primary1);
    width: 40px;
}

.searchButton img {
    height: 24px;
    width: 24px;
}

.searchButton img:hover {
    cursor: pointer;
}

.rightSide {
    display: flex;
    align-items: center;
    height: 48px;
}

/*@media (max-width: 767.98px) {*/
/*    .rightSide {*/
/*        flex-direction: column;*/
/*    }*/
/*}*/

.rightSide .defaultPrimary40px {
    display: flex;
    align-items: center;
    justify-content: center;
}

.rightSide .defaultPrimary40px:hover {
    cursor: pointer;
}

.rightSide .defaultPrimary40px img {
    height: 24px;
    width: 24px;
}

.rightSide .defaultPrimaryOutline40px {
    display: none;
    align-items: center;
    justify-content: center;
}

.rightSide .defaultPrimaryOutline40px:hover {
    cursor: pointer;
}

.rightSide .defaultPrimaryOutline40px img {
    height: 24px;
    width: 24px;
}

.cartHeader {
    height: 24px;
    width: 24px;
    padding: 0 24px 0 0;
}

.cartHeader img:hover {
    cursor: pointer;
}

.cartPlusBadge {
    position: relative;
    height: 24px;
    width: 24px;
}

.cartPlusBadge .badge {
    position: absolute;
    top: 0;
    right: 0;
    width: 11px;
    height: 11px;
    padding: 1px;
    border: 1px solid var(--white);
    border-radius: 50%;
    background-color: var(--primary1);
    color: var(--white);
    display: none;
    justify-content: center;
    align-items: center;

}

.badge .font12CaptionMedium {
    line-height: 12px;
}

.languageHeader {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 24px 0 0;
}

.languageHeader img {
    height: 24px;
    width: 24px;
    padding: 0 4px 0 0;
}

.languageHeader select {
    border: none;
    height: 24px;
}

.languageHeader select:hover {
    cursor: pointer;
}

.languageHeader select:focus {
    border-radius: 8px;
}

.tabNavigation {
    display: flex;
    align-items: center;
    height: 48px;
    padding: 0 0 0 20px;
    background-color: var(--primary1);
    color: var(--white);

}

/*@media (max-width: 767.98px) {*/
/*    .tabNavigation {*/
/*        flex-direction: column;*/
/*        width: 100%;*/
/*        height: auto;*/
/*        padding: 0;*/
/*    }*/
/*}*/

.tab {
    align-content: center;
    height: 48px;
    padding: 0 25px 0 25px;
}

/*@media (max-width: 767.98px) {*/
/*    .tab {*/
/*        display: flex;*/
/*        align-items: center;*/
/*        width: 100%;*/
/*        padding: 0 0 0 24px;*/
/*    }*/
/*}*/

.tab:hover {
    background-color: var(--white);
    color: var(--primary1);
    cursor: pointer;
}

/*Newsletter*/
.newsletter {
    height: 280px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../resources/newsletterBanner.jpg");
}

.newsletterBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.newsletterBox span {
    color: var(--secondary1)
}

.buttonText {
    color: var(--white) !important;
}

.newsletterBox .font16Body {
    padding: 8px 0 32px 0;
}

.newsletterInput {
    display: flex;
    height: 44px;
    background-color: var(--white);
    border: solid var(--black);
    border-width: 0 0 1px 0;
}

@media (max-width: 767.98px) {
    /* max-width: 90%; */
}

.newsletterBar {
    width: 400px;
    padding: 10px 0 10px 12px !important;
    border: none;
}

.confirmButton {
    width: 88px;
    border-radius: 0 8px 8px 0;
    padding: 12px 0 10px 0 !important;
}

/*Footer*/
footer {
    display: flex;
    flex-direction: column;
    margin: 50px 0 0 0;
}

footer .line {
    width: 100%;
    border: solid var(--grey6);
    border-width: 1px;
}

footer .topFooter {
    display: flex;
    justify-content: space-around;
}

.topFooter .column1 {
    display: flex;
    flex-direction: column;
}

.column1 img {
    padding: 32px 0 41px 0;
}

.column1_1 {
    padding: 0 0 10px 40px;
}

.column1_2 {
    padding: 0 0 32px 40px;
}

.column1_3 {
    padding: 0 0 10px 40px;
}

.column1_4 {
    padding: 0 0 40px 40px;
}

.topFooter .column2 {
    display: none;
    visibility: hidden;
    flex-direction: column;
}

.h3Footer {
    padding: 52px 0 24px 0;
}

.footer16Body {
    padding: 0 0 12px 0;
}

.topFooter .column3 {
    display: flex;
    /*visibility: hidden;*/
    flex-direction: column;
}

.topFooter .column4 {
    display: flex;
    /*visibility: hidden;*/
    flex-direction: column;
}

.topFooter .column5 {
    display: flex;
    /*visibility: hidden;*/
    flex-direction: column;
}

@media (max-width: 767.98px) {
    footer {
        margin: 16px 0 0 16px;
    }

    footer .topFooter {
        flex-direction: column;
    }

    .column1 img {
        width: 130px;
    }

    .column1_1 {
        padding: 0 0 10px 0;
    }

    .column1_2 {
        padding: 0 0 32px 0;
    }

    .column1_3 {
        padding: 0 0 10px 0;
    }

    .column1_4 {
        padding: 0 0 40px 0;
    }
}

footer .bottomFooter {
    display: flex;
    justify-content: space-between;
}

.loginPopupContainer {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.54);
    position: absolute;
    top: 0;
    left: 0;
    /*flex on login click*/
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.loginCentering {
    align-items: center;
}

.loginPopupBox {
    width: 1130px;
    height: 700px;
    background-color: var(--white);
    border-radius: 16px;
    display: none;
}

.loginPopupBox img {
    width: 555px;
    object-fit: contain;
    border-radius: 16px 0 0 16px;
}

.tAndCRegisterForm {
    padding: 0 0 24px 0;
}

.registerForm {
    padding: 40px 0 0 60px !important;
    overflow: scroll !important;
}

.registerForm .loginInput input {
    background-color: var(--white);
    width: 456px;
    margin: 0 0 16px 0 !important;
}

.loginPopupBox span {
    color: var(--secondary1);
}

.loginForm {
    padding: 0 0 0 60px;
    display: flex;
    flex-direction: column;
}

.loginForm .font32H1 {
    padding: 0 0 10px 0;
}

.loginForm .backToLogin {
    padding: 0 0 30px 0;
}

.loginPopupBox .loginInput input {
    background-color: var(--white);
    width: 456px;
    margin: 0 0 40px 0;
}

.loginPopupBox .font16BodyMedium {
    padding: 0 0 50px 0;
    color: var(--secondary1);
}

.loginPopupBox .defaultPrimary52px {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 456px;
    min-height: 52px;
}

.loginPopupBox .withoutAccountText {
    padding: 50px 0 32px 0;
}

.loginPopupBox .defaultPrimaryOutline52px {
    display: flex;
    width: 456px;
    justify-content: center;
    align-items: center;
}

/* spinner shown in login button */
.buttonLoader {
    display: none;
    margin-left: 8px;
    border: 2px solid var(--white);
    border-top: 2px solid transparent;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* connection error overlay popup */
.connectionErrorPopup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.4);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10000;
}

/* mid‑container loader used in product categories */
.midLoader {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: 4px solid var(--primary1);
    border-top: 4px solid transparent;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    animation: spin 1s linear infinite;
    z-index: 2000;
}

.connectionErrorContent {
    background: var(--white);
    padding: 24px;
    border-radius: 8px;
    max-width: 90%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.connectionErrorContent .defaultPrimary40px {
    display: flex;
    justify-content: center;
    align-items: center;
}

.connectionErrorText {
    margin-bottom: 16px;
    font-family: var(--fontFamily);
    font-size: 16px;
    color: var(--black);
}

.forgotPwdPopupBox {
    align-items: center;
}

.forgotPwdPopupBox .forgotPwdMessage {
    padding: 24px 0 40px 0 !important;
}

.forgotPwdPopupBox .defaultPrimary52px {
    margin: 90px 0 40px 0 !important;
}

/*side cart*/

.wholeScreenSideCartContainer {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.54);
    width: 100%;
    height: 100%;
    /*flex when basket icon clicked*/
    display: none;
    justify-content: flex-end;
    z-index: 999;
}

.sideCartContainer {
    display: flex;
    flex-direction: column;
    width: 420px;
    height: 100%;
    background-color: var(--white);
    overflow: scroll;
    -ms-overflow-style: none; /* Internet Explorer 10+ */
    scrollbar-width: none; /* Firefox */
}

@media (max-width: 767.98px) {
    .sideCartContainer {
        width: 100%;
    }
}

.cookieBanner {
    display: none;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    align-items: center;
    background-color: var(--secondary2);
    padding: 8px 0 8px 0;
    text-align: center;
    position: fixed;
    top: 0;
    width: 100%;
    max-width: 1440px;
    z-index: 10000;
}

.cookieBanner .font32H1 {
    padding: 8px 0 8px 0;
}

.cookieBanner .font16Body {
    line-height: 24px;
}

.cookieBanner .defaultPrimary52px {
    margin-top: 8px;
}

.instructions {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    padding: 24px 0 16px 0;
    max-width: 640px;
    margin: auto;
}

.instructions .font16Body {
    line-height: 24px;
}

.sideCartContainer::-webkit-scrollbar {
    display: none; /* Safari and Chrome */
}

.sideCartContainerItemsTotalGoToCartButton {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-self: stretch;
    height: 100%;
}

.sideCartContainerItems {
    display: flex;
    flex-direction: column;
}

.sideCartContainerName {
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-self: stretch;
    padding: 24px 16px 24px 16px;
    line-height: 150%;
}

.sideContainerName img {
    width: 24px;
    height: 24px;
}

.sideCartItem {
    display: flex;
    gap: 16px;
    padding: 24px 24px 24px 16px;
}

.sideCartImage {
    border: 1px solid var(--grey6);
    border-radius: 8px;
    width: 90px;
    height: 90px;
    padding: 9px;
    object-fit: contain;
}

.itemDetails {
    display: flex;
    flex-direction: column;
    width: 216px;
}

.itemName {
    padding: 0 0 8px 0;
    line-height: 130%;
}

.itemCode {
    padding: 0 0 16px 0;
    color: var(--grey4);
    line-height: 25px;
}

.itemQuantity {
    padding: 0 0 16px 0;
    line-height: 25px;
}

.itemPrice {
    padding: 0 0 4px 0;
    /*color: var(--secondary4);*/
}

.itemGrossPrice {
    padding: 0 0 24px 0;
}

.sideCartDeleteIcon {
    width: 24px;
    height: 24px;
}

.lineSeparator {
    border: 1px solid var(--grey6);
    width: 100%;
}

.sideCartTotalAndButtonContainer {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    justify-content: space-between;
    line-height: 27px;
}

.sideCartTotalContainer {
    display: flex;
    justify-content: space-between;
    align-self: stretch;
    line-height: 27px;
    padding: 16px 24px 0 16px;
}

.sideCartTotalPrices {
    display: flex;
    flex-direction: column;
    padding: 0 0 24px; /* to be removed when with vat price will be filled*/
}

.toCartButtonContainer {
    display: flex;
    align-self: stretch;
    padding: 16px;
}

.sideCartContainer .defaultPrimary48px {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

/*number input*/

.numberInput {
    display: inline-flex;
    align-items: center;
}

.minusButton, .plusButton {
    background-color: transparent;
    color: var(--primary1);
    border: 2px solid var(--primary1);
    width: 55px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.plusButton {
    border-radius: 0 8px 8px 0;
    margin-right: 24px;
}

.minusButton {
    border-radius: 8px 0 0 8px;
}

.minusButton .plusButton img {
    width: 24px;
    height: 24px;
}

.numberInput input[type="number"] {
    color: var(--primary1);
    text-align: center;
    width: 90px;
    height: 43px;
    border: 2px solid var(--primary1);
    border-left: none;
    border-right: none;
    appearance: textfield; /* For removing default number arrows in Chrome */
}

.numberInput input[type="number"]::-webkit-outer-spin-button,
.numberInput input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.numberInput input[type="number"] {
    -moz-appearance: textfield; /* For removing default number arrows in Firefox */
}

.minusButton:focus, .plusButton:focus, .numberInput input:focus {
    outline: none;
}


/*radio input styling*/

/* Hide the default radio button */
input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border: 1px solid var(--grey6);
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    outline: none;
}

/* Style for the checked radio button */
input[type="radio"]:checked {
    border: 7px solid var(--primary1);
}

/* Optional: Add a subtle animation for transition */
input[type="radio"],
input[type="radio"]:checked {
    transition: border 0.2s ease;
}


/*error handling*/

.errorMessageContainer {
    display: none;
    gap: 14px;
    padding: 12px 16px 12px 16px;
    align-items: center;
    align-self: stretch;
    background-color: #F5E4E5;
    border: 1px solid var(--secondary4);
    border-radius: 8px;
}

.errorMessageContainer img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.errorMessage {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#LoginErrorMessageContainer {
    margin-bottom: 16px;
}

#registerErrorMessageContainer {
    margin-bottom: 16px;
    margin-right: 40px;
}

#registerSuccessMessageContainer {
    margin-bottom: 16px;
}

/*success handling*/

.successMessageContainer {
    display: none;
    gap: 14px;
    padding: 12px 16px 12px 16px;
    align-items: center;
    align-self: stretch;
    background-color: #80ff80;
    border: 1px solid var(--success);
    border-radius: 8px;
}

.successMessageContainer img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.errorMessage {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#passwordResetRequestSuccessMessageContainer {
    margin-bottom: 8px;
}

#passwordResetRequestErrorMessageContainer {
    margin-bottom: 8px;
}

#sendInquiryErrorMessageContainer {
    margin-bottom: 8px;
}

#sendInquirySuccessMessageContainer {
    margin-bottom: 8px;
}

#sendContactFormErrorMessageContainer {
    margin-bottom: 16px;
}

#sendContactFormSuccessMessageContainer {
    margin-bottom: 16px;
}

/*Mobile header*/

.loginButtonContainer {
    width: 100%;
    height: 80px;
    justify-content: center;
    align-items: center;
    padding: 0;
    display: none;
}

.loginButtonContainer .defaultPrimary40px {
    width: 90%;
    justify-content: center;
    align-items: center;
    display: none;
}

.loginButtonContainer .defaultPrimaryOutline40px {
    width: 90%;
    justify-content: center;
    align-items: center;
    display: none;
}

.closeHeaderMobile {
    display: none;
}

.headerMobile {
    display: none;
    justify-content: space-between;
    padding: 16px 24px 16px 24px;
    height: 60px;
    align-items: center;
}

.logoMobileHeader {
    width: 80px;
    height: auto;
}

.searchHeaderMobile {
    display: none;
    justify-content: center;
    width: 100%;
    align-items: center;
    height: 40px;
    padding: 0 0 24px 0;
}

.searchHeaderMobile .searchBar {
    height: 40px;
}

.searchHeaderMobile .searchButton {
    height: 40px;
}

.closePopUpMobile {
    display: none;
    justify-content: end;
    width: 100%;
    height: 40px;
}

@media (max-width: 767.98px) {

    .header {
        display: none;
    }

    .headerMobile {
        display: flex;
    }

    .searchHeader {
        display: none;
    }

    /*.searchHeaderMobile {*/
    /*    display: flex;*/
    /*}*/
    /*.loginButtonContainer {*/
    /*    display: flex;*/
    /*}*/
    .loginButtonContainer .defaultPrimary40px {
        display: flex;
    }

    /*.loginButtonContainer .defaultPrimaryOutline40px {*/
    /*    display: flex;*/
    /*}*/
    .tabNavigation {
        flex-direction: column;
        width: 100%;
        height: auto;
        display: none;
    }

    .tab {
        width: 100%;
    }

    .logoHeader {
        display: none;
    }

    .rightSide .defaultPrimary40px {
        display: none;
    }

    .rightSide .defaultPrimaryOutline40px {
        display: none;
    }

    .rightSide .cartHeader {
        display: none;
    }

    .logoSearchHeader {
        display: none;
    }

    /*.closeHeaderMobile {*/
    /*    display: flex;*/
    /*}*/
    .loginPopupBox {
        width: 100%;
        padding: 24px 0 24px 0;
        justify-content: center;
        max-width: calc(100% - 16px);
    }

    .loginPopupBox img {
        display: none;
    }

    .loginForm {
        padding: 16px 0 0 0 !important;
        max-width: calc(100% - 16px);
        width: 100%;
    }

    .closePopUpMobile {
        display: flex;
    }

    .closePopUpMobile img {
        display: flex !important;
        width: 24px;
    }

    .newsletterBox {
        width: 100%;
    }

    .newsletterBox .font38Title {
        font-size: 30px;
    }

    .newsletterInput {
        width: 100%;
        max-width: calc(100% - 16px);
        align-items: center;
        margin: auto;
    }

    .newsletterBar {
        width: 100%;
    }

    .loginPopupBox .loginInput input {
        width: 100%;
    }

    .loginPopupBox .defaultPrimary52px {
        width: 100%;
    }

    .loginPopupBox .defaultPrimaryOutline52px {
        width: 100%;
    }
}