/*
Theme Name: MixCity Radio 3.0
Theme URI: https://mixcity.radio/
Description: Ce thème est la propriété exclusive de MixCity Interactive.
Author: MixCity Interactive
Author URI: https://mixcity.radio/
Version: 3.0
Tags: green, mixcity
*/

/* IMPORTS */

@import url('https://fonts.googleapis.com/css?family=Arsenal|Neucha|Caveat|Oswald|Cutive+Mono|Comfortaa|Kalam|Montserrat');

@font-face
{
font-family: 'HeydingsControlsRegular';
src: url('fonts/heydings_controls-webfont.eot');
src: url('fonts/heydings_controls-webfont.eot?#iefix') format('embedded-opentype'),
      url('fonts/heydings_controls-webfont.woff') format('woff'),
      url('fonts/heydings_controls-webfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}

/* CSS RESET */

*
{
margin: 0;
padding: 0;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td
{
border: none;
font-size: inherit;
line-height: inherit;
text-align: inherit;
}

blockquote::before,
blockquote::after
{
content: "";
}

/* DOCUMENT SETUP */

html {
font-size: 1em;
scroll-behavior: smooth;
}

body {
margin: auto;
padding:auto;
font-family: -apple-system, system-ui, BlinkMacSystemFont, 'Montserrat', sans-serif;
font-size: 1rem;
text-align: center;
background-color: #fff;
color: #333;
}

*,
*::before,
*::after {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
word-break: break-word;
word-wrap: break-word;
}

*::-webkit-scrollbar { 
display: none; 
}

/* ELEMENT BASE */

main {
display: block;
}

/* Titles ------------------------------------- */

h1,
.h1
{
font-family: 'Caveat';
font-size: 2.5em;
line-height: 1.1em;
}
h1.noscript
{
font-family: 'Arsenal';
font-size: 2.1em;
line-height: 0.8em;
text-transform: uppercase; 
}
h2
{
font-family: 'Caveat';
font-size: 1.9em;
}
.h2
{
font-family: 'Cutive Mono';
font-size: 0.9em;
line-height: 1.6em;
}
h2.noscript
{
font-family: 'Montserrat';
}
h3,
.h3
{
font-family: 'Caveat';
font-size: 1.9em;
}
h4,
.h4
{
font-family: 'Caveat';
}

/* Preformat ------------------------------------- */

p { 
margin: 20px 0;
line-height: 1.7;
}

em,
i,
q,
dfn {
font-style: italic;
}

em em,
em i,
i em,
i i,
cite em,
cite i {
font-weight: bolder;
}

big {
font-size: 1.2em;
}

small {
font-size: 0.75em;
}

b,
strong {
font-weight: 700;
}

ins {
text-decoration: underline;
}

sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}

sup {
top: -0.5em;
}

sub {
bottom: -0.25em;
}

abbr,
acronym {
cursor: help;
}

address {
line-height: 1.5;
margin: 0 0 2rem 0;
}

/* Separation ------------------------------------- */

hr  { 
display: block;
clear: both;
border: 0;
height: 0;
border-top: 1px solid;
text-align: center;
max-width: 100px;
}
hr.wp-block-separator { 
margin: 20px auto;
}

/* Links ------------------------------------- */

a {
color: #A2C52B;
}
a,
a:hover,
a:focus {
text-decoration: none;
}
a:hover,
a:focus {
opacity: 0.9;
}
.link {
padding: 20px 0;
font-family: 'Montserrat';
font-size: 1.1em;
font-weight: bold;
text-align: center;
}
.link.button .h6 {
margin: 0 auto;
padding: 10px 0;
border-radius: 25px;
width: auto !important;
max-width: 120px;
max-height: 40px;
border: 0;
font-size: 0.9em;
background-color: #E77B06;
color: white;
}
.link.button.inline .h6 {
display: inline;
margin: 0 10px;
padding: 10px 20px;
}
.link.button a,
.link.button a:visited,
.link.button.inline a,
.link.button.inline a:visited {  
font-weight: normal;
color: #fff; 
}
.link.button .h6:hover,
.link.button .h6:focus {    
opacity: 0.9;
cursor: pointer;
}

/* Lists ------------------------------------- */

ul,
ol,
li {
overflow: hidden;
/*    margin: 10px 0 20px 20px;
padding: 0;
line-height: 1.7; */
}

ul {
list-style: disc;
}

ul ul {
list-style: circle;
}

ul ul ul {
list-style: square;
}

ol {
list-style: decimal;
}

ol ol {
list-style: lower-alpha;
}

ol ol ol {
list-style: lower-roman;
}

/* Quotes ------------------------------------ */

blockquote  { 
margin: auto;
padding: 0 5% 10px;    
max-width: 720px;
}

blockquote >* { 	
line-height: 1.1em;
}

blockquote p:first-child {    
margin: 0 auto 20px;
font-family: 'Caveat';   
font-size: 200%;
text-align: center;
}

cite {
margin: 10px auto 0;
font-family: 'Cutive Mono';
font-size: 13px;
text-align: center;
}

/* Code -------------------------------------- */

code,
kbd,
pre,
samp {
font-family: 'Cutive Mono';
font-size: 1.2em;
padding: 0.4rem 0.6rem;
}

code,
kbd,
samp {
background: rgba(0, 0, 0, 0.075);
border-radius: 0.2rem;
}

pre {
/*border: 0.1rem solid #dcd7ca;*/
line-height: 1.5;
margin: 40px 30px;
overflow: auto;
padding: 30px 30px;
text-align: left;
}

pre code {
background: transparent;
padding: 0;
}

/* Inputs ------------------------------------ */

input, textarea {    
outline-style:none; 
}

input[type="submit"] {
-webkit-appearance: none;
}

button {
border: 0;
}

/* Tables ------------------------------------ */

table {
border: 0.1rem solid #dcd7ca;
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
font-size: 1.6rem;
margin: 4rem 0;
max-width: 100%;
overflow: hidden;
width: 100%;
}

th,
td {
border: 0.1rem solid #dcd7ca;
line-height: 1.4;
margin: 0;
overflow: visible;
padding: 0.5em;
}

caption {
background: #dcd7ca;
font-weight: 600;
padding: 0.5em;
text-align: center;
}

thead {
vertical-align: bottom;
white-space: nowrap;
}

th {
font-weight: 700;
}

/* Media ------------------------------------- */

figure {
display: block;
margin: auto;
text-align: center;
max-width: 1280px;
}

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

audio {
display:none;
width:100%;
}

video {
display: block;
width: 100%;
height: 100%;
max-width: 1280px;
max-height: 720px;
}

svg,
img,
embed,
object {
margin: auto;
display: block;
height: auto;
max-width: 100%;
}

figcaption,
.wp-caption-text {
margin: 10px auto 0;
font-family: 'Cutive Mono';
font-size: 13px;
text-align: center;
}

/* Aside ------------------------------------- */

aside {
margin: 0;
padding: 0;
width: 1280px;
}

/*--------------------*/
/* CSS pour Wordpress */
/*--------------------*/

.alignleft,
.has-text-align-left >* {
text-align: left;
}
.alignright >*,
.has-text-align-right >* {
text-align: right;
}
.alignwide {
margin-left: -50px;
margin-right: -50px;
}
.alignfull {
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
}
.wp-block-quote >*,
.wp-block-pullquote >*,
.wp-block-table >*,
.wp-block-image >*,
.wp-block-audio >*,
.wp-block-video >*,
.aligncenter,
.has-text-align-center {
text-align: center;
}
blockquote.wp-block-quote p {
font-size: 200%;
}
.wp-block-pullquote {
margin: 60px 0;
padding: 0;
color: #a1c52a;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
.is-provider-youtube iframe,
.is-provider-spotify iframe {
width: 720px;
height: auto;
}
.is-provider-youtube iframe {
min-height: 540px;
}
.is-provider-spotify iframe {
min-height: 152px;
}
.wp-block-columns {
  position: relative;
  clear: both;
  left: -180px;
  width: 1080px;
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
  padding: 40px 0;
}
.wp-block-columns img {
/*  opacity: 0.9; */
}
.wp-block-column {
  position: relative;
  display: block;
  margin: 1%;
  padding: 0;
  flex: 50%;
  max-width: 48%;
}
.wp-block-column.fullsize {
  flex: 100%;
  max-width: 99%;
}
.wp-block-column .wp-block-gallery {
  padding: 0;
}
.wp-block-column .wp-block-image {
  padding: 10px 0;
}
.wp-block-column .wp-block-image figcaption {
  padding: 5px 0;
}
pre.wp-block-preformatted {
  white-space: normal;
  border-radius: 20px;
}
pre.wp-block-preformatted strong {
  white-space: normal;
}
.wp-block-button {
margin: 30px;
padding: 10px 0;
border-radius: 25px;
width: auto !important;
/*max-width: 300px;*/
max-height: 40px;
border: 0;
font-size: 0.9em;
background-color: #e77b06;
}
.wp-block-button:hover,
.wp-block-button:focus {
background-color: #fbb03b;
}
.wp-block-button a.wp-block-button__link {
margin: 10px auto;
padding: 10px 20px;
color: white;
text-decoration:none; 
}
figure.wp-block-embed.wp-block-embed-spotify {
margin: 30px;
padding: 0;
}

/* Colors */

.has-white-color,
.white {
color: #fff;
}
.has-black-color,
.black {
color: #000;
}
.has-darkgrey-color,
.darkgrey {
color: #5c4d48;
}
.has-grey-color,
.grey {
color: #eee;
}
.has-lightgrey-color,
.lightgrey {
color: #cecece;
}
.has-darkgreen-color,
.darkgreen {
color: #84ae22;
}
.has-green-color,
.green {
color: #a1c52a;
}
.has-lightgreen-color,
.lightgreen {
color: #c8dc7d;
}
.has-darkorange-color,
.darkorange {
color: #983e02;
}
.has-orange-color,
.orange {
color: #e77b06;
}
.has-lightorange-color,
.lightorange {
color: #ffc772;
}
.has-darkblue-color,
.darkblue {
color: #2c7c93;
}
.has-blue-color,
.blue {
color: #66b8d9;
}
.has-lightblue-color,
.lightblue {
color: #99dcff;
}
.has-darkyellow-color,
.darkyellow {
color: #fbb03b;
}
.has-yellow-color,
.yellow {
color: #f9d900;
}
.has-lightyellow-color,
.lightyellow {
color: #fff29a;
}
.has-white-background-color {
background-color: #fff;
}
.has-black-background-color {
background-color: #000;
}
.has-darkgrey-background-color {
background-color: #5c4d48;
}
.has-grey-background-color {
background-color: #eee;
}
.has-darkgrey-background-color {
background-color: #cecece;
}
.has-darkgreen-background-color {
background-color: #84ae22;
}
.has-green-background-color {
background-color: #a1c52a;
}
.has-lightgreen-background-color {
background-color: #c8dc7d;
}
.has-darkorange-background-color {
background-color: #983e02;
}
.has-orange-background-color {
background-color: #e77b06;
}
.has-lightorange-background-color {
background-color: #ffc772;
}
.has-darkblue-background-color {
background-color: #2c7c93;
}
.has-blue-background-color {
background-color: #66b8d9;
}
.has-lightblue-background-color {
background-color: #99dcff;
}
.has-darkyellow-background-color {
background-color: #fbb03b;
}
.has-yellow-background-color {
background-color: #f9d900;
}
.has-lightyellow-background-color {
background-color: #fff29a;
}

/* Others */

.meta {	
margin: 0 0 40px;
}
.bullet {
margin: 0 10px;
}
.legend {
font-size: 0.7em;
}
.short {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

/* Links format */

div.white a,
div.grey a {
font-weight: normal;
text-decoration: underline dotted;
color: #444;
}
div.black a,
div.green a,
div.orange a,
div.blue a {
text-decoration: underline dotted;
color: #eee;
}
div .meta a {
padding: 0;
font-family: 'Cutive Mono';
font-weight: bold;
font-size: 1em;
letter-spacing: -1px;
}
div .social a,
div .meta a {
color: #a1c52a;
}
div.white .link a,
div.grey .link a {
color: #a1c52a;
}
div .link a,
div .social a,
div .meta a {
text-decoration: none;
}

/* Buttons format */

div.orange .link.button .h6 {  
background-color: #a1c52a;
}
div.orange .link.button .h6:hover,
div.orange .link.button .h6:focus {  
background-color: #FBB03B;
}

/* HEADER */

.scroll-up {
top: -60px;
}
header {
position: fixed;
z-index: 100;
top: 0;
width: 100%;
height: 100%;
max-height: 60px;
background-color: #333;
opacity: 0.98;
transition: top 0.1s ease-in-out;
}
header.transparent {
background-color: rgba(255, 255, 255, 0.9);   
}
header.transparent nav ul li a {
color: #333;
}
header.transparent #logo { 
background-image: url("medias/logo-mixcity-noir.svg");

}
header nav {
margin: auto;
padding: auto;
width: 100%;
max-width: 1280px;
height: 100%;
max-height: 60px;
}
header nav a { 
display: flex;
float: left;
height: 100%; 
align-items: center;
}
header nav #logo { 
margin: auto auto auto 20px;
width: 100px;
height: 30px;
background-image: url("medias/logo-mixcity-blanc.svg");
background-position: center;
background-repeat: no-repeat; 
}
header nav ol {
display: none;
padding-top:50px;
}
header nav ul {
display: flex;
float: right;
justify-content: space-between;
margin: auto 20px auto auto;
width: 50%;
max-width: 1080px;
}
header nav ul li {    
display: flex;  
align-items: center;
height: 59px;
}
header nav ul li a {
text-decoration: none; 
font-size: 0.8em;
letter-spacing: 1px;
color: #fff;
}
header nav ul li a:hover {
transition: opacity 0.3s;
}
header nav ul li .playaudio {
display: flex;
align-items: center;
width: 100px; 
height: 30px;
border: 0;
border-radius: 20px;
background-color: transparent;
color: #fff;
font-size: 0.8em;
outline-style: none;  
}
header nav ul li .playaudio:before {
top:-1px; 
left:-3px;
padding: 0 0 5px 5px;
position: relative;    
font-family: HeydingsControlsRegular;
content: attr(data-icon);
font-size: 20px;       
}
header nav ul li .playaudio:hover {
cursor: pointer;
opacity: 0.9;
}
header nav ul li .playaudio[data-icon="u"] {
padding: 0 10px;
background-color: #e77b06;
}
header nav ul li .playaudio[data-icon="P"] {
padding: 0 10px;
background-color: #a1c52a;
}
header nav .menu-toggle {
display: none;
position: absolute;
padding: 0;
top: 25px;    
width: 20px;
height: 20px;
right: 15px;
cursor: pointer;
}
.hamburger, .hamburger::before, .hamburger::after {
content: '';
display: block;
background: #ccc;
height: 1px;
transition: all ease-in-out 350ms;
}
.hamburger::before {
transform: translateY(-5px);
}
.hamburger::after {
transform: translateY(4px);
}
.open .hamburger {
transform: rotate(45deg);
}
.open .hamburger::before { 
display: none;
}
.open .hamburger::after {
transform: translateY(0px) rotate(-90deg);
}
#header {
margin: 0 auto;
max-width: 1280px;
min-height: 200px;
text-align: center;
}
#header > * {
margin: 0;
}
#header .h1 {
padding: 0;
}
#header .h2 {
padding: 0;
}
#header .meta {
padding: 0 20% 20px 20%;
}

/* SECTIONS */

section,
.section {
display: block;
position: relative;
margin: auto;
padding: auto;
width: 100%;
height: auto;
z-index: 10;
}
.section.grey {
background-color: #eee;
}
.section.grey.gradient {
background: linear-gradient(to bottom,#fff,#eee);
}
.section.grey.gradient.inverse {
background: linear-gradient(to bottom,#eee,#fff);
}
.section.darkgrey {
background-color: #333;
}
.section.darkgrey.gradient {
background: linear-gradient(to bottom,#333,#444);
}
.section.darkgrey.gradient.inverse {
background: linear-gradient(to bottom,#444,#333);
}
.section.green {
background-color: #a1c52a;
}
.section.green.gradient {
color: #fcfcfc;
background: linear-gradient(to bottom,#a1c52a,#84AE22);
background: rgb(162,197,43);
background: radial-gradient(circle, rgba(162,197,43,1) 30%, rgba(132,174,34,1) 100%);
}
.section.green.gradient.inverse {
background: linear-gradient(to bottom,#84AE22,#a1c52a);
}
.section.white,
.section.grey {
color: #444;
}
.section.darkgrey,
.section.darkgrey a {
color: #aaa;
}
.section.black,
.section.green,
.section.orange, 
.section.blue {
color: #fcfcfc;
}
.section.orange {
background-color: #e77b06;
}
.section.orange.gradient {
background-color: #e77b06;
background: radial-gradient(circle, rgba(251,176,59,1) 10%, rgba(231,123,6,1) 100%);
}
.section.black {
background-color: #333;
}
.section.white {
background-color: #fff;
}
.section.blue {
background-color: #66B8D9;
}
.section figure {
padding: 20px 0;
}
.section.background {
position: relative;
min-height: 500px;
}
.section.background::before {
content: "";
background-image: var(--background-image);
background-size: cover;
background-position: center; 
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
height: auto;
/*opacity: 0.9;*/
border-bottom: 15px solid #eee;
}
.section.background.light::before {
content: "";
opacity: 0.4;
}
.section.background.normal::before {
content: "";
opacity: 1;
}
.section.background .playepisode {
display: inline-block;
position: relative;
padding: 10% auto 10%;
margin: 8% auto 8%;
width: auto;
height: auto;
line-height: 15px;
}
.section.background .playepisode.header .audiobutton {
-webkit-box-shadow: 5px 11px 15px -3px rgba(0,0,0,0.3); 
box-shadow: 5px 11px 15px -3px rgba(0,0,0,0.3);
}
.section.background .playepisode h1 {
font-size: 400%;
font-weight: lighter;
color: #fff;
}
.section.background .box {
display: inline-block;
position: relative;
padding: 20px auto 40px;
margin: auto auto 90px;
top: 40px;
width: auto;
height: auto;
line-height: 28px;
background-color: #fff;
opacity: 0.85;
border: 15px solid #eee;
box-shadow: 0 40px 40px -40px #000;
}
.section.background.coverpage .box {
box-shadow: 0 40px 40px -40px #666;
}
.section .box .link.button {
padding-top: 20px;
padding-bottom: 0;
padding: 20px auto 0;
}
.section.background .box.header .title,
.section.background .box.header .title h1,
.section.background .box .title {
margin: auto;
padding: 0;
}
.section.background .box.header {
margin-top: 60px;
padding: 40px;
}
.section.background .box.header h1 {
font-family: 'Comfortaa';
font-size: 400%;
font-weight: lighter;
}
.section.background figure,
.section.background .video,
.section.background .youtube,
.section .video, 
.section .youtube {
padding: 15px;
cursor: default;
background-color: #eee;
}
.section.background .podcast .item {
box-shadow: 0 40px 40px -40px #000;
}
.section.background .quote,
.section.background .photo {
display: inline-block;
position: relative;
padding: 20px auto 40px;
margin: 140px auto 90px;
width: auto;
height: auto;
opacity: 1;
}
.audiobutton {
margin: 0 auto;
padding: 10px 0;
border-radius: 25px;
width: auto !important;
max-width: 120px;
max-height: 40px;
border: 0;
font-size: 0.9em;
background-color: #E77B06;
}
.audiobutton button {
background-color: #E77B06;
color: #fff;
}
.audiobutton button:hover {
opacity: 0.9;
cursor: pointer;
}
.section .social {
max-width: 1200px;
text-align: right; 
}
.section .social span {
padding: 0 5px;
font-size: 0.8em;
}
.section .social a {
font-size: 1.3em;    
}
.section .credit-photo {
font-family: 'Cutive Mono';
margin: 0 0 20px;
font-size: 0.7em;
text-align: center; 
}
.space {
padding: 10px 0;
}

/* PODCAST */

.podcasts {
position: relative;
clear: both;
display: flex;
flex-wrap: wrap;
margin: 0 auto 20px;
padding: 0 auto;
max-width: 1280px;
color: #444;
}
.podcasts.items {
height: auto;
}
.podcasts .item { 
position: relative;
display: block;
margin: 0% auto;    
padding: 1%;
flex: 50%;
width: 100%;
height: 100%;
max-width: 46%;
max-height: auto;
cursor: default;
background-color: #f3f3f3;
}
.podcasts .item img { 
opacity: 0.95;
}
.podcasts .item img:hover { 
opacity: 1;
}
.podcast {
position: relative;
clear: both;
display: flex;
flex-wrap: wrap;
margin: 0 auto;
padding: 0 auto;
max-width: 1240px;
color: #444;
}
.podcast.items {
height: auto;
}
.podcast.items.large {
max-width: 1860px;
}
.podcast .large {
border: 50px;
}
.podcast .item { 
position: relative;
display: block;
margin: 2% auto;    
padding: 1%;
flex: 24%;
width: 100%;
height: 100%;
max-width: 20%;
max-height: auto;
cursor: default;
background-color: #f3f3f3;
}
.podcast .item.large {
margin: 2% auto;    
padding: 1%;
flex: 16%;
max-width: 12%;
max-height: auto;
}
.podcast .item-info {
position: relative;
}
.podcast .overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background-color: #FBB03B;
opacity: 0.9;
color: #983E02;
overflow: hidden;
width: 100%;
height: 0;
transition: .3s ease;
z-index: 2;
}
.podcast .item-info:hover .overlay { 
height: 100%;
left: 0;
cursor: pointer;
z-index: 2;
}
.podcast img {
display: block;
width: 100%;
height: auto;
}
.podcast img:hover { 
cursor: pointer;
}
.podcast .h3, .podcast .season {
color: #333;
text-align: left;
}
.podcast .h3 {  
padding: 0 0 11px 0;
text-transform: uppercase;
font-size: 100%;
white-space: nowrap;
font-family: 'Caveat';
font-weight: bold;
}
.podcast .h4 {
padding: 20px 0 10px 0;    
text-transform: uppercase;
font-weight: bold;
}
.podcast .legend {
padding: 5px 5% 100px 5%;
width: 90%;
max-height: 60%;
text-align: justify;
overflow: scroll;
line-height: 1.5em;
}
.podcast .season {
padding: 10px 0 4px 0;
overflow: hidden;
font-family: 'Montserrat';
font-size: 70%;
}
.podcast button {
display: flex;
margin: auto 0;
align-items: center;
border-radius: 25px;
background-color: transparent;
color: #fff;
width: 95px; 
height: 30px;
outline-style:none;
font-size: 13px;
}
.podcast button:before {
top:-1px;
padding: 0px 0px 3px 0;
position: relative;
font-family: HeydingsControlsRegular;
content: attr(data-icon);
font-size: 20px; 
}
.podcast button:hover {
cursor: pointer;
opacity: 0.9;
}
.podcast button[data-icon="u"] {
padding: 0 10px;
background-color: #e77b06;
}
.podcast button[data-icon="P"] {
padding: 0 10px;
background-color: #a1c52a;
}
.podcast .time {
position: absolute;
display: block;
top: 92%;
right: 15px;
font-size: 70%;
}

/* PORTFOLIO */

.portfolio {
position: relative;
clear: both;
display: flex;
flex-wrap: wrap;
margin: 0 auto;
padding: 0 auto;
width: 100%;
max-width: 1280px;
justify-content: space-evenly;
}
.portfolio.items {
height: auto;
}
.portfolio .item { 
position: relative;
margin : 1.5% 0;
padding: 0;
flex: 33%;
width: 100%;
height: 100%;
max-height: 28%;
max-width: 28%; 
cursor: default;
border: 10px solid #f3f3f3;
}
.portfolio .item-info {
position: relative;
display: none;
width: 100%;
height: 100%;
z-index: 1;
}
.portfolio .overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
color: #fff;
overflow: hidden;
width: 100%;
height: 0;
transition: .3s ease;
z-index: 2;
}
.portfolio .item-info:hover .overlay {
display: grid;
place-items: center;
height: 100%;
background-color: #333;
cursor: pointer;
z-index: 2;
}
.portfolio .item:hover .item-info {
position: absolute;
display: block;
width: 100%;
height: 100%;
opacity: 0.85;
}
.portfolio .item-info:hover .overlay .h2 {
display: grid;
place-items: center;
}
.portfolio .h2 {
margin: auto 10%;
height: 100%;
font-family: 'Cutive Mono';
line-height: 1.3;
font-size: 1.4em;
}
.portfolio h3, .portfolio .legend {
display: none;
}
.portfolio button {
padding: 0;
margin: 0 auto 10px;
border: 1px solid #ddd;
border-radius: 25px;
background-color: transparent;
color: #fff;
width: 40px;
height: 40px;    
outline-style:none;
}
.portfolio button:before {
position: relative;
top: -5px;
left: 1px;
font-family: HeydingsControlsRegular;
content: attr(data-icon);
font-size: 32px;    
opacity: 1;
}
.portfolio button:hover {
cursor: pointer;
border: 2px solid #ddd;
}
.portfolio button[data-icon="u"] {
background-color: #E77B06;
}
.portfolio button[data-icon="P"] {
padding-left: 3px;
background-color: #a1c52a;
}
.portfolio img {
display: block;
width: 100%;
height: auto;
}

/* POSTCARDS */

.postcard {
position: relative;
clear: both;
display: flex;
flex-wrap: wrap;
margin: 0 auto;
padding: 0 auto;
width: 100%;
max-width: 1280px;
justify-content: space-evenly;
}
.postcard.items {
height: auto;
}
.postcard .item { 
position: relative;
margin : 1.5% 0;
padding: 0;
flex: 33%;
width: 100%;
height: 100%;
max-height: 28%;
max-width: 28%; 
cursor: default;        
border: 10px solid #f3f3f3;
}
.postcard img {
display: block;
width: 100%;
height: auto;
}

/* BOOKS */

.library {
display: flex;
flex-wrap: wrap;
margin: 0 auto;
padding: 50px auto;
height: auto;
max-width: 1240px;    
}
.library .menu {
padding: 20px 2%;
width: auto;
min-width: 150px;
font-size: 0.7em;
}
.library .menu>* {
text-align: left;
}
.library .menu .title {
margin: 0 0 20px 0;
line-height: 1;
}
.library .menu p {
margin: 10px auto;
font-family: 'Cutive Mono';
font-size: 1.4em;
line-height: 1.4;
}
.library .menu li {
line-height: 3em;
font-size: 1.1em;
}
.book {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(16.5%, auto));
padding: 0 1%;
min-width: 75%;
width: 100%;
}
.book .item {
margin: auto 0 0 0;
padding: 20px 0;
width: auto;
cursor: default; 
}
.book img {
margin: 0 auto;
width: 80%;
height: auto;
}
.book .item:hover img {
transition: opacity 0.2s;
opacity: 0.8;
}
.section.green .book .item:hover img {
border: 1px solid #E77B06;
}
.book a:hover {
opacity: 1;
}

/* ARTICLE */

article {
margin: 0 auto;
padding: 40px 5%;
max-width: 720px;
text-align: left;
}
article .has-text-align-left,
article .has-text-align-right { 
position: relative;
max-width: 200px;
font-size: 22px;
font-family: 'Cutive Mono';
font-weight: bold;
text-transform: uppercase;	
line-height: 1.5; 
}
article .has-text-align-left { 
float: left;
margin-right: -400px;
right: 340px;
}
article .left.list { 
text-transform: lowercase;
}
article .has-text-align-right { 
float: right;
margin-left: -400px;
left: 340px;
text-align: left;
}
article h1 {
padding: 0;
font-size: 3.2em;
}
article h2,
article h3 {
font-family: 'Arsenal';
margin: 20px 0;
font-size: 160%;
}
article p {
font-size: 0.9em;
letter-spacing: 0.1em;
text-align: justify;
}
article a {
text-decoration: underline dotted;
}
article .has-text-align-left cite,
article .has-text-align-right cite {
font-size: 0.5em;
font-weight: normal;
font-family: 'Montserrat';
line-height: 50px;
text-transform: none;
}
article li,
article ol,
article ul {	
overflow: unset;
margin: 10px 0 20px 20px;
padding: 0;
line-height: 1.7;
font-family: 'Montserrat';
font-size: 0.95em;
letter-spacing: 0.1em;
}
.articles {
position: relative;
clear: both;
display: flex;
flex-wrap: wrap;
margin: 0 auto 20px;
padding: 0 auto;
max-width: 1366px;
color: #444;
}
.articles.items {
height: auto;
}
.articles .item { 
position: relative;
display: block;
margin: 2% auto;    
padding: 1%;
flex: 46%;
width: 100%;
height: 100%;
max-width: 46%;
max-height: auto;
cursor: default;
background-color: #f3f3f3;
box-shadow: 0 30px 30px -30px #999;
}
.articles .item-info {
position: relative;
min-width: 630px;
max-height: auto;
}
.articles .overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background-color: #333;
opacity: 0.7;
color: #fff;
overflow: hidden;
width: 100%;
height: 0;
transition: .3s ease;
z-index: 2;
}
.articles .item-info:hover .overlay { 
height: 100%;
left: 0;
cursor: pointer;
z-index: 2;
}
.article img,
.articles img {
display: block;
width: 100%;
height: auto;
background-color: #333;
opacity: 0.95;
}
.articles img:hover { 
cursor: pointer;
}
.articles .h2 {  
padding: 10px 0 5px 0;
white-space: nowrap;
font-family: 'Caveat';
line-height: 1.3;
font-size: 1.6em;
}
.articles .h3 {
padding: 40px 20px 15px 20px;
text-transform: uppercase;
font-weight: bold;
text-align: center;
font-size: 1.4em;
}
.articles .legend {
padding: 5px 5% 100px 5%;
width: 90%;
max-height: 60%;
text-align: justify;
overflow: scroll;
line-height: 1.5em;
font-size: 0.9em;
}
.articles .item a {
text-decoration: none;
}

/* CONTACT */

.contact {
display: -ms-flex;
display: -webkit-flex;
display: flex;
margin: 0 auto;
padding: 0 20px;
max-width: 1280px;
color : #555;
}
.contact > div {
padding: 10px;
}
.contact > div:first-child {
padding: 10px 50px 0 0;
width: auto;
}
.contact > div:nth-child(2) {
width: 650px;
}
.contact > div:last-child {
padding: 250px 0 20px 30px;
width: 250px;
}
.contact h1 {
padding: 150px 0 40px 0;
text-align: left;
}
.contact .h2, p, .social {
text-align: left;
font-family: 'Comfortaa';
}
.contact .h2 {
margin: 0 0 10px 0;
font-size: 1.0em;    
}
.contact p {
font-size: 0.8em
}
.contact form {
padding: 0 0 100px 0;
}
.contact input, textarea {
margin: 0 0 20px 0;
padding: 10px 20px;
width : 650px;
font-size: 16px;
border: 1px dashed #aaa;
border-radius: 25px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
background-color: #eee;
color: #333; 
}
.contact input:hover, textarea:hover {
background-color: #fff; 
}
.contact input {
height: 50px;
}
.contact input[type="submit"] {
margin: 0 0 0 530px;
width: 120px;
border: 0;
background-color: #E77B06;
color: #fff;
text-transform: uppercase;
}
.contact input[type="submit"]:hover {
opacity: 0.8;
cursor: pointer;
}
.contact .social a {
padding: 10px 5px;
color: #333;
}

/* HOMEPAGE */

#header >* {
margin: auto;
}
.title {
display: block;
margin: 0 auto;
padding: 40px 0 20px;
max-width: 720px;
}
.section.white .title {
padding: 50px 0 20px;
}
.title .h1 {
margin: 20px 20px 10px;
}
.title .h2 {
margin: 20px 20px 10px;
font-size: 1.1em;
line-height: 1.4;
}
.library .title {
padding: 0;
}

/* COMMUNITY */

.community {
position: relative;
clear: both;
display: flex;
flex-wrap: wrap;
margin: auto;
max-width: 1040px;
justify-content: space-between;
}
.community>* {
margin: 0 auto;
padding: 0 auto;
width: 33%;
text-align: center;
}
.community item {
position: relative;
flex: 33%;
}
.community .h1,
.community .h2 {
font-family: 'Montserrat';
}
.community .h1 {
font-size: 0.8em;
letter-spacing: 1px;
text-transform: uppercase;
}
.community .h2 {
font-size: 0.8em;
font-weight: normal;
line-height: 1.3;
}
.community .h2 span {
padding-bottom: 0;
font-size: 6.1em;
font-weight: bold;
}

/* TEASING */

.section .teasing .h1 {
margin: 40px auto 20px;
padding: 0 20px;
font-size: 180%;
font-weight: normal;
}
.section .teasing.footer .h1 {
color: #666;
}

/* FOOTER */

footer {
position: relative;
margin: 0 auto;
padding: 40px 0 50px 0;
width: 100%;
height: auto;
color: #aaa;
background-color: #333;
background: linear-gradient(to bottom,#333,#444);
z-index: 1;
}
footer a {
color: #aaa;
}
footer .platform {  
display: flex;
margin: 0 auto 40px auto;
max-width: 580px;   
}
footer .platform>* {
flex: auto;
height: 50px;
vertical-align: middle;
background-position: center;
background-repeat: no-repeat;
background-size: 60%;
}
footer .platform #apple {
background-image: url("medias/logo-apple.png");
}
footer .platform #google {
background-image: url("medias/logo-google.png");
}
footer .platform #spotify {
background-image: url("medias/logo-spotify.png");
}
footer .platform #rss {
background-image: url("medias/logo-rss.png");
}
footer .platform a {
opacity: 0.5;
}
footer .platform a:hover {
opacity: 1;
}
footer #newsletter {
display: inline-flex;
margin: 0 auto 30px auto;
width: auto;
font-family: 'Comfortaa';
text-transform: uppercase;
}
footer .titre {
margin: 0 20px 0 0;
font-size: 2em;
letter-spacing: -1px;
float: right;
}
footer .description {
font-size: 0.7em;
line-height: 1.45; 
text-align: left;    
font-family: 'Montserrat';
}
footer form {
max-width: 780px;
margin: 0 auto;
}
footer #email {
padding: 0 30px;
width: 50%;
}
footer input {
margin: 0 10px;
border-radius: 25px;
width: auto;
height: 40px;
border: 0;
font-size: 0.9em;
background-color: #eee;
}
footer input:hover {
background-color: #fff;
}
footer input[type="submit"] {
min-width: 120px;
color: #fff; 
text-transform: uppercase;
background-color: #E77B06;
}
footer input[type="submit"]:hover {
cursor: pointer;
opacity: 0.8;
}
footer .social {
display: flex;    
margin: 40px auto 0 auto;
max-width: 280px;  
min-width: 60px;
}
footer .social >* {
margin: auto;
max-width: 30px;
text-align: center;    
}
footer .fa {
font-size: 1.4em;
color: white;
}
footer .social a {
opacity: 0.5;
}
footer .social a:hover {
opacity: 1;
}
footer .legal {
width: auto;
font-size: 0.7em;
}
footer a:hover {
transition: opacity 0.3s;
}

/* VIDEO PLAYER */

.video, .youtube {
position: relative;
margin: auto;
width: 100%;
height: 100%;
max-width: 1280px;
max-height: 720px;
cursor: default;    
transition: opacity 1s; 
}
.video:hover {
cursor: pointer;
}
.video:hover button {
opacity: 0.8;
transition: opacity 1s;
}
.video button {
position:absolute;
top: 45%;
left: 47%;
display: block;
padding: 0;
margin: 0 auto 10px;
border: 1px solid #ddd;
border-radius: 40px;
background-color: transparent;
color: #fff;
width: 80px;
height: 80px;    
outline-style:none;
opacity: 0;    
/*    box-shadow: 0 0 10px #333;    */
}
.video button:before {
position: relative;
top: -10px;
left: 2px;
font-family: HeydingsControlsRegular;
content: attr(data-icon);
font-size: 62px;

}
.video button:hover {
background-color: #a1c52a;
cursor: pointer;
opacity: 1;
}
.video button[data-icon="u"] {
padding: -2px 0;
background-color: #e77b06;
transition: opacity 1s;
}
.video button[data-icon="P"] {
padding: 0 10px;
background-color: #a1c52a;
opacity: 0.8;
transition: opacity 1s;
}

/* AUDIO PLAYER */

.player {
position: fixed;
display: none;
padding: 0;
border-top: 2px solid #A2C52B;
left: 0;
bottom: 0;
width: 100%;
height: 60px;
z-index: 100;   
background: linear-gradient(to bottom,#222,#333);
}
.player .controls {
opacity: 0.7;
transition: 0.2s all;
display: flex;    
padding-left: 20px;
}
.player button, 
.player .controls {
background: linear-gradient(to bottom,#222,#333); 
}
.player:hover .controls, 
.player:focus .controls {
opacity: 1;    
}
.player button:before {
font-family: HeydingsControlsRegular;
font-size: 16px;
position: relative;
content: attr(data-icon);
color: #aaa;
}
.player button, .timer {
height: 30px;
line-height: 39px;    
}
.player button {
position: relative;
max-width: 40px;
border: 0;
flex: 1;
outline: none;
color: #fff;
cursor: pointer;
}
.player button:active {
color: #fff;
}
.player .play:before {
top: -6px;
left: 1px;
font-size: 32px;
}
.player .play {
border: 1px solid #ddd;
border-radius: 25px;   
height: 40px;
margin: 10px;    
}
.player .play[data-icon="u"] {
padding-left: 9px; 
}
.player .fwd, 
.player .rwd, 
.player .mute {
width: 50px;
height: auto;
}
.player .timer {
position: relative;
margin: 0 0 0 20px;
height: auto;
line-height: 60px;
font-size: 12px;
color: white;
flex: 1;    
}
.player .timer div {
position: absolute;
background-color: rgba(162,197,43,0.5);
left: 0;
top: 0;
width: 0;
height: 60px;
z-index: 2;
}
.player .timer #time {
position: absolute;
z-index: 3;    
font-family: 'Montserrat';
left: 19px;
width: auto;
cursor: default;
background: none;
}
.player .timer #episode {
position: absolute;
z-index: 3;
left: 79px;
width: auto;
font-family: 'Montserrat';
background: none;
}
.player .volume:before { 
color: #A2C52B;
}
.player .volume.mute:before { 
color: #E77B06;
}
.player .volume {
max-width: 100px;
height: auto;
}
.player .active:before {
color: #fff;   left: -5px;
}

/* DARK MODE */
/* A développer en V2
@media screen and (prefers-color-scheme: dark) {
body {
background-color: #444;
color: #fff;
}
.section {
opacity: 0.8;
}
footer {
background-color: #333;
}
img {
opacity: 0.9;
}
.legend {
color: #333;
}
.podcast .item {
color: #eee;
background-color: #888;
}
.podcast .item:hover .item-info {
background-color: #aaa;
}
}
*/

/************
** 1860 PX **
************/

@media screen and (max-width: 1860px) {
.homepage .podcast .item:nth-last-child(1) { 
display: none;
}
.podcast  { 
width: 90%;
}
.podcast .item.large {
margin: 2% auto;    
padding: 1%;
flex: 20%;
max-width: 16%;
max-height: auto;
}
}

/************
** 1366 PX **
************/

@media screen and (max-width: 1366px) {

.section.background figure,
.section.background .video,
.section.background .youtube,
.section .video, 
.section .youtube {
padding: 0;
}
.homepage .podcast .item:nth-last-child(2),
.homepage .podcast .item:nth-last-child(1) { 
display: none;
}
.podcast  { 
width: 96%;
}
.podcast .item.large {
margin: 2% auto;    
padding: 1.5%;
flex: 25%;
max-width: 19%;
max-height: 19%;
}

}

/************
** 1320 PX **
************/

@media screen and (max-width: 1320px) {
.section.header figure,
.section.header .video {
width: auto;
}
.articles .item-info {
min-width: 100%;
}
}

/************
** 1280 PX **
************/

@media screen and (max-width: 1280px) {
header nav ul {
width: 60%;
}
header.transparent #logo { 
background-image: url("medias/logo-mixcity-blanc.svg");
}
header.transparent nav ul li a {
color: #fff;
}
header.transparent {
background: #333;
}
#header,
#header h1 {
padding: 0;
min-height: auto;
}
.section.background .playepisode {
margin: 25% auto 25%;
min-height: auto;
}
.section.background .playepisode.header h1 {
font-size: 350%;
}
.section.background.coverpage::before {
top: 60px;
}
.section.background .photo {
margin: 50px auto 0;
}
.section .video,
.section .youtube {
width: 90%;
}

.section .youtube { 
height: 0;
padding-bottom: 56.25%;
}
.section .youtube iframe { 
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
.section.header .youtube {
margin: 0;
left:0;
top:0;
width: 100%;
height: auto;
background: none;
box-shadow: none;
}
.section.white .title {
padding: 30px 0 20px;
}
.section .teasing h1 {
margin: 20px auto 20px;
font-size: 140%;
}
.section .social {
margin: 0 3% 0 auto;
width: auto;
}
.section .credit-photo {
margin: 20px 0 20px;
}
article .has-text-align-left, 
article .has-text-align-right { 
float: none;
left: 0;
right:0;
margin: 10px auto 20px auto;
max-width: 90%;
font-family: 'Caveat';
font-weight: 100;
font-size: 1.3em;
text-transform: none;
text-align: center;
letter-spacing: 0;
}
.articles.items .h2 { 
padding: 10px;
}
.articles .item { 
padding: 0;
box-shadow: none;
}
.articles .overlay {
display: none;
}
.book {
grid-template-columns: repeat(auto-fill, minmax(25%, auto));
}
.library.light .book .item:nth-last-child(2), 
.library.light .book .item:nth-last-child(1) { 
display: none;
}
.community>* {
max-width: 85%;
font-size: 75%;
}

/************
** 1080 PX **
************/
  
@media screen and (max-width: 1080px) {
header nav ul {
width: 75%;
}
.section.background .box.header {
margin: 60px 10% 80px;
}
.section.background .box.header h1 {
font-size: 350%;
}
.wp-block-columns {
left: -5%;
width: 110%;
padding: 20px 0;
margin: 0;
}
.podcast .item.large,
.podcast .item { 
margin: 2% auto;   
padding: 1.5%;
flex: 33%;
max-width: 27%;
max-height: 26%;
}
.portfolio .item { 
border: 7px solid #f3f3f3;
}
button.playvideo,
.homepage .podcast .item:nth-last-child(3),
.homepage .podcast .item:nth-last-child(2),
.homepage .podcast .item:nth-last-child(1),
.podcast .item:nth-last-child(1) { 
display: none;
}
.homepage .podcast .h2 {  
font-size: calc(0.3vw + 0.9vh + 0.3vmin);
}
.homepage .book .item { 
padding: 30px 1% 20px 20px;
}
}

/************
**  720 PX **
************/

@media screen and (max-width: 720px) {
.space {
padding: 7px 0;
}
header {
height: 50px;
background-color: #333;
opacity: 1;
}
header nav ul, 
header nav ul.opening .playaudio {
display: none;
}
header nav ol.opening {
display: inline-flex;
width: 100%;
}
header nav ol.opening li {
display: flex;
width: 100%;
height: 200px;
font-size: 0.9em;
background-color: #555;
}
header nav ol.opening li.active {
background-color: #fff;
}
header nav ol.opening li a {
margin: auto;
font-family: 'Comfortaa';
color: #666;
}
header nav ol.opening li:hover{
background-color: #a1c52a;
}
header nav ul.opening {
display: block;
margin: 0;
padding-top: 20px;
width: 100%;
max-width: 100%;
height: 1500px;
background-color: #333;
border-top:1px solid #a1c52a;
}
header nav ul.opening li {
display: flex;
margin: auto;
width: 100%;
height: 60px;
font-size: 1.4em;
}
header nav ul.opening li a {
margin: auto 20px;
color: #fff;
font-weight: bold;
}
header nav .menu-toggle {
display: block;
}
.section.header {
margin: 50px auto 0;
}
.section.background {
min-height: 350px;
}
.section.background.coverpage::before {
top: 50px;
}
.section.background .playepisode {
margin: 30% auto 30%;
}
.section.background .playepisode.header h1 {
font-size: 250%;
}
.section.background .box.header {
margin: 60px 20px 90px;
padding: 20px 0;
}
.section.background .box.header h1 {
font-size: 250%;
}
.section.background .quote {
margin: 50px auto 0;
}
.title h1 {
font-size: 1.9em;
}
.title h1,
.title h2 {
margin: 30px 5% 20px;
}
article h2,
article h3 {
font-size: 1.7em;
}
article p {
font-size: 0.9em;
}
.wp-block-column {
left: 4%;
margin: 0;
flex: 100%;
max-width: 92%;
}
.articles .item { 
margin: 4% auto;
padding: 2%;
flex: 90%;
max-width: 90%;
}
.podcasts .item {
margin: 2% auto;
flex: 100%;
}
.podcast  { 
max-width: 100%;
}
.podcast .item.large,
.podcast .item { 
margin: 2% auto;
padding: 2%;
flex: 50%;
max-width: 40%;
max-height: 40%;
}
.homepage .podcast .item:nth-last-child(4),
.homepage .podcast .item:nth-last-child(3),
.homepage .podcast .item:nth-last-child(2),
.homepage .podcast .item:nth-last-child(1) {
display: none;
}
.podcast .item:nth-last-child(1) {
display: unset;
}
.podcast .h2 {
font-size: 20px;
}
.podcast .h3 {
padding: 0 0 9px 0;
font-size: 90%;
/* white-space: normal; */
}
.podcast .season {
font-size: 50%;
}
.podcast button {
width: 35px; 
height: 35px;
}
.podcast button span {
display: none;
}
.podcast .playaudio span {
display: none;
}
.is-provider-youtube iframe,
.is-provider-spotify iframe {
width: 100%;
}
.portfolio .item { 
border: 5px solid #f3f3f3;
}
.portfolio .h2 { 
line-height: 1.2;
font-size: 1.1em;
}
.portfolio button {
margin: 7% auto;
width: 60px;
height: 60px;
border-radius: 30px;
}
.library {
padding: 0;
max-width: 90%;
}
.book {
grid-template-columns: repeat(auto-fill, minmax(33%, auto));
}
.library.light .book .item:nth-last-child(3) { 
display: none;
}
.book .item { 
padding: 2% auto;
}
.book .item img {
width: 100px;
height: auto;
}
.community>* {
font-size: 40%;
}
footer .platform>* {
background-size: 60%;
}
footer .titre {
display: none;
}
footer .description {
padding: 0 10%;
text-align: center;
font-size: 0.9em;
}
footer #email {
width: 60%;
}
footer #submit {
display: none;
}
footer .legal {
padding: 40px 15% 0 15%;
}
.player {
height: 50px;
border-top: 1px solid #A2C52B;
}
.player .controls {  
padding: 0;
}
.player .play {
border: 0;
margin: 6px;    
}
.player .timer {
margin: 0;
line-height: 50px;
font-size: 0.7em;   
}
.player .timer span {
left: 7px;
}
.player .timer .episode {
left: 45px;
}
.player .fwd, 
.player .rwd, 
.player .mute,
.player .volume {
display: none;
}
}

/************
**  480 PX **
************/

@media screen and (max-width: 480px) {
.portfolio .item {   
border: 0;
}
}