/*
  Theme Name: IF Norvège theme
  Description: Twenty Twenty Child theme for IF Norvège
  Theme Author: SMOL
  Author URL: https://smol.org
  Template: twentytwenty
  Version: 2.0.0
  Text Domain: iffi
  Domain Path: /languages
*/

@font-face {
  font-family: 'marianne';
  src:
    url('assets/fonts/Marianne-Regular.woff2') format('woff2'),
    url('assets/fonts/Marianne-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'marianneItalic';
  src:
    url('assets/fonts/Marianne-Regular_Italic.woff2') format('woff2'),
    url('assets/fonts/Marianne-Regular_Italic.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'marianneBold';
  src:
    url('assets/fonts/Marianne-Bold.woff2') format('woff2'),
    url('assets/fonts/Marianne-Bold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'marianneBoldItalic';
  src:
    url('assets/fonts/Marianne-Bold_Italic.woff2') format('woff2'),
    url('assets/fonts/Marianne-Bold_Italic.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

/* BLEU IF : #3558A2 */
:root {
  --blue: #3558A2;
  --blue--accent: #152646;
  --left--pane--width: 140px;
}

*,
::before,
::after {
  box-sizing: border-box;
  word-break: initial;
  word-wrap: normal;
}

/* Modern clearfix */
.group::after {
  content: "";
  display: table;
  clear: both;
}

.color_2 { color: red; }

/* GENERAL */
body {
  color: #000;
  font-family: 'marianne', 'Arial', 'Helvetica', sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
  line-height: 1.5;
  text-align: justify;
  overflow-x: hidden;
}

a { color: #444; transition: color .3s; }
a:hover { color: var(--blue--accent); text-decoration: none;}

#site-content { overflow: unset;}

#site-content .crunchify-social { position: absolute; top: -20px; right: 0; }
.page #site-content .crunchify-social { top: -50px; }
#site-content .crunchify-social * { fill: var(--blue); }

#site-content .crunchify-social a.crunchify-link {
  background: #fff;
  border-radius: 50%;
  color: var(--blue);
  height: 24px;
  padding: 0;
  text-decoration: none;
  transition: transform 0.15s ease-in-out;
  width: 24px;
  box-shadow: none;
  vertical-align: middle;
}
.crunchify-social .share-label { display: inline-block; margin-right: 10px; font-size: 14px; vertical-align: middle;}
#site-content .crunchify-social a.crunchify-link:focus,
#site-content .crunchify-social a.crunchify-link:hover {
  transform: scale(1.1);
  text-decoration: none;
}

strong, b { font-family: 'marianneBold', sans-serif; }
em, i { font-family: 'marianneItalic', sans-serif; }
strong em, strong i, em strong, i strong, em b, i b, b em, b i { font-family: 'marianneBoldItalic', sans-serif; }

h1, h2, h3, h4, h5, h6 {
  font-family: "marianneBold", sans-serif;
  font-weight: bold;
  line-height: 1.11;
  color: #000;
  text-align: left;
}

h1, h1.entry-title {
  font-size: 6rem;
  background-color: var(--blue);
  color: #fff;
  padding: 10px 10px 10px 15px;
  margin: 0;
}

.search h2.entry-title {
  font-size: 2rem;
}
.search h3.dates {
  font-size: 1.3rem;
  margin: 0 0 1rem;
}
.search #site-content .post-inner {
  padding-top: 1em
}

.entry-content hr,
hr.styled-separator {
  background: var(--blue) !important;
}

.entry-content hr:not(.has-background),
hr.styled-separator {
  color: #6d6d6d;
}

.entry-content hr::before,
.entry-content hr::after,
hr.styled-separator::before,
hr.styled-separator::after {
  display: none;
}

.entry-content hr::before,
hr.styled-separator::before {
  left: calc(50% - 0.5rem);
}

.entry-content hr::after,
hr.styled-separator::after {
  right: calc(50% - 0.5rem);
}

/* categ */
/*  color: #FFB7AE; */

/*button,
.button,
.faux-button,
.wp-block-button__link,
.wp-block-file .wp-block-file__button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  background-color: var(--blue) !important;
}
.color-accent, .color-accent-hover:focus, .color-accent-hover:hover,
.color-accent, .color-accent-hover:hover, .color-accent-hover:focus, :root .has-accent-color, .has-drop-cap:not(:focus)::first-letter, .wp-block-button.is-style-outline,
.pagination a,
#breadcrumbs a,
.pagination-single-inner a,
a.more-link {
  color: var(--blue--accent) !important;
}

a.more-link {
  text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}*/

/* HP MENU */
.hp-menu ul.menu {
  list-style: none none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 20px;
  grid-auto-rows: minmax(50vh, auto);
}

.hp-menu ul.menu button.toggle,
.hp-menu ul.menu .sub-menu {
  display: none;
}

.hp-menu ul.menu > li {
  background: #99C221;
  padding: 0;
  margin: 0;
  display: grid;
  align-items: center;
  justify-items: center;
  text-align: center;
  position: relative;
  border-radius: 4px;
}
.hp-menu ul.menu > li + li { background-color: #7AB1E8; }
.hp-menu ul.menu > li + li + li { background-color: #FF9575; }
.hp-menu ul.menu > li + li +li + li { background-color: #FFB7AE; }

.hp-menu ul.menu > li .ancestor-wrapper {
  width: 100%;
  height: 100%;
  transition:all 1s ease;
  opacity: 1;
}

.hp-menu ul.menu > li a {
  color: #fff;
  text-transform: uppercase;
  font-size: 3rem;
  text-decoration: none;
  font-weight: bold;
  display: grid;
  width: 100%;
  height: 100%;
  align-items: center;
}
.hp-menu ul.menu > li a:hover { color: var(--blue); }

.hp-menu ul.menu .sub-menu {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  grid-template-rows: auto auto;
  list-style: none none;
  padding: 0;
  margin: 0;
  column-gap: 0;
  row-gap: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}
.hp-menu ul.menu .sub-menu > li {
  list-style: none none;
  margin: 0;
  background-color: rgba(255,255,255,0.1);
  align-items: center;
  display: grid;
  transition: all 0.5s ease;
  width: 0;
  height: 0;
  opacity: 0;
}
.hp-menu ul.menu li:hover .sub-menu > li {
  width: 100%;
  height: 100%;
  opacity: 1;
  cursor: pointer;
}
.hp-menu ul.menu .sub-menu li:hover {
  box-shadow: inset 0px 0px 3px 3px rgba(0,138,201,0.1);
  background-color: rgba(255,255,255,0.85 ) !important;
  cursor: pointer;
}
.hp-menu ul.menu li:hover > .ancestor-wrapper:first-child:not(.sub-menu li > .ancestor-wrapper) {
  opacity: 0;
}
.hp-menu ul.menu .sub-menu > li a {
  font-size: 2rem;
  opacity: 0;
  padding: 10px 20px;
}

.hp-menu ul.menu li:hover .sub-menu li > .ancestor-wrapper {
  overflow: hidden;
}
.hp-menu ul.menu li:hover .sub-menu li > .ancestor-wrapper a {
  animation: slide-in 1000ms forwards;
  /*animation-delay: 500ms;*/
  transition: none;
}
.hp-menu ul.menu li:hover .sub-menu li > .ancestor-wrapper a {
  background-color: #fff;
  background: linear-gradient(to right, rgba(0,138,201,0.9), rgba(0,138,201,0.7) 50%, rgba(255,255,255,1) 50%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  background-position: 100%;
  transition: background-position 350ms ease;
}
.hp-menu ul.menu li:hover .sub-menu li > .ancestor-wrapper a:hover {
  background-position: 0 100%;
  /*background-color: var(--blue);*/
}

.hp-menu ul.menu .sub-menu > li:nth-child(2n) {
  background-color: rgba(255,255,255,0.2);
}
.hp-menu ul.menu .sub-menu > li:nth-child(3n) {
  background-color: rgba(255,255,255,0.3);
}
.hp-menu ul.menu .sub-menu > li:nth-child(4n) {
  background-color: rgba(255,255,255,0.4);
}


@keyframes slide-in {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0%);
    opacity: 1;
  }
}


/* Main MENU */
#left-pane {
  box-shadow: 0 0 28px 0 rgba(65,65,65,0.2);
  background-color: #fff;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  transition: width .5s cubic-bezier(0.075, 0.82, 0.165, 1);
  width: var(--left--pane--width);
  z-index: 999;
}
.admin-bar #left-pane { top: 32px; }

.main-nav {
  backface-visibility: hidden;
  background-color: var(--blue);
  height: 100%;
  left: 0;
  overflow: hidden;
  padding: 10px 8px;
  position: absolute;
  width: var(--left--pane--width);
  z-index: 3;
}

.main-nav .logo-rf {
  margin: 0 10px;
}

.header-titles {
  margin: 0;
  padding: 0;
  background-color: var(--blue);
}
/* open .header-titles */
.logo-container {
  margin: 0 -15px;
  padding: 15px;
  background-color: var(--blue);
}


@media ( min-width: 1000px ) {
  .wp-custom-logo .header-titles { align-items: flex-start; }
}

.header-titles .site-logo {
  padding: 0;
  margin: 0;
  width: 100%;
}

.header-titles .site-logo img,
body:not(.enable-search-modal) .site-logo img {
  margin: 0 auto;
}

.header-titles .site-description {
  font-size: 1.2rem;
  line-height: 1;
  color: #fff;
  display: block;
  margin: 0;
}
.logo-container .header-titles  .site-description { font-size: 1.4rem; }


.nav-items a {
  border-bottom: 1px solid #d8d8d8;
  color: #fff;
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  margin: .7em 0;
  outline: none;
  padding: 0 0 .7em;
  text-align: center;
  text-decoration: none;
  transition: color .3s;
  word-break: initial;
  word-wrap: normal;
}
.nav-items a:first-child {
  border-top: 1px solid #d8d8d8;
  padding-top: .7em;
  margin-top: 1.5em;
}
.nav-items a::before {
  background-position: center;
  background-repeat: no-repeat;
  content: '';
  display: block;
  height: 32px;
  margin-bottom: .5em;
  opacity: .75;
  transition: opacity .3s;
}
.nav-items a.link-menu::before {
  background-image: url("assets/images/icon-menu.svg");
}
.nav-items a.link-search::before {
  background-image: url("assets/images/icon-search.svg");
}
.nav-items a.link-agenda::before {
  background-image: url("assets/images/icon-agenda.svg");
}
.nav-items a.link-archives::before {
  background-image: url("assets/images/icon-archives.svg");
}
.nav-items a.link-info::before {
  background-image: url("assets/images/icon-info.svg");
}

#left-pane .close {
  background: var(--blue);
  color: #fff;
  cursor: pointer;
  height: 100%;
  left: calc(-1 * var(--left--pane--width));
  overflow: hidden;
  padding: 15px;
  position: absolute;
  text-align: center;
  transition: left .5s cubic-bezier(0.075, 0.82, 0.165, 1);
  width: var(--left--pane--width);
  z-index: 4;
}
#left-pane .close img { display: inline; }

#left-pane .open {
  height: 100%;
  left: var(--left--pane--width);
  padding: 0 15px 15px;
  position: absolute;
  top: 0;
  width: 227px;
  z-index: 2;
  max-height: 100%;
  overflow-y: scroll;
}

.search-form {
  margin-top: 15px;
  flex-wrap: wrap;
}
.menu-shown #left-pane { width: 367px; }
.menu-shown #left-pane .close { left: 0px; }
.menu-shown #page { transform: translateX(217px); }

.primary-menu-wrapper {
  display: block;
  width: 100%;
}

#left-pane .primary-menu-wrapper {
  border-top: 1px solid #d8d8d8;
  margin-top: 0.5em;
}

#left-pane .primary-menu-wrapper ul.menu {
  margin: 0;
  text-align: left;
  flex-flow: column wrap;
}
#left-pane .primary-menu-wrapper ul.menu li {
  border-bottom: 1px solid #d8d8d8;
  line-height: 1.1;
  margin: .5em 0;
  padding-bottom: .3em;
}
#left-pane .primary-menu-wrapper ul.menu a {
  color: #000000;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .3s;
}
#left-pane .primary-menu-wrapper ul.menu li:hover > a,
#left-pane .primary-menu-wrapper ul.menu li:hover::after,
#left-pane .primary-menu-wrapper ul.menu li.current-menu-item > a,
#left-pane .primary-menu-wrapper ul.menu li.current-menu-item::after,
#left-pane .primary-menu-wrapper ul.menu li.current-menu-parent > a {
  color: var(--blue);
}
#left-pane .primary-menu-wrapper ul.menu .sub-menu li {
  border: none;
  margin: .4em 0;
  padding: 0;
  position: relative;
}
#left-pane .primary-menu-wrapper ul.menu .sub-menu a {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.2;
  padding-right: 1.5em;
  text-transform: none;
}
#left-pane .primary-menu-wrapper ul.menu .sub-menu li::after {
  content: '\e5c8';
  font-family: 'Material Icons';
  font-size: 0.8em;
  position: absolute;
  right: 0;
  top: .2em;
  transition: color .3s;
}

#left-pane .primary-menu-wrapper ul.menu .sub-menu li .sub-menu {
  padding-left: 10px;
  font-size: 80%;
}



/* PAGE CONTAINER*/
#page {
  left: var(--left--pane--width);
  max-width: 1480px;
  padding: 0 15px 0;
  position: relative;
  transition: transform .5s cubic-bezier(0.075, 0.82, 0.165, 1);
  width: calc(100vw - var(--left--pane--width));
  z-index: 1;
}

/* HEADER */
#page header#site-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
.header-social-wrapper,
.nl-access {
  align-self: flex-start;
  border-radius: 0 0 6px 6px;
  border-bottom: 1px solid #d8d8d8;
  border-left: 1px solid #d8d8d8;
  border-right: 1px solid #d8d8d8;
  display: inline-block;
  flex: 0 0 auto;
  list-style-type: none;
  margin: 0;
  padding: 0.2em 0.5em;
}
.header-social-wrapper .social-icons a {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: var(--blue);
  display: flex;
  height: 1.5em;
  justify-content: center;
  padding: 0;
  text-decoration: none;
  transition: transform 0.15s ease-in-out;
  width: 1.5em;
}

.social-iffi {
  display: flex;
  background-color: #fff;
  border-radius: 0 0 6px 6px;
}
.nl-access {
  padding-top: 6px;
  margin-left: 7px;
  word-break: unset;
  word-wrap: normal;
}
.nl-access a {
  display: flex;
  font-size: 14px;
  font-weight: bold;
  color: #000000;
  text-decoration: none;
  transition: transform 0.15s ease-in-out;
}
.nl-access a:focus img, .nl-access a:hover img { transform: scale(1.1); }

.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.9);
}

/* Position the content inside the overlay */
.overlay-scale {
/*  visibility:hidden;
  opacity: 0;*/
  display: none;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
  transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
  z-index:999;
}

.overlay div.mailerlite-form-container {
  text-align: left;
  position: relative;
  top: 30%;
  height: auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: 0 50px;
  padding: 10px 25px 25px;
  background-color: white;
  border-radius: 5px;
}
.overlay-close {
  position: absolute;
  right: 10px;
  font-size: 2em;
  line-height: 1em;
  top: 10px;
}
.overlay div.mailerlite-form-container .mailerlite-form-inputs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.overlay div.mailerlite-form-container .mailerlite-form-inputs div {
  flex: 0 1 auto;
  margin: 0 10px 0 0;
  align-self: end;
}
.overlay div.mailerlite-form-container .mailerlite-form-title h3 { margin: 15px 0; }
.overlay div.mailerlite-form-container .mailerlite-form .mailerlite-form-field label { font-weight: bold;}
.overlay div.mailerlite-form-container .mailerlite-form-inputs .mailerlite-subscribe-submit { padding: 15px; }
.overlay div.mailerlite-form-container .mailerlite-form-inputs .mailerlite-subscribe-submit:hover { text-decoration: none; background-color: #fff; color: var(--blue); border:1px solid var(--blue);}

.language-switcher {
  background: #000 none;
  flex: 0 0 auto;
  margin: 0;
  padding: 0.1rem 1.6rem 0.4rem;
  display: inline-block;
  align-self: flex-start;
  border-radius: 0 0 4px 4px;
}
.language-switcher li {
  color: #9b9b9b;
  display: inline-block;
  font-weight: 700;
  font-size: 1.8rem;
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
}
.language-switcher li a {
  color: #9b9b9b;
  text-decoration: none;
}
.language-switcher li.active a,
.language-switcher li a:hover {
  color: #fff;
}
.language-switcher li::after {
  content: '•';
  margin: 0 .3em;
}
.language-switcher li:nth-child(2)::after { display: none; }

/* YOAST breadcrumb */
#breadcrumbs {
  font-size: 1.3rem;
  font-weight: normal;
  line-height: 1.85;
  color: #7a7a7a;
  text-transform: uppercase;
  margin: 2rem 0 1rem;
}
#breadcrumbs a { text-decoration: none; }
#breadcrumbs img,
#breadcrumbs svg { display: inline; }

#breadcrumbs a #home-image { fill: var(--blue); }


/* CONTENT */
#site-content .main-container {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  gap: 15px;
}

#site-content .main-container > article {
  flex: 1 1 70%;
  min-width: 0;
}

#site-content .main-container > aside {
  flex: 0 1 calc(30% - 15px);/*gap 15px*/
  text-align: left;
}

.entry-content,
.widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary { font-family: inherit; }

.section-inner.medium,
.section-inner {
  width: auto;
  max-width: 100%;
  margin: 0;
  position: relative;
}
.featured-media img {
  margin: -15px 0 0;
  width: 100%;
}

#site-content .entry-title a { color: #000000; }
#site-content .entry-title a:hover {
  text-decoration: none;
  opacity: 0.8;
  color: var(--blue--accent);
}

#site-content .entry-content > * {
  max-width: 100%;
  width: auto;
}

/* Type PAGES */
.page article h2,
.page article h3,
.page article h4,
.page article h5 {
  color: var(--blue);
  font-weight: 400;
}

.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .entry-content cite, .entry-content figcaption, .entry-content table, .entry-content address, .entry-content .wp-caption-text, .entry-content .wp-block-file {
  font-family: "marianne", sans-serif;
}

ul.child-pages {
  display: flex;
  justify-content: flex-start;
  flex-flow: row wrap;
  margin: 50px 0 30px;
  list-style: none none;
}

ul.child-pages li {
  flex: 0 1 auto;
  width: calc(33.33% - 1rem);
  background-color: var(--blue);
  border-radius: 4px;
  overflow: hidden;
  padding: 0 10px 45px;
  margin: 0 10px 10px 0;
  transition: all .3s;
}
ul.child-pages li:hover {
  cursor: pointer;
  box-shadow: 0 2px 12px 0 rgba(0,0,0,0.4);
  transform: perspective(1px) scale(1.01);
}

ul.child-pages li.no-media {
  display: flex;
  flex-flow: column;
  justify-content: center;
  padding-top: 30px;
}
ul.child-pages li .featured-media {
  margin: 0 -10px 20px;
}

ul.child-pages li .entry-header {
  background-color: transparent;
}
ul.child-pages li h2.entry-title { margin: 10px 0; }
ul.child-pages li.no-media h2.entry-title a {
  font-size: 3.2rem;
}
ul.child-pages li .entry-header .entry-categories {
  margin-bottom: 0;
}
ul.child-pages li .entry-header .entry-categories .entry-categories-inner { margin: 0; }
ul.child-pages li .entry-header .entry-categories a {
  font-size: 1.1rem;
  color: #000 !important;
  font-weight: 700;
  background-color: transparent;
  margin: 0;
  padding: 0;
  line-height: 1em;
}
ul.child-pages li h2 a {
  color: #fff;
  font-family: "Proto", sans-serif;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 1em;
  display: block;

}
/* Page AGENDA */
/* Custom dropdown */
.process { display: none; font-size: 0.7em; font-style: italic; color: #aaa;}
.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 30px;
}
.lds-ellipsis span {
  position: absolute;
  top: 23px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--blue);
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis span:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis span:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis span:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis span:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}

form#filter {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 10px;
  margin: 10px 0 30px;
}

form#filter > div {
  flex: 0 1 auto;
  align-self: flex-start;
}
.custom-dropdown {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.custom-dropdown select {
  font-family: "Proto", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  background-color: #fff;
  border: 1px solid var(--blue);
  color: var(--blue);
  font-size: inherit;
  padding: .5em .5em .2em;
  padding-right: 2.5em;
  margin: 0;
  border-radius: 3px;
  text-indent: 0.01px;
  text-overflow: '';
  /*Hiding the select arrow for firefox*/
  -moz-appearance: none;
  /*Hiding the select arrow for chrome*/
  -webkit-appearance:none;
  /*Hiding the select arrow default implementation*/
  appearance: none;
}
/*Hiding the select arrow for IE10*/
.custom-dropdown select::-ms-expand {
  display: none;
}

.custom-dropdown::before,
.custom-dropdown::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.custom-dropdown::after {
  content: "\02C7";
  height: 1em;
  font-size: 2.625em;
  line-height: 1;
  top: 50%;
  margin-top: -0.2em;
  right: 7px;
  color: var(--blue);
}
.custom-dropdown:hover::after { color: #fff; }

.custom-dropdown::before { /*  Custom dropdown arrow cover */
  width: 2em;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 0 3px 3px 0;
  background-color: rgba(0,0,0,0);
}

.custom-dropdown select[disabled] {
  color: rgba(0,0,0,.25);
}

.custom-dropdown select option.level-1 {
  font-weight: 400;
  font-size: 90%;
}


.btn {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.btn-group {
  margin: 10px;
}
.btn-group > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:first-child:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group {
  margin-left: -1px;
}

.btn-fil {
  font-family: "Proto", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  background-color: #fff;
  border: 1px solid var(--blue);
  color: var(--blue);
  font-size: inherit;
  padding: 0.5em .5em 0.2em;
  border-radius: 3px;
  vertical-align: middle;
}
.btn-fil:hover,
.custom-dropdown select:hover,
.btn-fil.active {
  text-decoration: none;
  background-color: var(--blue);
  color: #fff;
  cursor: pointer;
}


/* SWITCH TOOGLE */



.switch-field {
  display: flex;
  overflow: hidden;
}

.switch-field input {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}

.switch-field label {
  background-color: #fff;
  border-radius: 3px;
  border: 1px solid rgba(53, 88, 162, 0.5);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
  color: rgba(53, 88, 162, 0.6);
  font-family: "Proto", sans-serif;
  font-size: inherit;
  font-weight: 700;
  line-height: 1;
  margin-right: -1px;
  padding: 0.6em 1em 0.3em;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.1s ease-in-out;
  vertical-align: middle;
}

.switch-field label:hover {
  color: rgba(53, 88, 162, 1);
  cursor: pointer;
}

.switch-field input:checked + label {
  background-color: var(--blue);
  box-shadow: none;
  color: #fff;

}

.switch-field label:first-of-type {
  border-radius: 3px 0 0 3px;
}

.switch-field label:last-of-type {
  border-radius: 0 3px 3px 0;
}




/* END SWITCH */



.grecaptcha-badge { visibility: hidden; }
.google-policy { font-size: 0.5em; color: #bbb; }

label { font-weight: 700; }

/* POSTS */
.entry-categories {
  margin-bottom: 2rem;
}

.entry-categories-inner {
  font-family: "marianne", sans-serif;
  font-size: 1.1rem;
  font-weight: normal;
  line-height: 2.18;
  letter-spacing: normal;
  color: #ffffff;
  justify-content: flex-start;
  align-items: center;
  margin: 0;
}
.entry-categories a {
  border: 0 none;
  font-size: 1.1rem;
  font-weight: normal;
  letter-spacing: normal;
  text-decoration: none;
  text-transform: uppercase;
  background-color: #B3B2B3;
  color: #fff;
  padding: 2px 5px 3px;
  margin: 0;
}

[class*="picto-"] {
  background: transparent url('') no-repeat center center;
  background-size: contain;
  width: 15px;
  height: 15px;
  margin: 0 0 0 2px;
}

.single [class*="picto-"] {
  margin: 0 0 0 5px;
  width: 20px;
  height: 20px;
}

.picto-music { background-image: url("assets/images/picto-musique.svg") }
.picto-cinema { background-image: url("assets/images/picto-cinema.svg") }
.picto-live-show { background-image: url("assets/images/picto-spectacle-vivant.svg") }
.picto-architecture { background-image: url("assets/images/picto-architecture.svg") }
.picto-digital { background-image: url("assets/images/picto-numerique.svg") }
.picto-visual-arts { background-image: url("assets/images/picto-arts-visuels.svg") }
.picto-ideas { background-image: url("assets/images/picto-idees.svg") }
.picto-books { background-image: url("assets/images/picto-livre.svg") }


.singular:not(.overlay-header) #site-content .entry-header a { color: #fff; }
.singular:not(.overlay-header) #site-content .entry-header .post-meta a { color: #6d6d6d; }
.entry-categories a:hover { background-color: var(--blue) !important; color: #fff !important; }

.entry-header { position: relative; }
.singular .entry-header { padding: 1.8rem 0; }
.singular .featured-media-inner { left: auto; max-width: 100%; }
.featured-media figcaption { text-align: left; }

.post-meta-wrapper {
  margin: 1rem 0 0;
}
.post-meta-single-top .post-meta {
  justify-content: flex-start;
}

h2.dates {
  font-size: 3rem;
  margin: 2rem 0 1rem;
}
h3.subtitle {
  font-family: 'marianne', sans-serif;
  font-weight: normal;
  font-size: 2rem;
  margin: 2rem 0 1rem;
}
h3.dates,
.dates {
  font-size: 1.3rem;
  margin: 2rem 0 1rem;
}

#site-content .post-inner { padding-top: 2rem; }
h2 { position: relative; }
#site-content .post-inner h2::after {
  content: "";
  width: 10%;
  height: 5px;
  background-color: var(--blue);
  display: block;
  margin: 10px 0 0;
}

ul { list-style: square outside url("assets/images/icon-list.svg"); }

.comment-reply-title,
.comment-respond .comment-notes,
.comment-respond .logged-in-as { text-align: left; }

.event-infos {
  position: relative;
  padding: 20px;
}
.event-infos a { color: #000; }

.event-infos h5 {
  margin: 0;
  color: #fff;
  font-size: 1em;
}
.event-infos address,
.event-infos p { margin: 0; }

.event-infos .marker {
  position: absolute;
  right: 0;
  top: 0;
  background-color: rgba(0,0,0,0.2);
  text-align: center;
  height: 100%;
  padding: 10px;
  color: #fff;
  font-size: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.eventbrite-container {
  border-radius: 5px;
  width: 100%;
  margin: 10px 0;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2);
  text-align: center;
  padding: 20px 10px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
}
.eventbrite-container a { display: block; }
.eventbrite-container .material-icons { vertical-align: bottom; }

.pagination-single.section-inner {
  margin-top: 8rem;
}
.pagination-single { font-size: 1.25em; }

/* SIDEBAR */
h2.sidebar-mobile-title {
  display: block;
  color: var(--blue);
  margin-bottom: 10px;
}

#site-content .main-container aside.sidebar .sidebar-widgets-wrapper {
  display: flex;
  justify-content: space-between;
  flex-flow: column wrap;
  gap: 15px;
}

#site-content .main-container aside.sidebar .widget {
  flex: 1 0 47%;
  margin: 10px;
}

#site-content .main-container aside .widget {
  background-color: #efefef;
  border-radius: 4px;
  padding: 25px;
}

#site-content .main-container aside .widget.widget_ultimate_posts {
  padding: 0;
  background-color: transparent;
}

#site-content .main-container aside .upw-posts.iffi-multiple article {
  margin-bottom: 5px;
  padding-bottom: 1em;
  border-bottom: 0 none;
}
.upw-posts .entry-categories {
  font-size: 14px;
}

#site-content .main-container aside .widget.widget_ultimate_posts article {
  padding: 10px 10px 40px;
  border-radius: 5px;
}
#site-content .main-container aside .widget.widget_ultimate_posts article h4.entry-title,
#site-content .main-container aside .widget.widget_ultimate_posts article h4.entry-title a {
  color: #fff;
  text-transform: uppercase;
  font: bold 21px/1.1em "Proto", sans-serif;
  margin: 0;
}
#site-content .main-container aside .widget.widget_ultimate_posts .iffi-multiple article h4.entry-title,
#site-content .main-container aside .widget.widget_ultimate_posts .iffi-multiple article h4.entry-title a {
  font-size: 18px;
}

#site-content .main-container aside .widget.widget_ultimate_posts article .entry-image {
  margin: -10px -10px 10px;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
}

#site-content .main-container aside .widget.widget_ultimate_posts article .entry-categories a {
  margin: 0 0 0 -5px;
  background-color: transparent;
  color: #000;
  padding: 1px 5px;
  font-weight: bold;
}
#site-content .main-container aside .widget.widget_ultimate_posts article .entry-summary {
  font-size: 13px;
}

#site-content .main-container aside .widget .widget-title {
  color: var(--blue);
  font-size: 2.6rem;
}

/********/
/* HOME */
/********/

/*.home #if-container {
  background: transparent url(assets/images/facade-institut-francais-norvege.jpg) no-repeat center top;
  background-size: contain;
}*/

.home #site-header {
  background-color: transparent;
}


.hp-hero {
  width: calc(100%);
  margin-bottom: 20px;
  border-radius: 4px;
  overflow: hidden;
  border: 0 none;
}

.hp-hero .content {
  display: block;
  height: 536px;
  position: relative;
  background-size: cover;
  background-position: center right;
  background-color: var(--blue);
}

.hp-hero .content > a { display: block; height: 100%; }


.hp-hero .content .infos {
  background-color: #fff;
  border-radius: 4px;
  bottom: 2.2rem;
  left: 1.5%;
  max-width: 94%;
  opacity: 80%;
  padding: 1.2rem;
  position: absolute;
  text-align: left;
  text-transform: uppercase;
}

.hp-hero .content h2 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.11;
  letter-spacing: normal;
  color: var(--blue);
  margin: 0;
  text-transform: uppercase;
}

.hp-hero .content .on-title {
  font-size: 16px;
  font-weight: bold;
  color: #000000;
}

.home #site-content .hp-news,
.home #site-content .hp-promo,
.hp-news,
ul.hp-posts-cat {
  display: flex;
  justify-content: flex-start;
  flex-flow: row wrap;
  overflow: unset;
  margin-right: -10px;
  gap: 10px;
}

h2.hp-news-title {
  font-size: 40px;
  margin: 20px 0 5px;
}

.hp-news h3.subtitle {
  font-size: 1.4rem;
  margin-top: 5px;
}

ul.hp-posts-cat {
  list-style: none none;
  margin: 0 0 15px;
  padding: 0;
  justify-content: stretch;
  gap: 0;
}
ul.hp-posts-cat li {
  margin: 0;
  flex: 1 1 auto;
}
ul.hp-posts-cat li a {
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  padding: 20px 15px;
  font-family: "Proto", sans-serif;
  color: #fff;
  font-weight: bold;
  line-height: 1em;
}
ul.hp-posts-cat li a:hover {  opacity: 0.8; color: var(--blue--accent); }


.home #site-content .hp-promo {
  width: 100%;
  margin-bottom: 10px;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.home #site-content article,
.home #site-content .hp-promo article,
.hp-news article {
  flex: 1 1 auto;
  max-width: calc(25% - 1rem);
  border-radius: 4px;
  overflow: hidden;
  padding: 15px 10px;
  margin: 0;
  transition: all .3s;
}

.home #site-content article.sticky,
.home #site-content .hp-promo article.sticky {
  margin-right: 0;
  max-width: 100%;
  flex: 0 1 calc(50% - 1rem);
}

.home #site-content article:hover,
.hp-news article:hover  {
  cursor: pointer;
  box-shadow: 0 2px 12px 0 rgba(0,0,0,0.7);
  transform: perspective(1px) scale(1.03);
  z-index: 100;
}

.home #site-content h2.entry-title,
.hp-news h2.entry-title { font-size: 1.8rem; }

.home #site-content h2.entry-title a,
.hp-news h2.entry-title a { color: #fff; text-transform: uppercase; }

.home #site-content h2.entry-title a:hover,
.hp-news h2.entry-title a:hover {
  color: var(--blue--accent);
}

.home .entry-categories { margin: 0; }
.home .entry-categories-inner { margin: -3px 0 15px -3px; }
.home .entry-categories a {
  font-size: 1.1rem;
  color: #000;
  font-weight: 700;
  background-color: transparent;
  margin: 0;
  line-height: 1em;
}
body.home:not(.singular) main > article:first-of-type { padding: 0; }

.home .dates,
.search .dates,
.dates{ text-transform: uppercase; margin-top: 12px; color: #fff; font-size: 1.3rem; font-weight: 700; }

h5.dates { color: #fff !important; }

.home .featured-media,
.hp-news .featured-media { margin: -15px -10px 20px; }
.home article .section-inner { width: 100%; }
.home .featured-media figcaption { margin: 5px 0 0; font-size: .5em; padding: 0 10px}

.home #site-content .post-inner,
.hp-news .post-inner { padding: 0; }
.home #site-content .post-inner .entry-content,
.hp-news .post-inner .entry-content { font-size: 1.3rem; text-align: left; }

.home #site-content article.no-media,
.hp-news article.no-media {
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.home #site-content article.no-media h2.entry-title,
.hp-news article.no-media h2.entry-title { font-size: 3.2rem }

/* FOOTER */
.reduced-spacing.footer-top-visible .footer-nav-widgets-wrapper,
.reduced-spacing.footer-top-hidden #site-footer { border-top-width: 0; }
.footer-widgets-outer-wrapper { padding: 0; border: 0 none; }
.footer-widgets-wrapper {
  background-color: #7AB1E8;
  color: #fff;
  padding: 4rem;
  text-align: left;
}

.footer-nav-widgets-wrapper { position: relative; z-index: -1; }

.footer-widgets-wrapper .footer-widgets {
  flex: 1 1 auto;
}
.footer-widgets-wrapper .footer-widgets h2.widget-title { font-size: 17px; color: #fff; margin-bottom: 10px; letter-spacing: 0;}
.footer-widgets-wrapper .footer-widgets .widget-content { font-size: 16px; }
.footer-widgets-wrapper .footer-widgets .widget-content ul li { margin: 0; padding: 0; }


.top-middle-footer > .footer-inner .footer-widgets-wrapper {
  width: calc(100vw - 90px);
/*  background: #7AB1E8 url("assets/images/fond-carte.png") no-repeat center center;
  background-size: cover;*/
  background-color: #fff;
  justify-content: flex-start;
}

.top-middle-footer > .footer-inner .footer-widgets-wrapper .footer-widgets {
  padding: 4rem;
  background-color: #7AB1E8;
  flex: 0 1 auto;
}

#site-footer {
  padding: 0;
  position: relative;
  z-index: -1;
}

#site-footer .footer-widgets-wrapper {
  background-color: var(--blue);
  width: calc(100vw - 90px);
}

#site-footer .footer-widgets-wrapper .section-inner {
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 10px;
}

#site-footer .footer-widgets-wrapper .section-inner .footer-widgets {
  margin: 0;
  padding: 0;
}
#site-footer .footer-widgets-wrapper .section-inner .footer-widgets.if-world {
  padding: 0 10px;
  flex-wrap: wrap;
}
#site-footer .footer-widgets-wrapper .section-inner .footer-widgets.has-social-menu {
  padding: 0 5px;
}


.footer-widgets {
  width: auto;
}

.footer-credits {
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  gap: 2rem;
  justify-content: flex-start;
}

.footer-credits div {
  flex: 0 1 50%;
}

.logo-desc-footer {
  min-width: 350px;
}

.logo-desc-footer .site-description {
  color: #fff;
  margin-top: 0;
}

.logo-mae-footer {
  min-width: 130px;
  max-width: 170px;
}

.if-world {
  align-items: center;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  display: flex;
  gap: 20px;
  justify-content: space-around;
}

.if-world .column {
  background-color: #fff;
  flex: 0 1 auto;
}

.if-world .column .logo-footer {
  display: inline-block;
  width: 150px;
  height: 150px;
  vertical-align: middle;
  background: #fff url("if-logo.svg") no-repeat center center;
  background-size: 90%;
}

.if-world .column.column-one .logo-footer { background-image: url("assets/images/logo-culturetheque.png"); background-color: #0001b4; }
.if-world .column.column-two .logo-footer { background-image: url("assets/images/logo-ambassade-france-norvege.png"); }
.if-world .column.column-three .logo-footer { background-image: url("assets/images/logo-campus-france.svg"); }
.if-world .column.column-four .logo-footer { background-image: url("assets/images/logo-chambre-de-commerce_franco-norvegienne.png"); }
.if-world .column.column-five .logo-footer { background-image: url("assets/images/logo-lycee-francais-oslo.png"); background-color: var(--blue);}


#site-footer .footer-menu {
  flex-flow: column wrap;
  list-style: disc inside;
  margin: 0;
  font-size: 14px;
  border: 0 none;
}
#site-footer .footer-menu li { margin: 0; }
#site-footer .footer-menu li a {
  color: #fff;
  font-size: 14px;
}

.footer-widgets.has-footer-menu {
  align-self: flex-start;
  padding: 0;
}

.to-the-top {
  position: absolute;
  right: 10px;
  bottom: 10px;
  background: rgba(0,0,0,0.2);
  color: #fff !important;
  padding: 10px;
  border-radius: 5px;
}

.gototop { display: none; }
/**
 * MEDIA QUERIES
 */
@media ( min-width: 1000px ) {
  .hp-hero .content .infos {
    max-width: 45%;
  }
}

@media ( min-width: 1140px ) {
  h2.sidebar-mobile-title { display: none; }
}

@media ( max-width: 1219px ) {
  .home #site-content article,
  .home #site-content .hp-promo article,
  .hp-news article {
    max-width: calc(33.33% - 1rem);
  }
/*  .if-world .column .logo-footer { width:120px; height:120px; }*/
}

@media ( max-width: 1043px ) {
  #site-content .main-container > aside {
    flex: 1;
  }
}

@media ( max-width: 999px ) {
  .home #site-content article,
  .home #site-content .hp-promo article,
  .hp-news article {
    max-width: calc(50% - 1rem);
  }
  .featured-media img { width: 100%; }
  ul.hp-posts-cat li a { font-size: 0.8em; }

  .footer-widgets-wrapper {
    padding-right: 3rem;
    padding-left: 1rem;
  }
  #site-footer .footer-widgets-wrapper .section-inner {
    flex-direction: column;
    width: 100%;
  }

}

@media ( max-width: 800px ) {
  .main-nav {
    align-items: stretch;
    display: flex;
    margin: 0 0 15px -15px;
    position: relative;
    width: 100vw;
    height: auto;
  }

  .main-nav > div {
    flex: 1 1 auto;
  }

  #left-pane {
    width: 0;
  }

  .menu-shown #left-pane { width: 100%; }

  #left-pane .open { width: auto; }


  #page {
    left: 0px;
    width: 100%;
  }

  .nav-items {
    display: flex;
  }

  .nav-items a {
    border-bottom: 0;
    border-right: 1px solid #d8d8d8;
    flex: 1 1 auto;
    margin: 0;
    padding: 0 1rem;
  }
  .nav-items a:first-child {
    border-top: 0;
    border-left: 1px solid #d8d8d8;
    padding-top: 0;
    margin-top: 0;
  }

  .site-logo {
    width: 80px;
  }

  .logo-rf{
    max-width: 100px;
  }



  .top-middle-footer > .footer-inner .footer-widgets-wrapper,
  #site-footer .footer-widgets-wrapper {
    width: 100vw;
    margin: 0 0 0 -15px;
  }

  .gototop {display: none;}
}

@media ( max-width: 699px ) {

  h1, h1.entry-title { font-size: 4rem; }
  h2 { font-size: 3rem; }
  h3 { font-size: 2.5rem; }
  h4 { font-size: 1.3em; }
  h5 { font-size: 1.1em; }
  .home #site-content article,
  .home #site-content .hp-promo article,
  .hp-news article {
    max-width: calc(50% - 1rem);
  }
  .hp-hero .content h2 { font-size: 2.8rem; }

  .nav-items a.link-archives,
  .nav-items a.link-info {
    display: none;
  }

  .logo-rf {
    max-width: 75px;
  }

  ul.child-pages li { flex: 1 1 auto; }
  .footer-widgets-wrapper {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
    padding: 4rem;
  }

  .flexslider .slides > li {
    height: 220px;
  }

  .footer-widgets-wrapper .footer-widgets {
    flex: 0 1 auto;
/*    width: calc(50% - 4rem);*/
    margin-bottom: 4rem;
  }
  .footer-widgets + .footer-widgets {
     margin-top: 0;
  }

  #site-footer .footer-widgets-wrapper .section-inner .footer-widgets {
    padding: 0;
  }

  .footer-credits {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 40px !important;
  }
  .if-world {
    border: 0 none;
    flex-wrap: wrap;
  }
/*
  .logo-mae-footer {
    margin-left: 0;
    width: 50%;
  }
*/

}

@media ( max-width: 479px ) {
  .home #site-content article,
  .home #site-content .hp-promo article,
  .hp-news article {
    max-width: calc(100% - 1rem);
  }
  .featured-media img { width: 100% }
  .crunchify-social .share-label { display: none; }
  .home #site-content .hp-promo {
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .home #site-content article.sticky, .home #site-content .hp-promo article.sticky {
    max-width: 100%;
    flex: 1 1 auto;
  }
  .footer-widgets-wrapper .footer-widgets { flex-flow: column wrap }
  .footer-widgets-wrapper .footer-widgets { width: 100%; }

  .nav-items a.link-archives {
    display: none;
  }

  #page .main-nav .header-titles {
    padding-right: 1rem;
    flex-basis: 10%;
  }

  .nav-items a.link-agenda {
    display: none;
  }

  .logo-rf{
    max-width: 70px;
  }

  #site-footer .section-inner {
    align-items: flex-start;
    flex-flow: column wrap;
  }
  #site-footer .section-inner .footer-credits {
    display: flex;
    flex-flow: row;
    justify-content: space-around;
  }
  .logo-desc-footer {
    min-width: 200px;
  }
  .footer-widgets-wrapper .footer-widgets.if-world {
    flex-flow: row wrap;
    border: 1px solid #fff;
    border-width: 1px 0;
    padding: 10px 0 !important;
    margin: 0 0 10px;
  }
  .if-world .column .logo-footer {
    width: 100px;
    height: 100px;
    background-size: contain;
    margin: 0 auto;
    display: block;
  }
  .if-world .column:first-child {
    background-color: #001aad;
  }


}