/* Frontend editor */
.ct-widget.ct-ignition {
  position: fixed;
  left: auto;
  top: auto;
  right: 20px;
  bottom: 20px;
  z-index: 10000;
  transition: all 0.5s ease 0s;
}
.ct-widget.ct-ignition .ct-ignition__button {
  position: static;
  margin-top: 10px;
}
.ce-element {
  outline: 2px dashed rgba(243, 156, 18, 0.5);
}
.ce-element--focused, .ce-element:focus {
  outline: 2px dashed #f39c12;
}
/* tables default (cookies in /donnees-personnelles) */
table {
  width: calc(100% + 10px);
  margin-bottom: 2em;
  border-collapse: separate;
  border-spacing: 5px;
  margin-left: -5px;
}
th {
  border-bottom: 1px solid #666;
}
td, th {
  padding: 2px 0.5em;
}
tr:not(:last-child) td {
  border-bottom: 1px dotted #ccc;
}

/* Responsive font size */
/**
 * General Elements
 **/
body {
  font-family: "Adobe Caslon Pro";
  --yellow: #FFCD00;
  --black: #1A1A1A;
  --spacing: 10vmin;
  color: var(--black);
  background: #fff url(../themes/atelier1773/assets/img/texture.png) repeat left top;
  font-size: 1.25rem;
}
h1 {
  font-size: calc(2.025rem + 9.3vw);
  text-transform: uppercase;
  white-space: nowrap;
  position: relative;
  z-index: 1;
  line-height: 1em;
  margin-bottom: 0.2em;
}
@media (min-width: 1200px) {
  h1 {
    font-size: 9rem;
  }
}
h2 {
  font-size: calc(1.4875rem + 2.85vw);
  text-transform: uppercase;
  margin-bottom: 0.5em;
  line-height: 1em;
}
@media (min-width: 1200px) {
  h2 {
    font-size: 3.625rem;
  }
}
h1 strong, h2 strong {
  color: var(--yellow);
  font-weight: 400;
}
:focus, button:focus {
  outline: none;
}
h5 {
  font-size: calc(1.4875rem + 2.85vw);
}
@media (min-width: 1200px) {
  h5 {
    font-size: 3.625rem;
  }
}
/* Images */
img, svg, video {
  max-width: 100%;
  height: auto;
}
[data-sizes] {
  display: block;
  width: 100%;
}
[data-bg] {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
/* Paragraphs */
p {
  margin-bottom: 1em;
}
p:last-child {
  margin-bottom: 0;
}
/* Link */
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
  color: initial;
}
/* Lists */
ul, ol {
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
/* Forms */
.invalid-feedback.visible {
  display: block !important;
}
/**
 * Layout
 **/
/* Global */
#page {
  position: relative;
  width: 100%;
  overflow: hidden;
}
#main {
  margin-top: 200px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  background-color: var(--yellow);
}
#contact .hamburger-inner, #contact .hamburger-inner::before, #contact .hamburger-inner::after {
  background-color: #fff;
}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
}
/* Header */
#header {
  font-weight: bold;
  font-size: 0.825rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  font-family: "Syne";
  text-transform: uppercase;
}
#header .row {
  height: 200px;
  align-items: center;
}
#header .menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2005;
}
#header .menu a:hover {
  color: var(--yellow);
}
#header li.active {
  color: var(--yellow);
}
#contact #header li.active {
  color: #fff;
}
#contact #header .menu a:hover {
  color: white;
}
.nav-resp-headbar {
  display: none;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1003;
}
#header .nav-resp-menu {
  display: flex;
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: var(--yellow);
  transform: translateY(-100vh);
  transition: all 0.7s ease 0s;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
#header .menuresp {
  text-align: center;
  width: 100%;
  height: 100%;
}
#header .reseaux {
  display: flex;
  flex-direction: column;
  text-transform: uppercase;
  position: absolute;
  bottom: 40px;
  text-decoration: underline;
}
body.open #header .nav-resp-menu {
  transform: translateY(0);
}
#header .nav-resp-menu li {
  padding: 10px 0;
}
#header .nav-resp-menu li.active {
  color: #fff;
}
body.open #header svg {
  fill: #fff;
}
/* Footer */
#footer {
  padding-bottom: calc(var(--spacing) / 2);
  text-transform: uppercase;
  margin-top: var(--spacing);
}
#footer .title {
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  #footer .title {
    font-size: 5rem;
  }
}
#footer .middle {
  margin: calc(var(--spacing) / 2) 0 var(--spacing) 0;
}
#footer .bottom {
  font-family: "Syne", sans-serif;
  font-size: 0.835rem;
  font-weight: 700;
}
/**
 * Pages
 **/
/* Global components */
.container-fluid {
  --bs-gutter-x:12rem;
}
.padding {
  padding-top: var(--spacing);
  padding-bottom: var(--spacing);
}
.padding-sm {
  padding-top: calc(var(--spacing) / 2);
  padding-bottom: calc(var(--spacing) / 2);
}
.padding-lg {
  padding-top: calc(var(--spacing) * 2);
  padding-bottom: calc(var(--spacing) * 2);
}
.bg-yellow {
  background-color: var(--yellow);
}
.btn {
  margin-top: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--black);
  font-weight: 700;
  font-family: "Syne", sans-serif;
  padding: 20px 40px;
  position: relative;
  background-color: transparent;
  border: none;
  transition: all 0.5s ease 0s;
  z-index: 1;
}
.btn:hover {
  background: none;
  border: 0;
}
.btn:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: all 0.5s ease 0s;
}
.btn:focus {
  color: var(--yellow);
  background-color: transparent;
  border-color: none;
  outline: 0;
  box-shadow: none;
}
.btn-primary:before {
  background-image: url(../themes/atelier1773/assets/img/btn-yellow.svg);
}
.btn-primary:hover {
  color: var(--yellow);
}
.btn-primary:hover:before {
  background-image: url(../themes/atelier1773/assets/img/btn-black.svg);
}
.btn-outline-primary:before {
  background-image: url(../themes/atelier1773/assets/img/btn-transparent.svg);
}
.btn-outline-primary:hover:before {
  background-image: url(../themes/atelier1773/assets/img/btn-black.svg);
}
.section .row {
  align-items: stretch;
}
.section .image img {
  object-fit: cover;
  height: 100%;
}
.section .text {
  padding: var(--spacing);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
/* Section 1 */
#section-1 .text {
  justify-content: flex-start;
  padding-left: 0;
}
#section-1 .text * {
  max-width: 100%;
}
/* Section 2 */
#section-2 .image {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: calc(var(--spacing) * 2);
  position: relative;
  height: 100vh;
}
#section-2 .image img {
  padding: 5px;
  background: #fff;
  height: auto;
  max-width: 50%;
}
#section-2 .image img:last-child {
  transform: rotate(8deg) translate(-15px, 15px) scale(0.9);
}
#section-2 #groupe1 {
  z-index: 2;
  position: absolute;
  opacity: 1 !important;
}
#section-2 #groupe2 {
  z-index: 3;
  position: absolute;
}
#section-2 #groupe3 {
  z-index: 4;
  position: absolute;
}
#section-2 #groupe4 {
  z-index: 5;
  position: absolute;
}
#section-2 .row > div {
  position: relative;
}
#section-2 .text {
  position: absolute;
  width: 100%;
  padding: 0;
}
#section-2 .txt {
  padding: var(--spacing);
  padding-right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#section-2 .groupe {
  position: absolute;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  justify-content: center;
}
/* Section 3 */
#section-3 .text {
  padding-left: 0;
}
/* Contact */
#contact {
  background: url(../themes/atelier1773/assets/img/background-contact.jpg) no-repeat 0 0;
  background-size: cover;
  background-position: bottom;
  min-height: 100vh;
}
#contact #header svg {
  fill: #fff;
}
#contact .contact {
  padding-top: 200px;
}
#contact .form-control {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--black);
  border-radius: inherit;
}
#contact .form-control:focus {
  box-shadow: initial;
}
#contact img {
  border: 7px solid #fff;
}
#contact .firstimg {
  transform: rotate(-3deg);
  position: relative;
  z-index: 3;
}
#contact .secondimg {
  transform: rotate(7deg) translateX(-20px);
  position: relative;
  z-index: 2;
}
#contact h1 {
  color: #fff;
  opacity: 0.3;
  text-transform: uppercase;
  font-size: calc(2.025rem + 9.3vw);
  margin-bottom: 0;
}
@media (min-width: 1200px) {
  #contact h1 {
    font-size: 9rem;
  }
}
#contact .blockimg {
  transform: translateY(-90px);
  position: relative;
  z-index: 1;
}
#contact ::placeholder {
  color: var(--black);
}
#contact .btn {
  background-color: transparent;
  border: black;
}
#contact #contact_forms_flash button {
  display: none;
}
#contact-title-resp {
  display: none;
  text-align: center;
}
.g-recaptcha > div {
  margin: auto;
}
.alert-success {
  --bs-alert-color: #000000;
  --bs-alert-bg: rgb(190 153 0 / 80%);
  --bs-alert-border-color: #00a57d;
  position: fixed;
  top: 0;
  bottom: 0;
  height: 100px;
  margin: auto;
  left: 0;
  z-index: 2;
  transform: translate(10px, 10px);
  right: 0;
  max-width: 500px;
}
.legal h1 {
  font-size: calc(1.625rem + 4.5vw);
  padding-top: 2em;
}
@media (min-width: 1200px) {
  .legal h1 {
    font-size: 5rem;
  }
}
.legal h2 {
  font-size: calc(1.325rem + 0.9vw);
  margin-top: 2em;
}
@media (min-width: 1200px) {
  .legal h2 {
    font-size: 2rem;
  }
}
/* blockscroll */
/*
#blockscroll {}
#blockscroll .left{ padding: 25vh 0; display: flex; align-items: center;}
#blockscroll .left img{ border: 7px solid #fff;}
#blockscroll .left .secondimg{ transform: rotate(7deg);}
#blockscroll .right{ display: flex;justify-content: center; flex-direction: column;}

#imgphoto { }
#imgphoto .blocktxt {justify-content: center; align-items: center; display: flex; height: 100%;}
*/

/* Responsive font size */
/**
 * XXL
 **/
@media (max-width: 1499px) {
  #contact h1 {
    font-size: calc(1.725rem + 5.7vw);
  }
  #contact .blockimg {
    transform: translateY(-30px);
  }
}
@media (max-width: 1499px) and (min-width: 1200px) {
  #contact h1 {
    font-size: 6rem;
  }
}
/**
 * XL
 **/
@media (max-width: 1399px) {
  .container-fluid {
    --bs-gutter-x:8rem;
  }
  h1 {
    font-size: calc(1.725rem + 5.7vw);
  }
  h2 {
    font-size: calc(1.375rem + 1.5vw);
  }
  #contact #main {
    margin-top: 20px;
  }
}
@media (max-width: 1399px) and (min-width: 1200px) {
  h1 {
    font-size: 6rem;
  }
}
@media (max-width: 1399px) and (min-width: 1200px) {
  h2 {
    font-size: 2.5rem;
  }
}
/**
 * LG
 **/
@media (max-width: 1199px) {
  .container-fluid {
    --bs-gutter-x:4rem;
  }
}
/**
 * MD
 **/
@media (max-width: 991px) {
  body {
    --spacing: 5vmin;
    font-size: 1.1rem;
  }
  #footer .title {
    font-size: calc(1.525rem + 3.3vw);
  }
  #header .menu {
    display: none;
  }
  .nav-resp-headbar {
    display: flex;
  }
  body.open #header .nav-resp-menu {
    opacity: 1;
  }
}
@media (max-width: 991px) and (min-width: 1200px) {
  #footer .title {
    font-size: 4rem;
  }
}
/**
 * SM
 **/
@media (max-width: 767px) {
  #header .menu {
    justify-content: space-between;
  }
  #section-2 .text {
    background-color: #FFCD00;
    position: relative;
    padding: 0 15px;
  }
  #section-2 .txt {
    padding-right: inherit;
  }
  #section-2 .image {
    height: 50vh;
  }
  #section-2 .groupe:not(:first-child) {
    display: none;
  }
  #section-2 #groupe1 {
    position: relative;
  }
  .section .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .respnone {
    display: none;
  }
  #contact-title-resp {
    display: initial;
  }
}
/**
 * XS
 **/
@media (max-width: 575px) {
  h1 {
    font-size: calc(1.125rem + 5.7vw);
  }
}
