/*
 Theme Name:   GeneratePerf
 Theme URI:    https://generatepress.com/premium/?ref=4657
 Description:  GeneratePress child theme optimized for web performance and SEO. Includes advanced functionalities that does not impact loading times and improve website architecture.
 Author:       Agence Web Performance
 Author URI:   https://agencewebperformance.fr/
 Template:     generatepress
 Text Domain:  generateperf
 Version:      1.8.4
*/

/*--------------------------------------------------------------
# Global improvements over GeneratePress main.css
--------------------------------------------------------------*/

/**
 * Set links backgroud to transparent in Chrome.
 */

html {
  -webkit-tap-highlight-color: transparent;
}

/**
 * Add external icons to _blank links.


 .entry-content p a[target="_blank"]::after,
 .entry-content li a[target="_blank"]::after {
   display: inline-block;
   margin-left: .25em;
   width: .75em;
   height: .75em;
   vertical-align: -.125em;
   content: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z" fill="%231B42D1"/></svg>');
 }
  */

/**
 * Add a cursor to logo since link is managed by JS.
 */

 .site-branding-container {
  cursor: pointer;
}

/**
 * Display a rounded image on authors pages main title avatar.
 */

h1 img {
	border-radius: 50%;
}

/**
 * Center navigation and provide a generic class to center elements.
 */

.paging-navigation,
.text-center {
  text-align: center;
}

/**
 * Correct a bad margin on featured images.
 */

.no-featured-image-padding .featured-image {
  margin-left: 0 !important;
}

/**
 * Add a top margin to right sidebar on desktop.
 */

@media(max-width: 768px) {
  .sidebar {
    margin-top: 40px;
  }
}

/**
 * Prevent useless repaints and reflows.
 */

.sidebar,
.widget {
  contain: layout style;
}

/*--------------------------------------------------------------
# Web performance optimization
--------------------------------------------------------------*/

/**
 * Prevent image rendering when unnecessary.
 */

img[width][height] {
  content-visibility: auto;
}

/**
 * Prevent footer rendering on initial rendering.
 */

.site-footer {
  content-visibility: auto;
  contain-intrinsic-size: 400px;
}

@media(min-width: 768px) {
  .site-footer {
    contain-intrinsic-size: 300px;
  }
}

/**
 * Optimize Google Ads inserts to prevent CLS.
 */

.site-content ins {
  contain: content;
  display: block;
  height: 280px;
  width: 100%;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}

/**
 * Reduce CLS and layout changes with embeds
 */

.instagram-media,
.twitter-tweet,
.tiktok-embed {
	contain: content;
  min-height: 300px;
}

/*--------------------------------------------------------------
# Specific to GeneratePerf
--------------------------------------------------------------*/

/**
 * Prevent vertical scroll when overlay is activated.
 */

body.overlayed {
  overflow: hidden;
  height: 100%;
}

/**
 * Increase main area padding with right sidebar.
 */

@media(min-width: 769px){
  .one-container.right-sidebar .site-main, .one-container.both-right .site-main {
    margin-right: 40px;
  }
}

/**
 * Improve icons alignment.
 */

svg.icon {
  vertical-align: top;
}

/**
 * Mimic native <a> effect on hover.
 */

[data-goto]:hover,
[data-share-url]:hover,
.gb-query-loop-item {
  cursor: pointer;
}

[data-goto]:not(.button):not(.gb-button):hover {
  text-decoration: underline;
}

/**
 * Class used on some interface elements.
 */

.o50 {
  opacity: 50%;
}

/**
 * Top progress bar styling (option in GeneratePerf).


.progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  max-width: 100%;
  z-index: 99999;
  height: 5px;
}
 */

/**
 * Subtitles styling (option in GeneratePerf).
 */

p[role="doc-subtitle"] {
  margin-top: 1em;
}

/**
 * Display featured image caption in articles (option in GeneratePerf).
 */

.featured-image + .caption {
  text-align: right;
  opacity: .75;
  padding-right: 60px;
  line-height: .9em;
  margin-top: -.75em;
}

@media(min-width: 768px) {
.featured-image + .caption {
  margin-top: -1.5em;
}
}

/**
 * Add GeneratePerf border-radius option on interface elements.
 */

button, input, textarea {
  border-radius: var(--border-radius) !important;
}

/*--------------------------------------------------------------
# Custom : enter your personal code under
--------------------------------------------------------------*/

.menu-item svg {
  vertical-align: sub;
}

@media(min-width: 768px) {

  #menu-menu-principal > li > a {
    border-bottom: 3px solid transparent;
  }
  
  #menu-menu-principal > li:hover > a,
  #menu-menu-principal > li.current-menu-item > a {
    border-bottom-color: var(--darker);
  }

  #menu-menu-principal > li {
    margin-right: 1.5em;
  }
}

.menu-toggle {
  margin-left: 1.5em;
  background-color: transparent !important;
}

.has-inline-mobile-toggle #site-navigation.toggled {
  background-color: transparent !important;
}

.toc,
.site-header,
.related-article,
.social-share .button,
.author-box,
.wp-block-post,
.generate-columns-container .inside-article,
.wp-block-latest-posts__list li {
  box-shadow: 0 5px 10px 0 rgb(153 160 175 / 10%);
}

.site-footer ul {
  margin-left: 0;
  list-style: none;
}

.entry-content a:not(.wp-block-latest-posts__post-title):not(.gb-container):not(.gb-button):not(.simple):not(.author-name):not(.related-article) {
  border-bottom: 3px solid var(--accent);
}

.entry-content a:not(.wp-block-latest-posts__post-title):not(.gb-container):not(.gb-button):not(.simple):not(.author-name):not(.related-article):hover {
  border-bottom-color: var(--darker);
}

@media(min-width: 768px) {
  h2:not(.author-name):not(.entry-title):not(.simple) {
    display: grid;
    grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
    align-items: center;
    text-align: center;
    grid-gap: 20px;
    width: 100%;
    overflow: hidden;
  }
  
  h2:not(.author-name):not(.entry-title):not(.simple) strong,
  h2:not(.author-name):not(.entry-title):not(.simple) b,
  h2:not(.author-name):not(.entry-title):not(.simple) span {
    display: contents;
  }
  
  h2:not(.author-name):not(.entry-title):not(.simple):before,
  h2:not(.author-name):not(.entry-title):not(.simple):after {
    content: '';
    border-top: 3px solid;
    color: var(--accent);
  }
}

h3 {
  border-left: 3px solid var(--darker);
  padding-left: 1em;
}

.related-article {
  display: flex;
  gap: 1em;
  flex-direction: row;
  margin-top: 2em;
  margin-bottom: 2em;
  border: 1px solid var(--base);
  padding: 1em;
  border-radius: var(--border-radius);
  align-items: center;
  justify-content: space-between;
  background-color: var(--base-3);
}

.related-article:hover {
  color: var(--darker);
  border-color: currentColor;
}

.related-article .label {
  font-weight: 600;
  white-space: nowrap;
}

.related-article .title {
  font-size: .9em;
}

.horizontal-news .gb-icon svg {
  animation: 2000ms blink ease infinite ;
}

@keyframes blink {
  0% {
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
}

.wp-block-tag-cloud a {
  font-size: .9em !important;
  border: 1px solid var(--base-3);
  padding: 6px 12px;
  margin: 0 10px 10px 0;
  border-radius: 8px;
}

.wp-block-tag-cloud a:hover {
  color: var(--darker);
  background-color: var(--base-3);
}