@font-face {
   font-family: "Inria Serif";
   src: url(webfonts/InriaSerifLight.woff2) format(woff2);
   font-weight: lighter;
}
@font-face {
   font-family: "Inria Serif";
   src: url() format(woff2);
   font-weight: lighter;
   font-style: italic;
}
@font-face {
   font-family: "Inria Serif";
   src: url() format(woff2);
   font-weight: normal;
}
@font-face {
   font-family: "Inria Serif";
   src: url() format(woff2);
   font-weight: normal;
   font-style: italic;
}
@font-face {
   font-family: "Inria Serif";
   src: url() format(woff2);
   font-weight: bold;
}
@font-face {
   font-family: "Inria Serif";
   src: url() format(woff2);
   font-weight: bold;
   font-style: italic;
}

body{
   background-color: snow;
   color: black;

   h1 {
      font-family: "Inria Serif";
      font-weight: bold;
      font-size: 4.5em;
   }

   h2 {
      font-family: "Inria Serif";
      font-weight: bold;
      font-size: xx-large;
   }

   h3 {
      font-family: "Inria Serif";
      font-weight: bold;
      text-transform: uppercase;
      font-size: x-large;
      line-height: 1;
   }

   h4 {
      font-family: "Inria Serif";
      font-weight: bold;
      text-transform: none;
      font-size: small;
      line-height: 1;
   }

   h5 {
      font-family: "Inria Serif";
      font-weight: bold;
      text-transform: none;
      font-size: medium;
      line-height: 1.5;
   }

   p {
      font-family: "Inria Serif";
      font-weight: normal;
      font-size: medium;
      line-height: 1.25em;
      margin-bottom: 1.5em;
      margin-top: 1em;
   }

   a.wp-block-button__link.wp-element-button {
      border-style: solid;
      border-radius: 0;
      border-width: 2px;
      border-color: black;
      background-color: transparent;
      font-family: "Inria Serif";
      font-size: medium;
      font-weight: bold;
      text-transform: uppercase;
      color: black;
      word-break: keep-all;
      white-space: nowrap;
      padding: 0.5em 0.7em;
   }

   .wp-block-button__link.wp-element-button a:hover {
      font-style: italic;
   }

   figure {
      margin: 0 !important;
   }
}

/* HEADER */
.site-branding {
   border-style: solid;
   border-width: 2px 0px;
   border-color: black;
   display: flex;
   flex-direction: row;
   width: 95vw;
   height: 10vh;
   margin: 1rem auto 0 auto;
   align-items: center;
}

.site-branding a#day-night-button, a#fr-button, a#en-button {
   font-family: "Inria Serif";
   font-size: 2rem;
   text-transform: uppercase;
   text-decoration: none;
   color: black;
   line-height: 1;
}

.site-branding a#day-night-button {
   margin-right: auto;
}

.site-branding a#fr-button {
   padding-right: 0.2em;
   margin-right: 0.15em;
   border-style: solid;
   border-width: 0 2px 0 0;
   border-color: black;
}

.site-branding a:hover#day-night-button, a:hover#fr-button, a:hover#en-button {
   font-family: "Inria Serif";
   color: inherit;
   font-style: italic;
   font-weight: normal;
}

.site-branding a:active#fr-button, a:active#en-button {
   font-family: "Inria Serif";
   color: inherit;
   font-style: normal;
   font-weight: bold;
}

.site-title {
   display: flex;
   line-height: 10vh;
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
}

.site-title a {
   text-transform: uppercase;
   text-decoration: none;
   color: black;
}

.entry-title, .page-title {
   display: none;
}

.page-title {
   display: none !important;
}

/* NAVIGATION */

.main-navigation {
   display: flex;
   width: 100%;
}

.main-navigation a {
   font-family: "Inria Serif";
   font-style: normal;
   font-weight: lighter;
   font-size: large;
   color: black;
}

.main-navigation a:hover {
   color: inherit;
   font-style: italic;
   font-weight: normal;
}

.main-navigation li.current_page_item {
   font-family: "Inria Serif";
   color: inherit;
   font-style: italic;
   font-weight: bold;
}

.menu-navigation-container {
   border-style: solid;
   border-width: 2px;
   border-color: black;
   display: inline-flex;
   margin: 1rem auto;
}

.menu-navigation-container ul {
   list-style: none;
   display: flex;
}

.menu-navigation-container li {
   padding: 0.5em 0.7em;
}

.menu-item-32 {
   margin-left: 0.5em;
}

/* HOME PAGE CONTENT */

.site-main {
   width: 95vw;
   margin: 0 auto;
}

/* ABOUT ME */

.home-about-contact-section {
   box-sizing: border-box;
   margin: 0;
   padding: 0.7em;
   align-items: center;
   box-sizing: border-box;
   border-style: solid;
   border-width: 2px;
   border-color: black;
}

.home-about-contact-section img {
   filter: grayscale(100%)
}

.wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex {
   margin-bottom: 1em;
}

/* LATEST POSTS CARDS */

.wp-block-latest-posts__list.is-grid.columns-3.latest-posts-section.wp-block-latest-posts.wp-container-content-270b32af img {
   padding: 0.25em;
   border-style: solid;
   border-width: 2px;
   border-color: black;
   aspect-ratio: 3/4;
   object-fit: cover;
   filter: grayscale(100%);
   transition: ease-in-out 0.25s;
}

.wp-block-latest-posts__list.is-grid.columns-3.latest-posts-section.wp-block-latest-posts.wp-container-content-270b32af img:hover {
   filter: grayscale(0%);
   padding: 0;
}

.wp-block-latest-posts__featured-image {
   margin-bottom: 0.25em;
}

.wp-block-latest-posts__post-title {
   font-family: "Inria Serif";
   font-size: xx-large;
   font-weight: bold;
   line-height: 1em;
   text-decoration: none;
   color: black;
   text-transform: uppercase;
   margin-top: 0.75em;
   overflow-wrap: normal;
}

.wp-block-latest-posts__list.is-grid.columns-3.latest-posts-section.wp-block-latest-posts.wp-container-content-270b32af li a:hover {
   color: black !important;
   font-style: italic;
}

.wp-block-latest-posts__list.is-grid.columns-3.latest-posts-section.wp-block-latest-posts.wp-container-content-270b32af li a:visited {
   color: black !important;
}

.wp-block-latest-posts__list.is-grid.columns-3.latest-posts-section.wp-block-latest-posts.wp-container-content-270b32af {
   justify-content: space-between;}

.wp-block-latest-posts__list.is-grid.columns-3.latest-posts-section.wp-block-latest-posts.wp-container-content-270b32af li {
   margin: 0;
}

.wp-block-latest-posts__post-excerpt {
   font-family: "Inria Serif";
   font-weight: normal;
   font-size: medium;
   line-height: 1.25em;
   margin-bottom: 0em !important;
   margin-top: .25em;
}

.wp-block-latest-posts__read-more {
   display: none;
}

.wp-block-buttons.wp-container-content-270b32af.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex {
   margin-bottom: 0;
}

/* MAKE ME WORK */

.wp-block-group.makemework-section.wp-container-content-65dfa4b7 {
   display: flex;
   border-style: solid;
   border-color: black;
   border-width: 2px 0;
}

.makemework-section p {
   max-width: 40em;
}

.makemework-section .wp-block-group__inner-container {
   margin: auto;
}

.wp-block-heading.has-text-align-center {
   margin: 0.75em 0;
   line-height: 1;
}

p .wp-block-heading.has-text-align-center {
   text-align: center;
}

.wp-block-group.makemework-section.wp-container-content-c547f864 .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {
   padding: 0.7em;
   align-items: center;
}

/* ABOUT PAGE */

.about-page-content > * {
   display: grid;
   gap: 1em;
   grid-template-columns: 1fr 2fr;
}

.about-page-content .portrait-photo img {
   padding: 0.25em;
   border-style: solid;
   border-width: 2px;
   border-color: black;
   aspect-ratio: 3/4;
   object-fit: cover;
   filter: grayscale(100%);
   transition: ease-in-out 0.25s;
}

.about-page-content .portrait-photo img:hover {
   filter: grayscale(0%);
   padding: 0;
}

.introduction h2.wp-block-heading {
   margin: 0.5em 0 0 0;
   line-height: 1;
   font-weight: bold;
}

.introduction p {
   margin: 0.5em 0 1em 0;
}

.introduction h3, .why-laysagna h3.has-text-align-center {
   text-transform: none;
   font-weight: normal;
   margin: 0.5em 0 1em 0;
}

.services {
   padding: 1em;
   border: solid 2px black;
   grid-column-start: 1;
   grid-column-end: 2;
}

.services h3 {
   margin: 0 0 0.5em 0;
}

.services p {
   margin: 0.5em 0 1em 0;
}

.services {
   grid-column-start: 1;
   grid-column-end: 3;
}

.about-buttons {
   grid-column-start: 1;
   grid-column-end: 3;
}

/* POSTS ARCHIVE PAGE */

.archive .entry-meta, .archive .entry-content, .archive .entry-footer {
   display: none !important;
}

.archive .site-main {
   display: grid;
   gap: 1em;
   grid-template-columns: repeat(6, 1fr);
}

.archive .page-header {
   display: none;
}

.archive article img {
   padding: 0.25em;
   border-style: solid;
   border-width: 2px;
   border-color: black;
   aspect-ratio: 3/4;
   object-fit: cover;
   filter: grayscale(100%);
   transition: ease-in-out 0.25s;
}

.archive article img:hover {
   filter: grayscale(0%);
   padding: 0;
}

.archive article.post {
   margin: 0;
}

/* CONTACT */

#contact-page-content h2.wp-block-heading {
   margin: 0.5em 0;
   line-height: 1;
}

#contact-page-content .intro-guidelines p {
   margin: 0.5em 0 1em 0;
}

ul.wp-block-list.guidelines-list {
   margin: 0 0 1.5rem 0;
   padding: 0 0 0 1.5em;
}

.wp-block-list.guidelines-list li {
   font-family: "Inria Serif";
}

.wp-block-list.guidelines-list li {
   list-style-type: square;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
   text-decoration: none;
   font-style: italic;
}

.contact-extra-links {
   max-width: 40em;
   margin: auto;
}

.contact-extra-links #eeb-707721-721104, .contact-extra-links a {
   padding: 0.5em 0.7em;
   background-color: black;
   color: snow;
   text-decoration: none;
}

.contact-extra-links #eeb-707721-721104:hover, .contact-extra-links a:hover {
   font-style: italic;
}

/* CONTACT FORM */

.wpcf7-form {
   border: solid 2px black !important;
   padding: 0 1em;
   margin: 1em 0 0 0;
}

.wpcf7 input {
   font-family: "Inria Serif";
   font-size: small;
   color: darkslategrey;
   padding: 0.5em;
   background-color: transparent;
   border: solid 1px black;
   border-radius: 0;
}

 input.wpcf7-form-control.cf7-subject-input {
   width: 100%;
}

.wpcf7 textarea {
   font-family: "Inria Serif";
   font-size: small;
   color: darkslategrey;
   padding: 0.5em;
   background-color: transparent;
   border: solid 1px black;
   border-radius: 0;
}

.wpcf7 label {
   line-height: 1.5;
}

.wpcf7-textarea, .wpcf7-text {
   background-color: transparent;
   border: solid 1px black;
   border-radius: 0;
   /* width: 80vw; */
}

input[type="submit"] {
   background-color: black;
   color: snow;
   font-size: medium;
   width: fit-content !important;
}

.wpcf7-form > p:nth-child(10) {
   text-align: 50vw;
}

.wpcf7-not-valid-tip {
    color: orangered;
    font-size: medium;
    font-weight: bold;
    display: block;
}
	
span.wpcf7-list-item { 
   display: block; 
}

.wpcf7 form.sent .wpcf7-response-output {
    border: solid 2px black;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output, 
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
   border: solid 2px orangered;
   font-family: "Inria Serif";
   font-weight: normal;
   font-style: normal;
   font-size: medium;
   text-align: center;
   line-height: 1.2;
   width: fit-content;
   padding: 0.5em 0.7em;
}

/* INDIVIDUAL POSTS */

.post-template-default .entry-title {
   display: block;
   margin: 0 0 0.25em 0 !important;
   text-transform: uppercase;
   line-height: 1;
}

.post-template-default .entry-meta {
   display: none;
}

.post-template-default .post-thumbnail, #respond, .post-template-default .entry-footer, .nav-previous, .nav-next {
   display: none;
}

.post-template-default img {
   padding: 0.25em;
   border-style: solid;
   border-width: 2px;
   border-color: black;
   aspect-ratio: 4/3;
   object-fit: cover;
}

.post-template-default p {
   max-width: 40em;
}

.post-template-default .wp-block-post-featured-image img {
   max-height: 75dvh;
}

/* LANGUAGE SWITCHER */

.gt_switcher_wrapper {
   position: absolute !important;
   top: 2.5dvh !important;
   right: 2.5vw !important;
   line-height: 1;
}

.gt_switcher_wrapper > * {
   font-family: "Inria Serif";
   font-weight: normal;
   color: black;
   font-size: 2rem;
}

.gt_switcher_wrapper > *:hover {
   font-family: "Inria Serif";
   font-weight: italic;
   color: black;
   font-size: 2rem;
}

a.glink.gt-current-lang {
   font-weight: bold;
}

.dropdown-menu.sub-menu {
   width: fit-content;
   box-shadow: none;
}

.notranslate.glink.nturl.gt_raw_link-xxjexk {
   width: fit-content;
}

a.gt-current-wrapper.notranslate.glink.nturl.gt_raw_link-xxjexk {
   display: none !important;
}

li.menu-item-gtranslate {
   padding: 0;
}

li.menu-item-gtranslate-child {
   margin: 0.5em 0.7em 0.5em 0;
   padding: 0;
}

.main-navigation ul ul.dropdown-menu {
   display: flex;
   float: none;
   position: static !important;
}

ul.dropdown-menu li:nth-child(1) {
   border-right: solid 2px black;
   padding: 0 0.7em 0 0;
   margin: 0.5em 0.7em;
}

/* FOOTER */

.site-footer {
   background-color: black;
   height: auto;
   padding: 1em;
}

.footer-title, .footer-credits {
   display: flex;
   color: snow;
}

.footer-title {
   flex-direction: column;
   align-items: center;
}

.footer-credits {
   justify-content: space-between;
}

.footer-credits span {
   font-weight: bold;
   font-style: italic;
}

.footer-credits p#cfim {
   text-align: right;
}

.footer-credits p {
   margin: 2em 0 0 0;
   font-size: small;
}

.footer-title h2 {
   margin: 0 0 0em 0;
   text-transform: uppercase;
   line-height: 1;
}

.footer-title h4 {
   margin: 0;
   overflow: hidden;
   text-align: center;
}

h4::before, h4::after {
  background-color: snow;
  content: "............";
  display: inline-block;
  height: 1px;
  position: relative;
  vertical-align: middle;
  width: 50%;
}

h4::before {
  right: 0.25em;
  margin-left: -50%;
}

h4::after {
  left: 0.25em;
  margin-right: -50%;
}

/* MOBILE */
@media (max-width: 600px) {

   .site-branding {
      position: sticky;
      z-index: 9;
      background-color: snow;
      width: 95vw;
      align-items: center;
      margin-bottom: 1em;
   }

   .site-title {
      font-size: 3.5em;
      left: 2.5vw;
      transform: none;
   }

   a#day-night-button, a#fr-button, a#en-button {
      display: none;
   }

   /* --------------- NAVIGATION ------------------ */

   .menu-toggle /* CLOSED MENU */ {
      display: block !important;
      z-index: 11;
      position: absolute;
      top: 2.5dvh;
      right: 2.5vw;
      top: 2rem;
      background: url(assets/burger-menu.svg) no-repeat center;
      width: 50px;
      height: 50px;
      color: transparent;
      border: 0;
      margin: 0;
      padding: 0;
   }
   
   .toggled .menu-toggle /* OPEN MENU */ {
      background: url(assets/close-menu.svg) no-repeat center;
   }

   .menu-navigation-container {
      display: none;
   }

   .main-navigation.toggled .menu-navigation-container {
      display: flex !important;
   }
   
   .main-navigation.toggled ul {
      display: flex !important;
      flex-direction: column;
      justify-content: center;
      align-items: center;
   }
   
   .menu-item-32, .menu-item-31 {
      margin: 0;
   }
   
   .main-navigation.toggled #primary-menu {
      background-color: snow;
      position: fixed;
      top: 0 ;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 10;
   }

   ul.dropdown-menu {
      flex-direction: row !important;
   }

    /* --------------------------------------------- */

   .is-layout-grid {
      display: grid;
      gap: 1em;
      grid-template-columns: repeat(2, 1fr);
   }

   .archive .site-main {
      display: grid;
      gap: 1em;
      grid-template-columns: repeat(2, 1fr);
      margin-bottom: 1em;
   }

   .wp-container-content-0ce81d05 {
      grid-column: span 2;
      grid-row: span 1;
   }

   .home-about-contact-section > * {
      display: flex;
      gap: 1em;
   }

   .home-about-contact-section .biography, .messenger-pigeon {
      flex: 1;
   }

   .biography .wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex, .messenger-pigeon .wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex {
      margin-bottom: 0;
   }
 
   .wp-block-latest-posts__post-excerpt {
      margin-bottom: 1.5em !important;
   }

   input.wpcf7-form-control {
      width: 100%;
   }

   /* ABOUT PAGE - GRID LAYOUT */

   .about-page-content > * {
      display: grid;
      gap: 1em;
      grid-template-columns: 1fr;
   }

   .portrait-photo img {
      grid-column-start: 1;
   }

   .services {
      grid-column-start: 1;
      grid-column-end: 2;
   }

   .about-buttons {
      grid-column-start: 1;
      grid-column-end: 2;
   }

   .post-template-default img {
      padding: 0.25em;
      border-style: solid;
      border-width: 2px;
      border-color: black;
      aspect-ratio: 4/3;
      object-fit: cover;
   }

   .post-template-default .entry-title {
      display: block;
      margin: 0 0 0.25em 0 !important;
      text-transform: uppercase;
      font-size: 3em;
      line-height: 1;
   }
}

/* TABLET */
@media (min-width: 601px) {

   .is-layout-grid {
      display: grid;
      gap: 1em;
      grid-template-columns: repeat(3, 1fr);
   }

   .archive .site-main {
      display: grid;
      gap: 1em;
      grid-template-columns: repeat(3, 1fr);
      margin-bottom: 1em;
   }

   .wp-container-content-0ce81d05 {
      grid-column: span 3;
      grid-row: span 1;
   }

   .home-about-contact-section > * {
      display: flex;
      gap: 1em;
   }

   .home-about-contact-section .biography, .messenger-pigeon {
      flex: 1;
   }

   .biography .wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex, .messenger-pigeon .wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex {
      margin-bottom: 0;
   }

   .wp-block-latest-posts__post-excerpt {
      margin-bottom: 0em !important;
   }

   .wp-block-latest-posts.columns-3 li {
      width: calc(33.33333% - .66666em);
   }

   .wp-block-latest-posts__post-title {
      font-size: x-large;
   }
}

@media (min-width: 769px) {

   .archive .site-main {
      display: grid;
      gap: 1em;
      grid-template-columns: repeat(4, 1fr);
      margin-bottom: 1em;
   }

    .wp-block-latest-posts__post-title {
      font-size: xx-large;
   }

   .home-about-contact-section > * {
      display: flex;
      gap: 1em;
   }

   .biography .wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex, .messenger-pigeon .wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex {
      margin-bottom: 0;
   }

   .home-about-contact-section .biography, .messenger-pigeon {
      flex: 1;
   }

   /* CONTACT PAGE */

   #contact-page-content > .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {
      display: flex;
      gap: 1em;
   }

   #contact-page-content .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained > * {
      flex: 1;
   }
}

/* DESKTOP */
@media (min-width: 993px) {

   .is-layout-grid {
      display: grid;
      gap: 1em;
      grid-template-columns: repeat(4, 1fr);
   } 

   .archive .site-main {
      display: grid;
      gap: 1em;
      grid-template-columns: repeat(5, 1fr);
      margin-bottom: 1em;
   }

   .wp-container-content-0ce81d05 {
      grid-column: span 1;
      grid-row: span 3;
   }

   .home-about-contact-section > * {
      display: flex;
      flex-direction: column;
   }

   .home-about-contact-section .wp-block-button {
      margin-bottom: 1em;
   }

   .about-page-content > * {
      display: grid;
      gap: 1.5em;
      grid-template-columns: 1fr 2fr;
   }

   .portrait-photo {
      grid-row-start: 1;
      grid-row-end: 4;
   }

   .services {
      grid-column-start: 2;
      grid-column-end: 3;
   }

   .about-buttons {
      grid-column-start: 2;
      grid-column-end: 3;
   }

}

@media (min-width: 1280px) {
 
   .archive .site-main {
      display: grid;
      gap: 1em;
      grid-template-columns: repeat(6, 1fr);
      margin-bottom: 1em;
   }
}