:root {
    --sp: 1.125rem
}
body {
    font-family: var(--bs-font-sans-serif);
}
header {
    background-color: #ebebeb;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
}
[data-admin-toolbar="expanded"] header {
    width: calc(100% - var(--admin-toolbar-sidebar-width));
}
header>* {
    position: relative;
}
h1 {
    font-size: 4rem;
}
main {
    margin-top: 105px;
}
img {
    max-width: 100%;
}
.ui-dialog {
    margin-left: calc(var(--admin-toolbar-sidebar-width) + 150px);
    max-width: 75vw;
}
.toolbar-horizontal.toolbar-fixed header {
    top: 79px;
}
.toolbar-horizontal.toolbar-fixed main {
    margin-top: 185px;
}
.lpb-enable {
    transform: translateY(15px);
}
.lpb-form__actions {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.4);
}
.lpb-form__actions input {
    border: 0;
    color: #FFF;
    padding: 10px 30px;
    cursor: pointer;
}
.lpb-form__actions .button--primary {
    background-color: #8bc34a;
}
.lpb-btn--cancel {
    background-color: #ff9800;
}
.messages{
    padding: 15px 30px;
    text-align: center;
}
.messages--status {
    background-color: #8bc34a;
    color: #FFF;
}
.links.inline {
    list-style: none;
    padding-left: 0;
}
.links.inline li a {
    background-color: #333333;
    color: #FFF;
    padding: 5px 15px;
    display: inline-block;
    border: 1px solid #333333;
    border-radius: 20px;
}
.links.inline li a:hover {
    background-color: transparent;
    color: #333333;
}
.col.layout__region .col.layout__region>div {
    padding-left: 0;
    padding-right: 0;
}
.justify-content-space-between {
    justify-content: space-between;
}
.navbar-brand img {
    min-width: 250px;
    max-width: 300px;
}
.links.inline {
    margin: 1rem 0 0;
}


/* Menu */

.site-content {
    max-width: 1100px;
    height: 100vh;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: center;

}
.site-content__headline {
    font-weight: 200;
    color: #ffffff;
    font-size: calc(2vw + 10px);
}

.btn {
    text-align: center;
    background-color: #0d6efd;
    color: #FFF;
    border-radius: 0.375rem;
    padding: 0.375rem 0.75rem;
    text-decoration: none;
    display: inline-flex;
}
.btn.btn-lg {
    padding: 0.75rem 2rem;
    font-size: 1.5rem;
}
.node-layout-builder-form .form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-block: calc(0.5 * 1.175rem);
}
.layout-builder-form .form-actions {
    align-items: center;
    justify-content: space-between;
}

.button {
    display: inline-flex;
    align-items: center;
    padding-block: 1px 0;
    padding-inline: 1rem;
    line-height: 1rem;
    height: 55px;
    margin-inline-start: 0;
    margin-inline-end: 1.175rem;
    padding-inline: 1rem;
    cursor: pointer;
    text-align: center;
    -webkit-text-decoration: none;
    text-decoration: none;
    color: #2e77ab;
    border: solid 2px #2e77ab;
    border-radius: 0.250rem;
    background-color: #FFF;
    font-size: 1rem;
    font-weight: 700;
    appearance: none;
    -webkit-font-smoothing: antialiased;
}
.button--primary {
    color: #FFF;
    border-color: #2e77ab;
    background-color: #2e77ab;
}
.form-type-boolean {
    margin-block: 1rem;
}
input[type="checkbox"]:checked {
    background-image: url("data:image/svg+xml,%3Csvg width='17px' height='13px' viewBox='0 0 17 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpath d='M14.8232,0.176777 C14.9209,0.0791457 15.0791,0.0791455 15.1768,0.176777 L16.9445,1.94454 C17.0422,2.04217 17.0422,2.20047 16.9445,2.2981 L6.23744,13.0052 C6.13981,13.1028 5.98151,13.1028 5.88388,13.0052 L0.176777,7.2981 C0.0791456,7.20047 0.0791456,7.04218 0.176777,6.94454 L1.94454,5.17678 C2.04217,5.07915 2.20047,5.07915 2.2981,5.17678 L5.88388,8.76256 C5.98151,8.86019 6.13981,8.86019 6.23744,8.76256 L14.8232,0.176777 Z' id='Path' fill='%232494DB' fill-rule='nonzero'%3E%3C/path%3E%3C/svg%3E");
}
input[type="checkbox"]:checked, input[type="radio"]:checked {
    border-width: 2px;
}
input[type="checkbox"], input[type="radio"] {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    vertical-align: middle;
    border: 1px solid #8196a2;
    border-radius: 0.1875rem;
    background-color: #FFF;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1.175rem 1.175rem;
    appearance: none;
}
.form-actions .button, .form-actions .action-link {
    margin-block: 1rem;
}
.messages-list {
    margin-block: 1.175rem;
    padding-block: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
    list-style: none;
}
.messages {
    min-height: calc(2* 1.175rem);
    padding-block: 1.175rem;
    padding-inline-start: calc(1.5 * 1.175rem);
    padding-inline-end: calc(1.5 * 1.175rem);
    color: #FFF;
    outline: solid 1px transparent;
    background-color: #0b0d0f;
}
  
.messages:not(.hidden) ~ .messages {
    margin-block-start: 1.175rem;
}
.messages__container {
    display: flex
;
}
.messages__content {
    overflow: auto;
    flex: 1;
    padding-block-start: 0.1875rem;
    text-align: left;
    padding-left: 1rem;
}
.messages__button {
    flex-shrink: 0;
    margin-inline-start: 1.175rem;
    padding-block-start: 0.1875rem;
  }
  
  .messages__close {
    position: relative;
    width: 1.5625rem;
    height: 1.5625rem;
    padding-block: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
    cursor: pointer;
    vertical-align: top;
    border: 0;
    background: none;
    appearance: none;
  }
  
  .messages__close::before,
  .messages__close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 2.0625rem;
    height: 0;
    content: "";
    border-top: solid 2px #2e77ab;
  }
  
  .messages__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  
  .messages__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  
  .messages__close:hover::before,
  .messages__close:hover::after {
    border-color: #FFF;
  }
  
  .messages__close:focus {
    outline: 2px solid #5f7581;
    outline-offset: 2px;
  }
  
  .messages__icon svg {
    vertical-align: top;
  }
  
  .messages--error .messages__icon svg {
    fill: #e33f1e;
  }
  
  .messages--warning .messages__icon svg {
    fill: #fdca40;
  }
  
  .messages--status .messages__icon svg {
    fill: #3fa21c;
  }
  
  .messages--info .messages__icon svg {
    fill: #5f7581;
  }
  
  .messages a {
    color: #FFF;
  }
  
  .messages pre {
    margin: 0;
  }
  
  .js-form-managed-file .messages {
    margin-block-end: 1.175rem;
    border-inline-start: solid 0.375rem #e33f1e;
  }
  .layout-builder__message--overrides .messages {
    background-image: none;
  }
  .layout-builder-block {
    background-color: transparent;
  }
  .one-col .content>* {
    margin-bottom: 1rem;
  }
.paragraph--type--accordeon-item {
    margin-bottom: 1rem;
}
.field--name-field-ai-titre {
    font-size: 1.8rem;
    line-height: 2.3rem;
    font-weight: bold;
    padding: 1rem 2rem;
    background-color: #0d6efd;
    color: #FFF;
    cursor: pointer;
    position: relative;
    padding-right: 60px;
}
.field--name-field-ai-titre:after {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - 20px);
    right: 15px;
    width: 40px;
    height: 40px;
    background: url('../images/arrow-circle.svg') no-repeat;
    background-size: contain;
    transition: transform 0.25s ease-in; 
}
.paragraph--type--accordeon-item.expanded .field--name-field-ai-titre:after {
    transform: rotate(180deg);
    transition: transform 0.25s ease-out; 
}
.field--name-field-ai-description {
    border-right: 2px solid #0d6efd;
    border-bottom: 2px solid #0d6efd;
    border-left: 2px solid #0d6efd;
    padding: 1rem;
}