/*
Theme Name: Somaloir
Theme URI: https://www.creatile.fr
Author: the WordPress team
Author URI: https://www.creatile.fr
Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain: somaloir
xfflag

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
*, ::after, ::before {
    box-sizing: border-box;
}

html {
	font-size: .94rem;
}

body {
  color: #424242;
  font-family: 'Open Sans', sans-serif;
  margin: 0;
  line-height: 1.5;
}


h1, .h1 {
  font-size: 2.3rem;
  margin: .8rem 0;
  line-height: 1.1;
  font-family: 'Bebas Neue', cursive;
  font-weight: 400;
}

h2, .h2 {
  font-size: 1.8rem;
  margin: .8rem 0;
  font-family: 'Bebas Neue', cursive;
  line-height: 1.1;
  font-weight: 400;
}

h3, .h3 {
  font-size: 1.3rem;
  margin: .6rem 0;
  line-height: 1.1;
  font-family: 'Bebas Neue', cursive;
  font-weight: 400;
}

h4, .h4 {
  font-size: 1.1rem;
  margin: .5rem 0;
  font-family: 'Bebas Neue', cursive;
  font-weight: 400;
}

h5, .h5 {
  font-size: 1rem;
  margin: .5rem 0;
}

h6, .h6 {
  font-size: .9rem;
  margin: .5rem 0;
}

p {
  margin-bottom: .8rem;
  margin-top: .8rem;
}
a {
  text-decoration: none;
  color: #2973FF;
}

a:hover {
  color: #1058de;
}

img {
  max-width: 100%;
  height: auto;
}

strong, b{
  font-weight: 600;
}

@media only screen and (min-width: 40em) {
  p {
    margin-top: .8rem;
    margin-bottom: 1rem;
  }

  h1, .h1 {
    font-size: 3rem;
  }

  h2, .h2 {
    font-size: 2rem;
  }

  h3, .h3 {
    font-size: 1.4rem;
  }

  h4, .h4 {
    font-size: 1.2rem;
  }

  h5, .h5 {
    font-size: 1rem;
  }
}

.text-bold {
  font-weight: 700;
}

.text-xbold {
  font-weight: 800;
}

.text-blue {
  color: #2973FF;
}

.has-blue-color {
	color: #2973FF;
}

.has-blue-background-color {
	background-color: #2973FF;
}

.has-white-color {
  color: #FFFFFF;
}

.has-white-background-color {
  color: #FFFFFF;
}

.has-green-color {
	color: #39C3AD;
}

.has-green-background-color {
	background-color: #39C3AD;
}

.has-yellow-color {
  color: #FFC600;
}

.has-yellow-background-color {
	background-color: #FFC600;
}

.has-transparent-color {
  color: inherit;
}

.has-yellow-background-color {
	background-color: transparent;
}

.has-gray-color {
  color: #ECECEC;
}

.has-gray-background-color {
	background-color: #ECECEC;
}


hr {
  border: inherit;
  border-bottom: solid 1px #ECECEC;
  padding: 0;
  margin: 1.4rem 0;
}

.button, .wp-block-button__link {
  display: inline-block;
  background-color: transparent;
  font-family: 'Bebas Neue', cursive;
  font-size: 1.4rem;
  border: solid 2px #2973FF;
  color: #2973FF;
  border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
  margin: 1rem 0;
  padding: .7rem 2rem .45rem;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 400;
  cursor: pointer;
  vertical-align: middle;
}

.button:hover, 
.wp-block-button__link:hover {
  background-color: #2973FF;
  color: #FFFFFF;
}

.button.has-blue-background-color, 
.wp-block-button__link.has-blue-background-color {
  background-color: #2973FF;
  border-color: #39C3AD;
}

.button.has-blue-background-color:hover, 
.wp-block-button__link.has-blue-background-color:hover {
  background-color: #39C3AD;
  color: #FFFFFF;
}

.button.has-green-background-color, 
.wp-block-button__link.has-green-background-color {
  background-color: #39C3AD;
  border-color: #2973FF;
}

.button.has-green-background-color:hover, 
.wp-block-button__link.has-green-background-color:hover {
  background-color: #2973FF;
  color: #FFFFFF;
}

.button.has-yellow-background-color, 
.wp-block-button__link.has-yellow-background-color {
  border-color: #FFBA00;
  color: #FFFFFF;
  background-color: #FFBA00;
}

.button.has-yellow-background-color:hover, 
.wp-block-button__link.has-yellow-background-color:hover {
  background-color: #FFBA00;
  color: #FFFFFF;
}

.wp-block-button__link.has-white-color {
  color: #FFFFFF;
}

iframe {
  display: block;
  max-width: 100%;
}

video {
  /* override other styles to make responsive */
  width: 100%    !important;
  height: auto   !important;
}

.video-responsive { 
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  width: 100%;
}

.video-credits {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  display: inline-block;
  z-index: 3;
  font-size: .9rem;
}

.video-started .video-credits{
  display: none;
}

.video-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/*UTILITIES*/

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

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

@media only screen and (min-width: 40em) {
  .text-center--small {
    text-align: inherit;
  }
}

.hidden-for-mobile {
  display: none !important;;
}

@media only screen and (min-width: 40em) {
  .hidden-for-mobile {
    display: block !important;
  }
}

@media only screen and (min-width: 64em) {
  .desktop-hidden {
    display: none !important;
  }
}

.desktop-visible {
  display: none !important;
}

@media only screen and (min-width: 64em) {
  .desktop-visible {
    display: block !important;
  }
}

.mobile-hidden {
  display: none !important;
}

@media only screen and (min-width: 40em) {
  .mobile-hidden {
    display: block !important;
  }
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/*LAYOUT GRID*/

.grid-x {
  display: flex;
  flex-flow: row wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
}

.small-column-reverse {
  flex-flow: column-reverse wrap;
}

@media only screen and (min-width: 40em){
  .small-column-reverse {
    flex-flow: row nowrap;
  }
}

.cell {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
}

.grid-x .small-6 {
  width: calc(50%);
}

.grid-x .auto {
  width: auto;
}

@media only screen and (min-width: 40em){
  .grid-x .medium-9 {
    width: 75%;
  }

  .grid-x .medium-8 {
    width: 66.66667%;
  }

  .grid-x .medium-7 {
    width: 58.33%;
  }

  .grid-x .medium-6 {
    width: 50%;
  }

  .grid-x .medium-5 {
    width: 41.66%;
  }

  .grid-x .medium-4 {
    width: 33.33%;
  }

  .grid-x .medium-3 {
    width: 25%;
  }
}

@media only screen and (min-width: 64em){
  .grid-x .large-9 {
    width: 75%;
  }
  
  .grid-x .large-8 {
    width: 66.66667%;
  }

  .grid-x .large-6 {
    width: 50%;
  }

  .grid-x .large-5 {
    width: 41.66%;
  }

  .grid-x .large-4 {
    width: 33.33%;
  }

  .grid-x .large-3 {
    width: 25%;
  }

  .grid-x .large-auto {
    width: auto;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
  }
}

.grid-padding-x .cell {
  padding-right: 7px;
  padding-left: 7px;
}

@media only screen and (min-width: 40em){
  .grid-padding-x .cell {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media only screen and (min-width: 64em){
  .grid-padding-x .cell {
    padding-right: 16px;
    padding-left: 16px;
  }
}

.grid-margin-x {
  margin-left: -7px;
  margin-right: -7px;
}

.grid-margin-x .cell {
  margin-left: 7px;
  margin-right: 7px;
  width: calc(100% - 14px);
}

.grid-margin-x .auto {
  width: auto;
}

.grid-margin-x .small-6 {
  width: calc(50% - 14px);
}

@media only screen and (min-width: 40em){
  .grid-margin-x .medium-9 {
    width: calc(75% - 14px);
  }

  .grid-margin-x .medium-8 {
    width: calc(66.66667% - 14px);
  }

  .grid-margin-x .medium-7 {
    width: calc(58.33% - 14px);
  }

  .grid-margin-x .medium-6 {
    width: calc(50% - 14px);
  }

  .grid-margin-x .medium-5 {
    width: calc(41.66% - 14px);
  }

  .grid-margin-x .medium-4 {
    width: calc(33.33% - 14px);
  }

  .grid-margin-x .medium-3 {
    width: calc(25% - 14px);
  }
}

@media only screen and (min-width: 64em){
  .grid-margin-x .large-8 {
    width: calc(66.66667% - 14px);
  }

  .grid-margin-x .large-6 {
    width: calc(50% - 14px);
  }
  
  .grid-margin-x .large-5 {
    width: calc(58.33% - 14px);
  }

  .grid-margin-x .large-4 {
    width: calc(33.33% - 14px);
  }
  
  .grid-margin-x .large-3 {
    width: calc(25% - 14px);
  }

  .grid-x .large-auto {
    width: auto;
  }
}

.wrap {
  width: 100%;
  max-width: 1052px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 14px;
}


/*MISC*/
ul.menu {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  flex-direction: column;
  flex-wrap: wrap;
}

ul.menu li {
  padding: 0;
}

ul.menu li a {
  display: block;
  padding: .5rem;
}

ul.menu.vertical {
  flex-direction: column;
}

ul.menu.vertical li {
  width: 100%;
}

@media only screen and (min-width: 64em) {
  ul.menu.large-horizontal {
    flex-direction: row;
  }
}

ul.menu li a {
  display: block;
}

.section::after,
.clearfix::after {
  clear: both;
}

.section::before,
.clearfix::before {
  content: "";
  display: table;
}

.section-title {
  text-align: center;
  position: relative;
  font-size: 2rem;
  padding-bottom: 1rem;
}

.section-title::after {
  content: "";
  text-align: center;
  display: inline-block;
  position: absolute;
  bottom: 0;
  width: 60px;
  height: 4px;
  background-color: #FFC600;
  left: 50%;
  margin-left: -30px;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

/*LATERAL MENU*/
.lateral-menu {
  display: none;
  padding-top: 0;
  left: 100%;
  position: fixed;
  flex-direction: column;
  top: 0;
  bottom: 0;
  left: -100%;
  z-index: 100000;
  width: 100%;
  max-width: 100%;
  height: 100%;
  background: #2973FF;
  visibility: hidden;
  text-align: left;
  overflow-y: auto;
}

.lateral-menu .mobile-logo {
  margin-bottom: 1rem;
}

.lateral-menu .mobile-logo img {
  width: 8rem;
  margin: .5rem 14px;
}

.lateral-menu ul {
  border-top: solid 1px #8FACE1;
}

.lateral-menu ul li {
  border-bottom: solid 1px #8FACE1;
  position: relative;
}

.lateral-menu ul li a {
  color: #8FACE1;
  font-family: 'Bebas Neue', cursive;
  font-size: 2rem;
  font-weight: 400;
  padding: .8rem 9%;
  position: relative;
  line-height: 1.1em;
}

.lateral-menu ul li a:hover, 
.lateral-menu ul li.current_page_item a, 
.lateral-menu ul li.current_page_item a:hover {
  color: #FFFFFF;
}

.lateral-menu ul li.current_page_item a::before {
  content: "";
  display: block;
  width: 8px;
  background-color: #FFC600;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
}

.lateral-menu ul li.current_page_item:last-child a {
  color: #89AFE6;
}

.lateral-menu ul li.current_page_item:last-child:hover a {
  color: #FFFFFF;
}

.lateral-menu ul li.current_page_item:last-child a::before {
  display: none;
}

.site.menu-active .lateral-menu{
  display: flex;
  transform: translateX(100%);
  -moz-transform: translateX(100%);
  -webkit-transform: translateX(100%);
  visibility: visible;
}

@media only screen and (min-width: 64em) {
  .lateral-menu {
    display: none !important;
  }
}


/*HEADER MENU*/

.primary-menu ul li {
  position: relative;
}

.primary-menu ul li a {
  text-transform: uppercase;
  font-family: 'Bebas Neue', cursive;
  color: #89AFE6;
  padding: .8rem;
  font-size: 1.2rem;
}

.primary-menu ul li.current_page_item a, 
.primary-menu ul li:hover a {
  color: #FFFFFF;
}

.primary-menu ul li:last-child a:hover {
  color: #FFFFFF;
}

.primary-menu ul li.current_page_item a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -30%;
  height: 4px;
  background-color: #FFC600;
  width: 60%;
  border-radius: 5px;
}

.primary-menu ul li.current_page_item:last-child a {
  color: #89AFE6;
}

.primary-menu ul li.current_page_item:last-child:hover a {
  color: #FFFFFF;
}

.primary-menu ul li.current_page_item:last-child a::after {
  display: none;
}

@media only screen and (min-width: 40em) {
  .primary-menu ul li a {
    padding: .8rem 1rem;
  }
}

@media only screen and (min-width: 64em) {
  .primary-menu {
      margin-bottom: 1rem;
  }
  .primary-menu ul li a {
    padding: .8rem 1.5rem;
  }
}

.page-header {
  padding: 3rem 0;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media only screen and (min-width: 40em){
  .page-header {
    padding: 5rem 0;
  }
}

@media only screen and (min-width: 64em){
  .page-header {
    padding: 7rem 0;
  }
}

.page-header.with-background::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  background: rgba(0,0,0,0.2);
}

.page-title {
  position: relative;
  padding-bottom: 1rem;
  z-index: 3;
  color: #000000;
}

.page-header.with-background .page-title {
  color: #FFFFFF;
}

.page-title::after {
  content: "";
  text-align: center;
  display: inline-block;
  position: absolute;
  bottom: 0;
  width: 60px;
  height: 6px;
  background-color: #FFC600;
  left: 50%;
  margin-left: -30px;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.page-content h2, 
.page-content .h2{
  color: #2973FF
}

.page-content h3, 
.page-content .h3{
  color: #FFBA00
}

.site-branding img {
  width: 8rem;
  transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  padding-top: .5rem;
  padding-bottom: .5rem;
}

.site-branding a {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
}

@media only screen and (min-width: 40em){
  .site-branding img {
    width: 9rem;
  }
}

@media only screen and (min-width: 64em){
  .site-branding img {
    width: 11rem;
  }
}

.site-burger {
  position: absolute;
  display: block;
  top: 50%;
  right: 1.5rem;
  width: 50px;
  height: 50px;
  margin-top: -25px;
}

.site.menu-active .site-burger {
  position: fixed;
  z-index: 100000;
  top: 3rem;
}

.hamburger {
  padding: 12px 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}

.hamburger:hover {
  opacity: 0.7;
}

.hamburger.is-active:hover {
  opacity: 0.7;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #FFC600;
}

.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
  width: 40px;
  height: 5px;
  background-color: #FFC600;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before, 
.hamburger-inner::after {
  content: "";
  display: block;
  width: 40px;
  height: 5px;
  background-color: #FFC600;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before {
  top: -10px;
}

.hamburger-inner::after {
  bottom: -10px;
}

.hamburger--slider .hamburger-inner {
  top: 2px;
}

.hamburger--slider .hamburger-inner::before {
  top: 10px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}

.hamburger--slider .hamburger-inner::after {
  top: 20px;
}

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner::after {
  transform: translate3d(0, -20px, 0) rotate(-90deg);
}

/*HEADER*/

.top-first--widget {
  color: #FFC600;
  font-family: 'Bebas Neue', cursive;
  margin: 1rem;
  font-size: 1.3rem;
}

.top-first--widget p {
  margin: 0;
  padding: .6rem;
}

.top-second--widget {
  margin: 1rem;
  font-size: 1rem;
}

.top-second--widget a {
  background-color: #3ACFB8;
  color: #FFFFFF;
  font-family: 'Bebas Neue', cursive;
  text-transform: uppercase;
  display: inline-block;
  padding: .4rem 1.6rem .3rem 1.6rem;
  border-radius: 2rem;
  font-size: 1.2rem;
  margin: 0 .8rem;
}

.site-top {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  height: 100%;
  align-items: center;
  margin-right: 3.5rem;
}

@media only screen and (min-width: 64em) {
  .site-top {
    margin-right: .8rem;
  }
}

.site-top--third, 
.site-top--third .top-third--widget, 
.site-top--third ul, 
.site-top--third ul li {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.site-menus {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.site-header {
  position: relative;
  background-color: #2973FF;
  color: #FFFFFF;
}

@media only screen and (min-width: 40em){
  .site-header.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    right: 0;
    z-index: 5;
    box-shadow: 1px 1px 1px 2px rgba(14, 79, 199, 0.5);
    -moz-box-shadow: 1px 1px 1px 2px rgba(14, 79, 199, 0.5);
    -webkit-box-shadow: 1px 1px 1px 2px rgba(14, 79, 199, 0.5);
  }

  .site-header.sticky .site-menus {
    justify-content: center;
  }

  .site-header.sticky .site-branding img {
    width: 6rem;
    height: auto;
  }

  .site-header.sticky .primary-menu {
    margin-bottom: 0;
  }

  .site-header.sticky .site-top {
    display: none;
  }
}


/*CONTENT*/

.site-content {
  background-color: #FFFFFF;
  color: #666666;
}

.page-template-page-home .page-content h1 {
  position: relative;
  padding-bottom: 1rem;
  z-index: 3;
  color: #FFFFFF;
  font-size: 2.5rem;
  margin: 2rem 0;
}

.page-template-page-home .site-main a {
  color: #FFFFFF;
}

.page-template-page-home .page-content h1::after {
  content: "";
  text-align: center;
  display: inline-block;
  position: absolute;
  bottom: 0;
  width: 60px;
  height: 6px;
  background-color: #FFC600;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  left: 50%;
  margin-left: -30px;
}

.page-template-page-home .page-content {
  text-align: center;
}

.page-template-page-home .plyr__video-wrapper {
  background-color: #2973FF;
}


.page-template-page-home .site-content {
  background: #2973FF;
  color: #FFFFFF;
}

.page-template-page-home .page-title:after {
  left: 0;
  margin-left: 0;
}

@media only screen and (min-width: 40em){
  .page-template-page-home .page-content {
    text-align: inherit;
    padding-top: 3rem;
  }
  .page-template-page-home .page-content h1::after {
    left: 0;
    margin-left: 0;
  }
}

.page-template-default .page-content {
  margin: 0 auto;
  padding: 1rem 0;
}

@media only screen and (min-width: 40em){
  .page-template-default .page-content {
    padding: 2rem 0;
  }
}

.page-template-page-news .page-content {
  margin: 0 auto;
  padding: 1rem 14px;
}

@media only screen and (min-width: 40em){
  .page-template-page-news .page-content {
    padding: 2rem 14px;
  }
}

.page-template-page-news .news-list {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.page-template-page-news .news-list .post-teaser:last-child hr{
  display: none;
}

@media only screen and (min-width: 40em){
  .page-template-page-news .news-list {
    margin-top: 2.8rem;
    margin-bottom: 2.8rem;
  }
}

@media only screen and (min-width: 64em){
  .page-template-page-news .news-list {
    margin-top: 3.8rem;
    margin-bottom: 3.8rem;
  }
}


.page-id-17 .plyr--video,
.page-id-17 .plyr__video-wrapper {
  background-color: #FFFFFF;
}

/*SINGLE*/
.single-header {
  background-image: url('images/infos-somaloir.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  padding: 8vw 0;
}

.single-header::after {
  display: block;
  background: rgba(0,0,0,0.2);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.single-header .page-title {
  color: #FFFFFF;
}

.single-title {
  color: #2973FF;
  margin: 2rem 0 1.8rem;
}

@media only screen and (min-width: 40em){
  .single-title {
    margin: 3rem 0 2.8rem;
  }
}

@media only screen and (min-width: 64em){
  .single-title {
    margin: 3.8rem 0 3.6rem;
  }
}

.single-content h2, 
.single-content .h2 {
  color: #FFBA00;
  font-family: 'Open Sans', sans-serif;
  margin: 2rem 0 1rem 0;
}

.single-content h3, 
.single-content .h3 {
  color: #2973FF;
  font-family: 'Open Sans', sans-serif;
  margin: 1.5rem 0 .8rem 0;
}

.single-content h4, 
.single-content .h4 {
  color: #000000;
  font-family: 'Open Sans', sans-serif;
}

.single-content ul, 
.page-content ul {
  list-style: none; /* Remove default bullets */
  margin-left: 0;
  padding-left: 1em;
}

.single-content ul li::before, 
.page-content ul li::before {
  content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: #FFBA00; /* Change the color */
  font-weight: bold; /* If you want it to be bold */
  display: inline-block; /* Needed to add space between the bullet and the text */
  width: 1em; /* Also needed for space (tweak if needed) */
  margin-left: -1em; /* Also needed for space (tweak if needed) */
}

.single .post {
  margin-bottom: 3rem;
}

.single-posted {
  color: #A7A7A7;
  margin: 1rem 0;
}

.post-teaser {
  position: relative;
}

.post-teaser--date {
  color: #A7A7A7;
}

.post-teaser--image {
  margin: .7rem auto;
}

.post-teaser--image img {
  width: 100%;
}

@media only screen and (min-width: 40em){
  .post-teaser--image {
    margin-bottom: 0;
    max-width: 350px;
  }
  .post-teaser--image img {
    width: auto;
  }
}

.post-teaser:last-child {
  border-color: transparent;
}

.post-teaser--title {
  color: #2973FF;
  font-size: 1.8rem;
}

.wp-block-image {
  margin: 2rem 0;
}

/*LATEST POST WIDGET*/
.latest-post-widget img {
  width: 100%;
  margin-bottom: 1.5rem;
}

.latest-post-widget .h2 {
  margin-top: 0;
}

.latest-post-widget .button {
  color: #FFFFFF;
}

@media only screen and (min-width: 40em){
  .latest-post-widget .cell{
    margin: 0 20px;
    width: calc(50% - 40px);
  }
}

/*MAP LINES*/
.map-lines {
  background-color: #77B8FF;
  padding: 1rem 0;
}

@media only screen and (min-width: 40em){
  .map-lines {
    padding: 1rem;
  }

  .map-lines--inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 0;
  }

  .one {
    grid-column: 1;
    grid-row: 1;
  }

  .two { 
    grid-column: 2 / 4;
    grid-row: 1 / 8;
  }

  .three {
    grid-column: 1;
    grid-row: 2 / 8;
  }
}

@media only screen and (min-width: 64em){
  .map-lines {
    padding: 0;
  }
}

.map-lines .widget-title {
  text-align: center;
  color: #FFFFFF;
  width: 240px;
  margin: 1rem auto 2rem auto;
}

@media only screen and (min-width: 40em){
  .map-lines .widget-title {
    margin: 2rem auto 1rem auto;
    text-align: left;
  }
}

@media only screen and (min-width: 40em){
  .map-lines .widget-title {
    margin: 3rem auto 1rem auto;
  }
}

.map-lines--first--widgets {
  width: 100%;
  margin: 0 auto 3rem auto;
  display: grid;
  flex-wrap: wrap;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
}

@media only screen and (min-width: 40em){
  .map-lines--first--widgets {
    display: flex;
    flex-direction: column;
    max-width: 240px;
    justify-content: space-around;
  }
}

.map-first--widget {
  font-size: .8rem;
  margin: 1rem .7rem;
  position: relative;
  width: calc(100% - 1.4rem );
  height: calc(100% - 1.4rem );
  background: #D3E5F0;
  background: linear-gradient(to right, #D3E5F0, #BCCCE3);
}

@media only screen and (min-width: 40em){
  .map-first--widget {
    width: 100%;
    margin: 1rem 0;
  }
}

.map-first--widget .textwidget {
  color: #214A80;
  padding: .5rem 1.7rem .4rem 1.7rem;
  position: relative;
}

.map-first--widget .textwidget p {
  margin: 0;
}

.map-first--widget .textwidget:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 30px 0 0;
  border-color: #007bff transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
}

.map-first--widget:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 30px 30px;
  border-color: transparent transparent #77B8FF transparent;
  bottom: 0;
  right: 0;
  position: absolute;
}

.map-first--widget strong{
  font-weight: 400;
}

.map-first--widget.red .textwidget:before {
  border-color: #E50146 transparent transparent transparent;
}

.map-first--widget.red strong {
  color: #E50146;
}

.map-first--widget.orange .textwidget:before {
  border-color: #EC6608 transparent transparent transparent;
}

.map-first--widget.orange strong {
  color: #EC6608;
}

.map-first--widget.green .textwidget:before {
  border-color: #52AE32 transparent transparent transparent;
}

.map-first--widget.green strong {
  color: #52AE32;
}

.map-first--widget.blue .textwidget:before {
  border-color: #0092D6 transparent transparent transparent;
}

.map-first--widget.blue strong{
  color: #0092D6;
}

.map-first--widget .line-title {
  background-color: #EC6608;
  color: #FFFFFF;
  padding: .5rem;
  margin: 0;
  font-size: 1.2rem;
  text-align: center;
}

.map-first--widget.red .line-title {
  background-color: #E50146;
}

.map-first--widget.green .line-title {
  background-color: #52AE32;
}

.map-first--widget.blue .line-title {
  background-color: #0092D6;
}

.map-first--widget.orange .line-title {
  background-color: #EC6608;
}

.map-lines--second {
  display: flex;
  height: 100%;
  width: 94%;
  margin: auto;
  max-width: calc(100% - 1rem);
  justify-content: center;
  align-items: center;
}

@media only screen and (min-width: 40em) {
  .map-lines--second {
    width: 100%;
    max-width: 100%;
    padding: 2rem 0 2rem 2rem;
    overflow: hidden;
  }
}

@media only screen and (min-width: 64em) {
  .map-lines--second {
    padding: 0;
  }
}

.map-second--widget {
  display: flex;
  width: 100%;
  margin: 0 auto 2rem 0;
  padding-bottom: 100%;
  height: auto;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  position: relative;
  overflow: hidden;
  border: solid 2px #FFFFFF;
}

.map-second--widget img {
  height: 100% !important;
  width: auto;
  max-width: inherit;
  display: block;
  position: absolute;
  max-width: inherit !important;
}

@media only screen and (min-width: 64em) {
  .map-second--widget {
    width: 100%;
    height: auto;
    border: inherit;
    -moz-border-radius: inherit;
    -webkit-border-radius: inherit;
    border-radius: inherit;
    margin: auto;
    padding: 0;
  }
  .map-second--widget img {
    position: relative;
    width: 100%;
  }
}

/*WIDGETS*/
.widget-title {
  font-family: 'Bebas Neue', cursive;
  font-weight: 400;
  font-size: 2.5rem;
  text-align: center
}

.widget-title::after {
  content: "";
  display: block;
  width: 60px;
  background-color: #FFBA00;
  height: 6px;
  margin: auto;
  margin-top: .5rem;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  margin-left: -30px;
  left: 50%;
  position: relative;
}

@media only screen and (min-width: 40em) {
  .widget-title {
    text-align: left;
  }
  
  .widget-title::after {
    margin-left: 0;
    left: 0;
  }
}


/*SIDEBAR BOTTOM*/
#contact {
  background-color: #39C3AD;
  color: rgba(41, 116, 255, 0.99);
}

.bottom-2--widget {
  padding: 0 10%;
  margin: 0;
  height: 100%;
}

.bottom-2--widget .widget-title {
  color: #FFFFFF;
  margin-bottom: 1.2rem;
  margin-top: 10%;
}

.bottom-2--widget .widget-title::after {
  content: "";
  display: block;
  width: 60px;
  background-color: #FFBA00;
  height: 6px;
  margin-top: .6rem;
  margin-left: -30px;
  left: 50%;
}

@media only screen and (min-width: 40em){
  .bottom-2--widget .widget-title::after {
    left: 0;
    margin-left: 0;
  }
}

.bottom-2--widget .textwidget {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: calc(100% - 1rem);
  padding-bottom: 1rem;
}

@media only screen and (min-width: 40em){
  .bottom-2--widget .textwidget {
    justify-content: space-around;
    align-items: flex-start;
  }
}

/*Featured_first*/

.featured-first {
  background-color: #39C3AD;
  color: #FFFFFF;
  padding: 3rem 0;
}

.featured-first .widget-title {
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 3rem;
}

.featured-first .widget-title::after {
  left: 50%;
  margin-left: -30px;
}

.featured-second--widget p {
  margin: 0;
}

@media only screen and (min-width: 64em){
  .featured-first .widget-title {
    margin-bottom: 4rem;
  }
}

/*MAP*/
#mapid {
  height: 50vh;
  min-height: 500px;
  width: 100%;
  z-index: 2;
}

/*FOOTER*/
.site-footer {
  padding: 3rem 0;
  background-color: #2973FF;
  color: #95BBF2;
  font-size: .9rem;
}

.site-footer .footer-widget--title {
  font-size: 1.6rem;
  letter-spacing: .1rem;
  margin: 0 0 1.3rem 0;
  padding: 0;
}

.site-footer p{
  margin: .4rem 0;
}

.site-footer .text-xbold{
  color: #FFFFFF;
}

.site-footer a {
  color: #95BBF2;
}

.site-footer a:hover {
  color: #FFFFFF;
}

.site-footer h2 {
  color: #FFFFFF;
  text-transform: uppercase;
}

.site-footer h3 {
  color: #FFFFFF;
}

.site-footer .footer-first .footer-first--widget {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.site-footer .footer-first .inline-icons {
  margin: 1rem 0;
}

.site-footer .logo {
  display: flex;
  justify-content: center;
}

.site-footer .logo img {
  max-height: 110px;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 40em){
  .site-footer .footer-first .footer-first--widget {
    justify-content: center;
  }
  .site-footer .footer-first .inline-icons {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
}

@media only screen and (min-width: 64em){
  .site-footer .footer-first .footer-first--widget {
    justify-content: center;
  }

  .site-footer .logo {
    justify-content: flex-start;
  }
  
  .site-footer .logo img {
    max-height: 136px;
    margin-top: 2rem;
    margin-bottom: 0;
  }
}


.site-footer .footer-first .inline-icons a {
  display: inline-block;
}

.site-footer .footer-first [class^="icon-"] {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: .3rem;
  border-width: 2px;
  border-style: solid;
}

.site-footer .footer-first .icon-phone {
  background-color: #FFC600;
  color: #FFFFFF;
  border-color: #FFC600;
}

.site-footer .footer-first .icon-envelope {
  background-color: #FFFFFF;
  color: #334DD1;
  border-color: #FFFFFF;
}

.site-footer .footer-first .icon-linkedin {
  background-color: #3ACFB8;
  color: #FFFFFF;
  border-color: #3ACFB8;
}

.site-footer .footer-first .icon-phone:hover, 
.site-footer .footer-first .icon-envelope:hover,
.site-footer .footer-first .icon-linkedin:hover {
  background-color: transparent;
}

.footer-last--widget ul.menu li a{
  font-family: 'Bebas Neue', cursive;
  font-size: 1.2rem;
  padding: .3rem 0;
}

@media only screen and (min-width: 64em){
  .site-footer .logo {
    width: 19%;
  }
}

.legal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  padding: 1rem 0;
}

.legal--info {
  padding: .5rem;
}

@media only screen and (min-width: 40em) {
  .legal{
    flex-direction: row;
    align-items: flex-start;
    padding: 2rem 0;
  }
}

.legal--menu ul{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
}


/*WP BLOCKS*/
.wp-block-media-text {
  margin: 0 0 1rem 0;
  padding: 0;
}

.wp-block-media-text .wp-block-media-text__media {
  margin-bottom: 1rem;
}

.wp-block-media-text .wp-block-media-text__content {
  padding: 0 0 1rem 0;
}

@media only screen and (min-width: 40em) {
  .wp-block-media-text .wp-block-media-text__content {
    padding: 1rem 0;
  }
}

@media only screen and (min-width: 40em) {
  .wp-block-media-text {
    margin: 0 0 2rem 0;
  }

  .wp-block-media-text .wp-block-media-text__content {
    padding: 0 0 0 2rem;
  }

  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding: 0 2rem 0 0;
  }
}

@media only screen and (min-width: 64em) {
  .wp-block-media-text {
    margin: 0 0 3rem 0;
  }

  .wp-block-media-text .wp-block-media-text__content {
    padding: 0 0 0 3rem;
  }

  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding: 0 3rem 0 0;
  }
}

/*blockgallery*/

.wp-block-gallery {
  margin: 2rem 0;
}

.wp-block-gallery ul {
  padding-left: 0;
}

.wp-block-gallery ul li.blocks-gallery-item::before {
  display: none;
}

@media only screen and (min-width: 40em) {
  .wp-block-gallery {
    margin: 3rem 0;
  }
}

@media only screen and (min-width: 64em) {
  .wp-block-gallery {
    margin: 4rem 0;
  }
}

.wp-block-gallery.circles ul {
  flex-direction: row;
}

.wp-block-gallery.circles.columns-4 ul li {
  overflow: hidden;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  position:relative;
  z-index:1;
  width: calc(100% - 16px);
  margin: 8px;
}

@media only screen and (min-width: 40em) {
  .wp-block-gallery.circles.columns-4 ul li {
    width: calc(50% - 32px);
  }
}

@media only screen and (min-width: 64em) {
  .wp-block-gallery.circles.columns-4 ul li {
    width: calc(25% - 32px);
  }
}

.wp-block-gallery.circles ul li figure{
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  overflow: hidden;
}

.wp-block-gallery.circles ul li img {
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  transition: transform .2s; /* Animation */
  -moz-transition: transform .2s; /* Animation */
  -webkit-transition: transform .2s; /* Animation */
}

.wp-block-gallery.circles ul li:hover img {
  transform: scale(1.4); /* (150% zoom - Note: if the zoom is too large, it will go outside of the viewport) */
  -moz-transform: scale(1.4);
  -webkit-transform: scale(1.4);
}

.wp-block-gallery.circles ul li .blocks-gallery-item__caption {
  width: 108px;
  height: 108px;
  top: 50%;
  margin-top: -54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2% 4% 0 4%;
  left: 50%;
  margin-left: -54px;
  border-radius: 50%;
  cursor: pointer;
  font-family: 'Bebas Neue', cursive;
  font-size: 1.2rem;
}

.wp-block-gallery.circles ul li .blocks-gallery-item__caption a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
}

.wp-block-gallery.circles ul li:nth-child(n+1) .blocks-gallery-item__caption{
  background: #39C3AD;
}

.wp-block-gallery.circles ul li:nth-child(n+2) .blocks-gallery-item__caption{
  background: #FFBA00;
}

.wp-block-gallery.circles ul li:nth-child(n+3) .blocks-gallery-item__caption{
  background: #2973FF;
}

.wp-block-gallery.circles ul li:nth-child(n+4) .blocks-gallery-item__caption{
  background: #E54C4B;
}

.pgcsimplygalleryblock-masonry-content {
  margin: 0 -16px 1rem -16px;
}

.lang-switcher ul {
  padding: 0;
  margin: 0;
  list-style: none;
  font-family: 'Bebas Neue', cursive;
  font-weight: 400;
  display: flex;
  flex-direction: row;
}

.lang-switcher li.lang-item a {
  content:"";
  display: inline-block;
  overflow: hidden;
  text-indent: -999em;
  width: 19px;
  height: 19px;
  background-repeat: no-repeat;
  font-size: 0;
  background-position: center center;
  background-size: contain;
  margin: .5rem .3rem;
}

.lang-switcher li.lang-item-fr a {
  background-image: url('polylang/fr-FR.svg');
}

.lang-switcher li.lang-item-en a {
  background-image: url('polylang/en-US.svg');
}

.lang-switcher li.lang-item-es a {
  background-image: url('polylang/es-ES.svg');
}

.contact-address p {
  margin: 1.2rem 0;
  color: #FFFFFF;
}

.arrow-down {
  display: block;
  width: 45px;
  height: 19px;
  background-position: center;
  background-image: url(images/arrow-down.svg);
  background-size: auto;
  background-repeat: no-repeat;
  margin: 0 auto;
  padding: 2rem;
}

video {
  -webkit-filter: contrast(101%);
filter: contrast(101%);
}

/*MASONRY*/
.pgcsimplygalleryblock-masonry-item-title {
  background: #2973FF !important;
  box-shadow: #2973FF 10px 0px 0px, #2973FF -10px 0px 0px !important;
  -moz-box-shadow: #2973FF 10px 0px 0px, #2973FF -10px 0px 0px !important;
  -webkit-box-shadow: #2973FF 10px 0px 0px, #2973FF -10px 0px 0px !important;
}
.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item {
  margin-right: 0;
}

