:root {

    /* COLOR */
    --primary: hsla(209, 64%, 68%, 1);
    --secondary: hsla(239, 39%, 42%, 1);
    --blue-60: hsl(239, 39%, 42%, 0.6);
    --white: hsla(0, 0%, 100%, 1);
    --black: hsla(0, 0%, 0%, 1);

    /* export variables from figma */

    --blue-200: hsla(213, 75%, 92%, 1);
    --blue-400: hsla(209, 64%, 68%, 1);
    --blue-500: hsla(211, 33%, 53%, 1);
    --blue-600: hsla(234, 41%, 59%, 1);
    --blue-700: hsla(239, 39%, 42%, 1);
    --blue-800: hsla(245, 54%, 29%, 1);
    --primary-200: hsla(213, 75%, 92%, 1);
    --primary-400: hsla(209, 64%, 68%, 1);
    --primary-500: hsla(211, 33%, 53%, 1);
    --primary-600: hsla(234, 41%, 59%, 1);
    --primary-700: hsla(239, 39%, 42%, 1);
    --primary-800: hsla(245, 54%, 29%, 1);
    --primary-60a: hsl(239, 39%, 42%, 0.6);
    --yellow-50: hsla(44, 70%, 95%, 1);
    --yellow-500: hsla(46, 76%, 63%, 1);
    --yellow-600: hsla(42, 45%, 63%, 1);
    --yellow-700: hsla(41, 57%, 44%, 1);
    --secondary-50: hsla(44, 70%, 95%, 1);
    --secondary-500: hsla(46, 76%, 63%, 1);
    --secondary-600: hsla(42, 45%, 63%, 1);
    --secondary-700: hsla(41, 57%, 44%, 1);
    --green-500: hsla(77, 33%, 40%, 1);
    --pink-500: hsla(343, 45%, 55%, 1);
    --pink-700: hsla(342, 58%, 36%, 1);
    --font-family: "Rubik";
    --text-size-regular: 1rem; /* 16px */
    --text-size-large: 1.125rem; /* 18px */
    --padding-vertical: 2.5rem; /* 40px */
    --padding-horizontal: 1.25rem; /* 20px */
    --padding-x: 1.25rem; /* 20px */
    --padding-y: 2.5rem; /* 40px */
    --padding-card: 1.25rem; /* 20px */

    /* end export */

    /* MEDIA QUERIES */
    --mq-large-mobile: 35.5rem; /* 568px */
    --mq-tablet: 48rem; /* 768px */
    --mq-desktop: 64rem; /* 1024px */
    --mq-large-desktop: 85.375rem; /* 1366px */
    --mq-x-large-desktop: 105rem; /* 1680px */

    /* FONT */
    --base-font-size: 16;

    --h1-size: 2.5rem;/* 40px */
    --h1-line-height: 1.15em;/* 115% */
    --h1-weight: 700;
    --h1-family: var(--font-family);
    /* --h1-letter-spacing: 0em; */
    
    --h2-size: 2rem;/* 32px */
    --h2-line-height: 1.15em;/* 115% */
    --h2-weight: 600;
    --h2-family: var(--font-family);
    
    --h3-size: 1.5rem;/* 24px */
    --h3-line-height: 1.15em;/* 115% */
    --h3-weight: 600;
    --h3-letter-spacing: 0em;
    --h3-family: var(--font-family);

    --h4-size: 1.25rem;/* 20px */
    --h4-line-height: 1.15em;/* 115% */
    --h4-weight: 500;
    --h4-family: var(--font-family);

    --p-size: 1rem;/* 16px */
    --p-line-height: 1em;/* 100% */
    --p-weight: 400;
    --p-letter-spacing: 0em;

    --p-l-size: 1.125rem; /* 18px */
    --p-l-line-height: 1.4em; /* 140% */

    --p-bold-weight: 700;

    /* PAGE ELEMENTS */
    --header-height: 7.125rem;

    /* SPACING */
    --container-width-percentage: 83.3333%;
    --container-max-width: 100rem; /* 1600 */
    --min-external-margin: 1rem;/* 30px */
    --min-content-width: calc(100vw - var(--min-external-margin) * 2);
    --max-content-width: calc(100vw - var(--min-external-margin) * 2);
    --content-width: clamp(var(--min-content-width), 105rem, var(--max-content-width));
    --page-padding-top: var(--header-height);
    
    /* MISC */
    --radius: 1.5rem; /* 24px */
    --radius-mobile: 1.5rem; /* 24px */
    --transition-time: .25s;

    /* UI ELEMENTS */

    --Border-button-radius: 0.75rem; /* 12px */
    --Border-button-rounded: 2.5rem; /* 40px */
    --Border-border-width: 1px;

    --menu-burger-width:1.5rem;
    --menu-burger-height:1.5rem;
    --menu-burger-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M4%206H20M4%2012H20M13%2018H20%22%20stroke%3D%22%23C80F2D%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");

    --home-breadcrumbs-width:1rem;
    --home-breadcrumbs-height:1rem;
    --home-breadcrumbs-background :url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7.15967%201.62942C7.39722%201.43671%207.6938%201.33154%207.99967%201.33154C8.30555%201.33154%208.60213%201.43671%208.83967%201.62942L13.925%205.74942C14.1562%205.93667%2014.3428%206.17316%2014.471%206.44166C14.5993%206.71015%2014.666%207.00387%2014.6663%207.30142V13.3334C14.6663%2013.687%2014.5259%2014.0262%2014.2758%2014.2762C14.0258%2014.5263%2013.6866%2014.6667%2013.333%2014.6667H11.333C10.9794%2014.6667%2010.6402%2014.5263%2010.3902%2014.2762C10.1402%2014.0262%209.99967%2013.687%209.99967%2013.3334V10.0001C9.99967%209.82327%209.92944%209.6537%209.80441%209.52868C9.67939%209.40365%209.50982%209.33342%209.33301%209.33342H6.66634C6.48953%209.33342%206.31996%209.40365%206.19494%209.52868C6.06991%209.6537%205.99967%209.82327%205.99967%2010.0001V13.3334C5.99967%2013.687%205.8592%2014.0262%205.60915%2014.2762C5.3591%2014.5263%205.01996%2014.6667%204.66634%2014.6667H2.66634C2.31272%2014.6667%201.97358%2014.5263%201.72353%2014.2762C1.47348%2014.0262%201.33301%2013.687%201.33301%2013.3334V7.30275C1.33295%207.00475%201.39948%206.71051%201.52774%206.44153C1.65601%206.17254%201.84276%205.93562%202.07434%205.74808L7.15967%201.62942Z%22%20fill%3D%22%23C80F2D%22%2F%3E%3C%2Fsvg%3E");

    --link-extern-width:1.5rem;
    --link-extern-height:1.5rem;
    --link-extern-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10%206H6C4.89543%206%204%206.89543%204%208V18C4%2019.1046%204.89543%2020%206%2020H16C17.1046%2020%2018%2019.1046%2018%2018V14M14%204H20M20%204V10M20%204L10%2014%22%20stroke%3D%22%23C80F2D%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");

    --pause-button-width:3rem;
    --pause-button-height:3rem;
    --pause-button-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M16%2038C18.2%2038%2020%2036.2%2020%2034V14C20%2011.8%2018.2%2010%2016%2010C13.8%2010%2012%2011.8%2012%2014V34C12%2036.2%2013.8%2038%2016%2038ZM28%2014V34C28%2036.2%2029.8%2038%2032%2038C34.2%2038%2036%2036.2%2036%2034V14C36%2011.8%2034.2%2010%2032%2010C29.8%2010%2028%2011.8%2028%2014Z%22%20fill%3D%22%23C80F2D%22%2F%3E%3C%2Fsvg%3E");

    --play-button-width:3rem;
    --play-button-height:3rem;
    --play-button-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M29.5038%2022.3359L23.1094%2018.0729C21.7803%2017.1869%2020%2018.1396%2020%2019.737V28.263C20%2029.8604%2021.7803%2030.8131%2023.1094%2029.9271L29.5038%2025.6641C30.6913%2024.8725%2030.6913%2023.1275%2029.5038%2022.3359Z%22%20stroke%3D%22%23C80F2D%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M42%2024C42%2033.9411%2033.9411%2042%2024%2042C14.0589%2042%206%2033.9411%206%2024C6%2014.0589%2014.0589%206%2024%206C33.9411%206%2042%2014.0589%2042%2024Z%22%20stroke%3D%22%23C80F2D%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");

    --info-navbar-width:5rem;
    --info-navbar-height:5rem;
    --info-navbar-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M28%2016C28%2022.6274%2022.6274%2028%2016%2028C9.37258%2028%204%2022.6274%204%2016C4%209.37258%209.37258%204%2016%204C22.6274%204%2028%209.37258%2028%2016Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M16%2010.6667V16M16%2021.3333H16.0133M28%2016C28%2022.6274%2022.6274%2028%2016%2028C9.37258%2028%204%2022.6274%204%2016C4%209.37258%209.37258%204%2016%204C22.6274%204%2028%209.37258%2028%2016Z%22%20stroke%3D%22%23C80F2D%22%20stroke-width%3D%222.66667%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");

    --dropdown-arrow-background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%23C80F2D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    --dropdown-arrow-background-reverse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 15L12 8L19 15' stroke='%23C80F2D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    --dropdown-arrow-background-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='11' viewBox='0 0 18 11' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.7295 10.3662C17.3518 10.7691 16.719 10.7895 16.3161 10.4118L9 3.55298L1.68394 10.4118C1.28102 10.7895 0.64819 10.7691 0.270458 10.3662C-0.107271 9.96328 -0.0868567 9.33044 0.316055 8.95271L9 0.811515L17.6839 8.95271C18.0869 9.33044 18.1073 9.96328 17.7295 10.3662Z' fill='white'/%3E%3C/svg%3E");

    --phone-background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M4 6.66667C4 5.19391 5.19391 4 6.66667 4H11.039C11.6129 4 12.1224 4.36724 12.3039 4.9117L14.301 10.9029C14.5108 11.5324 14.2258 12.2204 13.6324 12.5172L10.6227 14.022C12.0923 17.2816 14.7184 19.9077 17.978 21.3773L19.4828 18.3676C19.7796 17.7742 20.4676 17.4892 21.097 17.699L27.0883 19.6961C27.6328 19.8776 28 20.3871 28 20.961V25.3333C28 26.8061 26.8061 28 25.3333 28H24C12.9543 28 4 19.0457 4 8V6.66667Z' stroke='%23C80F2D' stroke-width='2.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    --mail-background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M4 10.6665L14.5208 17.6804C15.4165 18.2775 16.5835 18.2775 17.4792 17.6804L28 10.6665M6.66667 25.3332H25.3333C26.8061 25.3332 28 24.1393 28 22.6665V9.33317C28 7.86041 26.8061 6.6665 25.3333 6.6665H6.66667C5.19391 6.6665 4 7.86041 4 9.33317V22.6665C4 24.1393 5.19391 25.3332 6.66667 25.3332Z' stroke='%23C80F2D' stroke-width='2.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    --warning-background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath d='M20 13.3333V20M20 26.6667H20.0167M35 20C35 28.2843 28.2843 35 20 35C11.7157 35 5 28.2843 5 20C5 11.7157 11.7157 5 20 5C28.2843 5 35 11.7157 35 20Z' stroke='%23C80F2D' stroke-width='3.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

}

html {
    font-family: var(--font-family);
    font-size: calc(var(--base-font-size) * 1px);
    line-height: 1.25rem;
    font-weight: 400;
    color: var(--blue-700);
    overflow-x: clip;
    overflow-x: hidden;
    scroll-behavior: smooth;
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%; /* Safari/Chrome, other WebKit */
    -moz-text-size-adjust: 100%; /* Firefox, other Gecko */
    text-size-adjust: 100%; /* Opera/IE 8+ */
    text-rendering: optimizelegibility;
}

body {
    font-size: 1rem;
    font-family: var(--font-family);
    margin: 0;
    padding: 0;
    background-color: var(--white);
    background-position: center top;
    background-size: 100%;
    background-repeat: repeat;
    max-width: 100vw;
    overflow-x: hidden;
}

* {
    color: inherit;
}

a {
    text-decoration: none;
}

/*main {
    background-color: var(--white);
}*/

p, span, div, li {
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    letter-spacing: var(--p-letter-spacing);
    font-weight: var(--p-weight);
}

label{
    font-family: "Rubik", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
}

input,
select,
textarea {
    display: flex;
    padding: 0.75rem 8px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    border-radius: 0.75rem;
    border: 0.15rem solid var(--red);
    background: var(--white);
}

input::placeholder{
    font-family: "Rubik", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    color: var(--blue);
    opacity: 0.5;
}

input:focus::placeholder{
    font-family: "Rubik", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    color: var(--blue);
    opacity: 1;
}

input:focus-visible{
    border: 0.15rem solid var(--red);
}

.checkbox{
    border: 0.15rem solid var(--red);
    background-color: var(--white);
}

.custom-checkbox .checkmark {
    position: relative;
    /* top: -2rem; */
    left: 0;
    height: 20px;
    width: 20px;
    background-color: var(--white);
    border-radius: 4px;
    border: 0.15rem solid var(--red);
    margin-right: 0.5rem;
    accent-color: var(--red);
    color:var(--white);
    border-color: var(--red);
    cursor: pointer;
    /* margin-top: 0.1rem; */
}

button {
    border: none;
    background: none;
    cursor: pointer;
}

/* SPACING */
.content-width {
    width: var(--content-width);
    margin: 0 auto;
    box-sizing: border-box;
}

.content-width .content-width {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

.white + .component-title-sliding-images-texts__mosaic,
.beige + .component-title-sliding-images-texts__mosaic,
.darkBlue + .component-title-sliding-images-texts__mosaic,
.blue + .component-title-sliding-images-texts__mosaic,
.white + .white,
.beige + .white,
.darkBlue + .white,
.blue + .white,
.white + .beige,
.beige + .beige,
.darkBlue + .beige,
.blue + .beige,
.white + .darkBlue,
.beige + .darkBlue,
.darkBlue + .darkBlue,
.blue + .darkBlue,
.white + .blue,
.beige + .blue,
.darkBlue + .blue,
.blue + .blue {
    margin-top: var(--padding-y);
}

/* VISIBILITY */

.mobile-only {
    display: block;
}

.mobile-tablet-only {
    display: block;
}

.tablet-only {
    display: none;
}

.tablet-desktop-only {
    display: none;
}

.desktop-only {
    display: none;
}

/* SIZING */

.img-responsive {
    width: 100%;
    height: auto;
}

/* DISPLAYING */

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-justify {
    text-align: justify;
}

.break {
    flex-basis: 100%;
    height: 0;
}

.break-word span {
    display: block;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}

/* COLOURING */

.dark {
    color: var(--black);
}

.light {
    color: var(--white);
}

.color--white {
    color: var(--white);
}
.background-color--white {
    background-color: var(--white);
}
.color--primary-400 {
    color: var(--primary-400);
}
.background-color--primary-400 {
    background-color: var(--primary-400);
}
.color--primary-500 {
    color: var(--primary-500);
}
.background-color--primary-500 {
    background-color: var(--primary-500);
}
.color--primary-600 {
    color: var(--primary-600);
}
.background-color--primary-600 {
    background-color: var(--primary-600);
}
.color--primary-700 {
    color: var(--primary-700);
}
.background-color--primary-700 {
    background-color: var(--primary-700);
}
.color--primary-800 {
    color: var(--primary-800);
}
.background-color--primary-800 {
    background-color: var(--primary-800);
}
.color--primary-60a {
    color: var(--primary-60a);
}
.background-color--primary-60a {
    background-color: var(--primary-60a);
}
.color--secondary-50 {
    color: var(--secondary-50);
}
.background-color--secondary-50 {
    background-color: var(--secondary-50);
}
.color--secondary-500 {
    color: var(--secondary-500);
}
.background-color--secondary-500 {
    background-color: var(--secondary-500);
}
.color--secondary-600 {
    color: var(--secondary-600);
}
.background-color--secondary-600 {
    background-color: var(--secondary-600);
}
.color--secondary-700 {
    color: var(--secondary-700);
}
.background-color--secondary-700 {
    background-color: var(--secondary-700);
}
.color--green-500 {
    color: var(--green-500);
}
.background-color--green-500 {
    background-color: var(--green-500);
}
.color--pink-500 {
    color: var(--pink-500);
}
.background-color--pink-500 {
    background-color: var(--pink-500);
}
.color--yellow-600 {
    background-color: var(--yellow-600);
}
.background-color--yellow-600 {
    background-color: var(--yellow-600);
}

/* CUSTOM CTAs */

.primary-button{
    color:var(--white);
    background-color: var(--red);
    border-radius: 0.75rem;
    min-height: 3rem;
    padding: 0.25rem 1rem;
    border:none;
    font-weight: 700;
}

.primary-button:hover{
    background-color: var(--dark-red);
    border:none;
    color:var(--white);
}

.primary-button:focus{
    background-color: var(--dark-red);
    border:none;
    color:var(--white);
}

.primary-button:disabled{
    background-color: color-mix(in srgb, var(--red) 60%, transparent);
    color: color-mix(in srgb, var(--white) 60%, transparent);
    border:none;
}

.primary-button:active{
    background-color: var(--bg-red-light);
    color: var(--red);
    border:none;
}

.secondary-button{
    color:var(--red);
    background-color: var(--white);
    border: 0.15rem solid var(--red);
    border-radius: 0.75rem;
    min-height: 3rem;
    padding: 0.25rem 1rem;
    font-weight: 700;
}

.secondary-button:hover{
    background-color: var(--bg-red-light);
    border: 0.15rem solid var(--red);
    color:var(--red);
}

.secondary-button:focus{
    background-color: var(--bg-red-light);
    border: 0.15rem solid var(--red);
    color:var(--red);
}

.secondary-button:disabled{
    background-color: color-mix(in srgb, var(--white) 60%, transparent);
    color: color-mix(in srgb, var(--red) 60%, transparent);
    border: 0.15rem solid color-mix(in srgb, var(--red) 60%, transparent);
}

.link{
    color:var(--red);
    text-decoration: underline;
    text-decoration-color: var(--red);
    font-weight: 700;
    text-underline-offset: 8px;
}

.link:hover{
    color: var(--red);
    text-decoration: underline;
    text-decoration-color: var(--red);
}

.link:focus{
    color: var(--red);
    text-decoration: underline solid var(--red) 3px;
}

.link:disabled{
    color: color-mix(in srgb, var(--red) 60%, transparent);
    text-decoration: underline solid color-mix(in srgb, var(--red) 60%, transparent) 3px;
}

.tag{
    color:var(--red);
    background-color: var(--bg-red-light);
    border-radius: 0.75rem;
    min-height: 3rem;
    padding: 0.25rem 1rem;
    border: none;
    font-weight: 700;
}

.tag:hover{
    color:var(--red);
    background-color: var(--bg-red-light);
    border: 0.15rem solid var(--red);
}

.tag:focus{
    color:var(--red);
    background-color: var(--bg-red-light);
    border: 0.15rem solid var(--red);
}

.tag:disabled{
    background-color: color-mix(in srgb, var(--bg-red-light) 60%, transparent);
    color: color-mix(in srgb, var(--red) 60%, transparent);
    border: none;
}

.icon-button-primary{
    color:var(--white);
    background-color: var(--red);
    border-radius: 0.75rem;
    padding: 0.7rem;
    font-weight: 700;
}

.icon-button-primary:hover{
    color:var(--white);
    background-color: var(--dark-red);
    border-radius: 0.75rem;
    padding: 0.7rem;
}

.icon-button-primary:focus{
    color:var(--white);
    background-color: var(--dark-red);
    border-radius: 0.75rem;
    padding: 0.7rem;
}

.icon-button-primary:disabled{
    background-color: color-mix(in srgb, var(--red) 60%, transparent);
    color: color-mix(in srgb, var(--white) 60%, transparent);
    border: none;
    padding: 0.7rem;
}

.icon-button-secondary{
    color:var(--red);
    background-color: var(--white);
    border-radius: 0.75rem;
    padding: 0.7rem;
    border: none;
    font-weight: 700;
}

.icon-button-secondary:hover{
    color:var(--red);
    background-color: var(--bg-red-light);
    border-radius: 0.75rem;
    padding: 0.7rem;
    border: 0.15rem solid var(--red);
}

.icon-button-secondary:focus{
    color:var(--red);
    background-color: var(--bg-red-light);
    border-radius: 0.75rem;
    padding: 0.7rem;
    border: 0.15rem solid var(--red);
}

.icon-button-secondary:disabled{
    background-color: color-mix(in srgb, var(--white) 60%, transparent);
    color: color-mix(in srgb, var(--red) 60%, transparent);
    border: none;
    padding: 0.7rem;
}

.cta.arrow,
.cta.rectangle {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.cta.arrow svg,
.cta.rectangle svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.cta.arrow span,
.cta.rectangle span {
    position: relative;
    z-index: 1;
    text-transform: uppercase;
    font-weight: 700;
}

.cta.arrow {
    padding: 1rem; /* 16px */
    padding-left: 1.375rem; /* 22px */
    padding-right: 1.75rem; /* 28px */
}

.cta.rectangle {
    padding: 0.5rem 1rem;
}

.cta.arrow-white svg,
.cta.rectangle-white svg {
    filter: var(--svg-filter-white);
}

.cta.arrow-black svg,
.cta.rectangle-black svg {
    filter: var(--svg-filter-black);
}

/* backgrounds */
.bg-to-edge > *,
.bg-to-edge__mobile > *,
.bg-to-edge__desktop > * {
    position: relative;
}

.bg-to-edge,
.bg-to-edge__mobile,
.bg-to-edge__desktop {
    position: relative;
}

.bg-to-edge:before,
.bg-to-edge__mobile:before,
.bg-to-edge__desktop:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    display: block !important;
    background-color: inherit;
}

.bg-to-edge__desktop:before {
    display: none !important;
}

.bg-to-edge__right:before {
    right: calc((100vw - 100%) * -1);
    left: 50%;
}

.bg-to-edge__left:before {
    left: calc((100vw - 100%) * -1);
    right: 50%;
}

.background-pattern{
    position: absolute;
    top: 70%;
    left:0;
    height: 100%;
    width: 100%;
    background-image: url("../img/pattern_vichy.png");
    background-repeat: repeat;
    background-position: bottom;
    background-attachment: fixed;
}

.background-pattern-row{
    height:100%;
}

.background-pattern-color{
    height: 100%;
}

.has-dark-overlay {
    --overlay-opacity: 0.2;
    position: relative;
}

.has-dark-overlay:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background-color: hsla(0, 0%, 0%, var(--overlay-opacity));
}

/* Page 404 */


.page-404 p{
    color: var(--secondaryColor);
    font-size: var(--h3-size);
    font-weight: var(--h3-weight);
    line-height: 1;
}