/* Main CSS of TEDxLakeComo.com
(c) 2020 TEDxLakeComo.com. All rights reserved. */

:root {
    /* Variables */
    --main-page-width: 864px;
    --max-page-width: 1800px;
    --main-page-side-padding: 2rem;
    --header-min-height: 500px;
    --main-header-logo-width: 50vw;
    --navbar-height: 55px;
    --alt-section-color: #334D5B;
    --alt-section-text-color: white;
    --alt-section-header-color: white;
    --alt-link-text-color: white;
    --partner-background-color: #dae1e5;
    --ted-red: #e62b1e;
    --light-gray: #f2f2f2;

    /* Disabling the alternating colors */
    --alt-section-color: white;
    --alt-section-text-color: black;
    --alt-link-text-color: var(--ted-red);
    --alt-section-header-color: var(--ted-red);
    --partner-background-color: white;
}

html, body {
    font-size: 62.5%;
    font-family: 'Roboto Slab', 'Times New Roman', Times, serif;
    line-height: 3.4rem;
    font-weight: 300;
    overflow-x: hidden;
}

body {
    padding-top: var(--navbar-height);
}

.bold {
    font-weight: bold;
}

.ted-red {
    color: var(--ted-red);
}


/* CSS for header */
header {
    width: 100%;
    height: 56.25vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 0;
    /* background-image: url("https://storage.needpix.com/rsynced_images/universe-2303321_1280.jpg"); */
    /* background-repeat: no-repeat; */
    /* background-position: center center; */
    /* background-attachment: fixed; */
    /* background-size: cover; */
}

#header-video {
    display: block;
    width: 100%;
}

#header-video-mobile {
    display: none;
    width: 100%;
}

#header-logo-container {
    max-width: var(--main-header-logo-width);
}

#header-logo {
    width: 100%;
    margin-bottom: 1rem;
    padding-top: 40px;
}

#header-venue {
    /* border: 1px solid red; */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* width: var(--main-header-logo-width); */
    max-width: var(--main-page-width);
}

#header-venue span {
    color: var(--ted-red);
    font-weight: 400;
    font-size: 2.3rem;
    font-family: Roboto, Arial, sans-serif;
    margin: 0;
    /* text-shadow: 1.5px 1.5px 0px #3162A8; */
}

#btn-acquista div {
    margin-bottom: 1rem;
    margin-top: 2rem;
}

.pad-left-1rem {
    padding-left: 1rem;
}

#cover-copyright {
    display: flex;
    width: calc(100% - 30px);
    color: white;
    font-size: 1.5rem;
    justify-content: flex-end;    
    margin-top: -4rem;
    text-shadow: 2px 2px 3px black;
}

#cover-copyright a {
    text-decoration: none;
    color: white;
}

/* CSS for buttons */

div.button {
    background: var(--ted-red);
    padding: 1.5rem 6rem;
    border: 2px white solid;
    text-align: center;
    cursor: pointer;
    border-radius: 6px;
}

.button {
    font-family: Roboto, Arial, sans-serif;
    font-size: 2rem;
    text-decoration: none;
    font-weight: bold;
    color: white !important;
    text-transform: uppercase;
}

.transparent-red {
    background: rgba(230, 43, 30, 0.8) !important;
}

.smaller-text {
    font-size: 1.5rem;
}

/* CSS for footer */

footer {
    background-color: black;
    color: white;
    padding-top: 3rem;
    padding-bottom: 2rem;
    text-align: center;
    font-size: 1.5rem;
}

.social {
    color: white;
    padding: 0 1.5rem;
}

.social i {
    font-size: 3rem;
}

div.social {
    color: #666;
    padding-top: 1rem;
}

div.social a {
    font-weight: normal;
}

/* CSS for links */

a:link, a:visited, a:hover, a:active {
    color: var(--ted-red);
    text-decoration: none;
    font-weight: bold;
}

section:nth-child(2n+1) a:link,
section:nth-child(2n+1) a:visited,
section:nth-child(2n+1) a:hover,
section:nth-child(2n+1) a:active {
    color: var(--alt-link-text-color);
}

/* CSS for Section */

section {
    width: 100%;
    font-size: 1.8rem;
    padding-top: 3rem;
    padding-bottom: 2rem;
}

/* section:nth-child(2n+1) {
    background: var(--alt-section-color);
    color: var(--alt-section-text-color);
} */

section p {
    margin: auto;
    padding: 2rem var(--main-page-side-padding) 2rem var(--main-page-side-padding);
    max-width: var(--main-page-width);
}

section#intro {
    text-align: justify;
    text-justify: inter-word;
    padding-top: 2rem;
}

section#intro p:last-of-type {
    padding-bottom: 8rem !important;
}

section#team {
    background-image: url("../img/team-bg.jpg");
    background: linear-gradient(to bottom, rgba(255,255,255,0.3) 0%,rgba(255,255,255,0.3) 100%), url("../img/team-bg.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
}

/* CSS for Headings */

h1, h2, h3 {
    margin: auto;
    padding: 2rem var(--main-page-side-padding) 2rem var(--main-page-side-padding);
    max-width: var(--main-page-width);
    font-family: Roboto, Arial, sans-serif;
    color: var(--ted-red);
}

h1 {
    font-size: 4rem;
}

h2 {
    font-size: 3rem;
}

h3.title {
    font-size: 2.5rem;
    padding-bottom: 0;
}

section h3.title::before {
    display: inline-block;
    content: "";
    border-top: 0.5rem solid var(--ted-red);
    width: 100rem;
    margin: 0 1rem;
    transform: translate(-103rem, 2.8rem);
}

section h2::before {
    display: inline-block;
    content: "";
    border-top: 2rem solid var(--ted-red);
    width: 100rem;
    margin: 0 1rem;
    transform: translate(-103rem, 3.3rem);
}

section:nth-child(2n+1) h2 {
    color: var(--alt-section-header-color);
}

section:nth-child(2n+1) h2::before {
    border-top: 2rem solid var(--alt-section-header-color);
}

h3 {
    font-size: 2.5rem;
}

#partner h3 {
    color: var(--ted-red);
    text-align: center;
}

#partner h3:not(h3:first-of-type) {
    margin-top: 5rem;
}

.handwriting {
    font-family: 'Shadows Into Light', cursive !important;
    font-size: 3rem;
    color: var(--ted-red);
}

/* CSS for quotations */

.quote-list {
    display: flex;
    flex-direction: column;
    max-width: var(--main-page-width);
    margin: auto;
    padding: 2rem var(--main-page-side-padding) 0 var(--main-page-side-padding);
}

.quote-list blockquote:before {
    color: var(--ted-red);
    content: open-quote;
    font-size: 8rem;
    font-family: 'Times New Roman', Times, serif;
    vertical-align: -2rem;
}

.quote-list blockquote {
    align-self: flex-start;
    background: var(--light-gray);
    width: 80%;
    margin: 0;
    margin-bottom: 3rem;
    padding: 2rem;
    border-top-left-radius: 2rem;
    border-bottom-right-radius: 2rem;
    quotes: "“" "”";
}

.quote-list blockquote:nth-child(2n+1) {
    align-self: flex-end;
}


.quote-list blockquote p {
    display: inline;
    margin: 0;
    padding: 0;
}

.cite-source {
    font-size: 1.25rem;
    color: #666;
}

/* CSS for panoramic images (flexbox) */

.panoramic-box {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
}

.panoramic-box .pano-3 {
    width: calc(100% / 3);
}

.panoramic-box .pano-2 {
    width: 50%;
}

.panoramic-box .pano-1 {
    width: 100%;
}

/* CSS for Google Map */

.google-map, .google-map iframe {
    height: 450px;
    width: 100%;
    border: 0;
}

/* CSS for responsive flex containers (e.g., team and partner) */

.flex-container {
    max-width: var(--main-page-width);
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--main-page-side-padding);
    padding-right: var(--main-page-side-padding);
}

.flex-center {
    justify-content: center;
}

.flex-space-between {
    justify-content: space-between;
}

.flex-center-item {
    margin: 0.5rem;
}

/* CSS for Partners */

.partner {
    max-width: 1100px;
    justify-content: center;
}

.flip-card, .partner-logo {
    width: 150px;
    height: 150px;
}

.visionari .flip-card, .visionari .partner-logo {
    width: 250px;
    height: 250px;
}

.pionieri .flip-card, .pionieri .partner-logo {
    width: 192px;
    height: 192px;
}

.esploratori .flip-card, .esploratori .partner-logo  {
    width: 175px;
    height: 175px;
}

.flip-card {
    background-color: transparent;
    perspective: 1000px;
    padding: 1.5rem;
    margin: 1.5rem;
    background: var(--partner-background-color);
    border-radius: 5%;
    border: 1px solid lightgray;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.flip-card-front {
    color: black;
}

.flip-card-back {
    color: black;
    transform: rotateY(180deg);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 1.3;
    display: flex;
    justify-content: center;
    align-items: center;
}

.flip-card.visionari > div > .flip-card-back {
    font-size: 1.8rem;
}

.flip-card.tecnici > div > .flip-card-back, .flip-card.patrocini > div > .flip-card-back  {
    font-size: 1.35rem;
}


/* CSS for Team */

div.team {
    max-width: 1390px !important;
}

div.team-member {
    width: 192px;
    height: 192px;
    max-width: 192px;
    padding: 20px;
}

img.team-member-pict {
    width: 100%;
}

.team-member-pict {
    background-repeat: no-repeat;
}

.team-member-pict {
    transition: background-image 2s ease-in-out;
    width: 100%;
    height: 100%;
    background-size: contain;
}

div.team-member-info {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 192px;
    height: 192px;
    background: rgba(230,43,30,0.5); 
    color: white;
    text-shadow: 2px 2px 2px var(--ted-red);
  }
  

.nome-team-member, .ruolo-team-member {
    margin: 0;
    padding: 0;
    color: white !important;
}

.ruolo-team-member {
    font-size: 1.8rem;
    font-weight: 100;
}

div.team-member:nth-of-type(2n+1) div.team-member-info  {
    background: rgba(0,0,0,0.5); 
    text-shadow: 2px 2px 2px #333 !important;
}

/* CSS for thumbs to access past editions */

.quick-link-edizioni {
    flex-wrap: nowrap;
}

.quick-link-edizioni div {
    margin-right: 2rem;
}

.quick-link-edizioni div:last-child {
    margin-right: 0;
}

.quick-link-edizioni a img {
    width: 100%;
}

/* CSS for responsive grid of youtube videos */

.video {
    max-width: var(--max-page-width) !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: auto;
    margin-bottom: 2rem;
    padding-left: 0;
    padding-right: 0;
}

div.video-item {
    margin: 1rem;
    background-color: var(--light-gray);
    color: var(--ted-red) ;
}

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

iframe.embed-responsive-item {
    border: 0;
}

/* CSS for about TED and TEDx */

.about-ted-container {
    max-width: var(--main-page-width);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: auto;
    margin-bottom: 2rem;
    padding-left: var(--main-page-side-padding);
    padding-right: var(--main-page-side-padding);
    text-align: justify;
    text-justify: inter-word;
    font-size: 1.6rem;
}

.about-ted-container div p {
    padding-left: 0;
    padding-right: 0;
}

.about-ted-container div:first-child {
    width: 60%;
}

.about-ted-container div:last-child {
    width: 35%;
}


#newsletter-container {
    max-width: var(--main-page-width);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: auto;
    padding-left: var(--main-page-side-padding);
    padding-right: var(--main-page-side-padding);
    margin-bottom: 3rem;
}

#newsletter-email {
    width: 82%;
}

#newsletter-button {
    width: 17%;
    background: var(--ted-red);
    padding: 1.5rem;
    border: 2px white solid;
    color: white;
    font-family: Roboto, Arial, sans-serif;
    font-size: 2rem;
    font-weight: bold;
    text-transform: uppercase;
    -webkit-appearance: none;
}

#container-acquista-biglietti {
    margin: auto;
    padding: 2rem var(--main-page-side-padding) 2rem var(--main-page-side-padding);
    max-width: var(--main-page-width);
    -webkit-overflow-scrolling: touch;
}

/* CSS for Patron */

span.patron {
    margin: 1.5rem 0;
    padding: 0 1.5rem;
    text-transform: capitalize;
    border-left: 2px solid var(--ted-red);
}

/* CSS for Protagonisti */

div.protagonisti {
    max-width: var(--max-page-width) !important;
    padding-left: 0;
    padding-right: 0;
}

.container-protagonista {
    display: block;
    width: 200px;
    margin: 2rem; 
    padding: 0;
    text-align: center;
}

.container-protagonista a {
    cursor: pointer;
}

.protagonista-hover {
    position: absolute;
    border: 0px;
    opacity: 0;
    -webkit-transition: opacity ease .5s;
    -moz-transition: opacity ease .5s;
    transition: opacity ease .5s;
    background: rgba(230, 43, 30, 0.5);
    z-index: 1;
}

div.protagonisti div.container-protagonista:nth-of-type(2n+1) a .protagonista-hover {
    background: rgba(0,0,0, 0.4);
} 

.protagonista-border {
    position: absolute;
    background: var(--ted-red);
    width: 200px;
    height: 200px;
}

div.protagonisti div.container-protagonista:nth-of-type(2n+1) a .protagonista-border {
    background: black;
} 

.protagonista-hover-content {
    display: flex;
    width: 200px;
    height: 200px;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.img-protagonista {
    /* margin: 5px; */
    /* width: calc(100% - 10px); */
    width: 100%;
}

/* https://www.cssportal.com/css-clip-path-generator/ */

.shape-1 {
    -webkit-clip-path: ellipse(35% 49% at 50% 50%);
    clip-path: ellipse(35% 49% at 50% 50%);
}

.shape-2 {
    -webkit-clip-path: ellipse(51% 81% at 50% 81%);
    clip-path: ellipse(51% 81% at 50% 81%);
}

.shape-3 {
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
}

.shape-4 {
    -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}

.shape-5 {   
    -webkit-clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%);
    clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%);
}

.shape-6 {
    -webkit-clip-path: polygon(50% 0%, 83% 12%, 100% 43%, 94% 78%, 68% 100%, 32% 100%, 6% 78%, 0% 43%, 17% 12%);
    clip-path: polygon(50% 0%, 83% 12%, 100% 43%, 94% 78%, 68% 100%, 32% 100%, 6% 78%, 0% 43%, 17% 12%);
}

.shape-7 {
    -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.shape-8 {
    -webkit-clip-path: polygon(75% 0%, 100% 50%, 75% 100%, 0% 100%, 13% 49%, 26% 0);
    clip-path: polygon(75% 0%, 100% 50%, 75% 100%, 0% 100%, 13% 49%, 26% 0);
}

.shape-9 {
    -webkit-clip-path: polygon(0 35%, 15% 15%, 36% 0, 64% 0, 85% 15%, 100% 32%, 100% 67%, 85% 85%, 65% 100%, 36% 100%, 15% 85%, 0 65%);
    clip-path: polygon(0 35%, 15% 15%, 36% 0, 64% 0, 85% 15%, 100% 32%, 100% 67%, 85% 85%, 65% 100%, 36% 100%, 15% 85%, 0 65%);
}

.shape-10 {
    -webkit-clip-path: polygon(71% 0, 100% 45%, 43% 100%, 0 100%, 0 32%);
    clip-path: polygon(71% 0, 100% 45%, 43% 100%, 0 100%, 0 32%);
}

.shape-11 {
    -webkit-clip-path: polygon(20% 0%, 0% 20%, 11% 50%, 0% 80%, 20% 100%, 48% 90%, 80% 100%, 100% 80%, 91% 49%, 100% 20%, 80% 0%, 50% 9%);
    clip-path: polygon(20% 0%, 0% 20%, 11% 50%, 0% 80%, 20% 100%, 48% 90%, 80% 100%, 100% 80%, 91% 49%, 100% 20%, 80% 0%, 50% 9%);
}

.shape-12 {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 75%, 75% 75%, 75% 100%, 31% 100%, 0% 75%);
    clip-path: polygon(0 0, 100% 0, 100% 75%, 75% 75%, 75% 100%, 31% 100%, 0% 75%);
}

.shape-13 {
    -webkit-clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%);
    clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%);
}

.shape-14 {
    -webkit-clip-path: polygon(50% 0, 83% 0, 83% 100%, 83% 100%, 68% 100%, 32% 100%, 6% 78%, 0% 43%, 17% 12%);
    clip-path: polygon(50% 0, 83% 0, 83% 100%, 83% 100%, 68% 100%, 32% 100%, 6% 78%, 0% 43%, 17% 12%);
}

.shape-15 {
    -webkit-clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
}

.shape-16 {
    -webkit-clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
    clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
}

.info-protagonista h3, .info-protagonista h4 {
    margin: 0;
    padding: 0;
    color: #777;
}

.nome-protagonista {
    color: var(--ted-red) !important;
}

.ruolo-protagonista {
    font-size: 1.7rem;
    font-weight: 100;
}

/* CSS for responive table (Program) */

div#program-container {
    margin: auto;
    padding: 2rem var(--main-page-side-padding) 2rem var(--main-page-side-padding);
    max-width: var(--main-page-width);
    background: white;
    text-align: center;
}

.table-row {
    margin: 0;
    padding: .2rem;
    color: #777;
}

.table-row:nth-child(2n) {
    background: var(--light-gray);
}

.table-row.header {
    background: var(--ted-red);
    color: white;
    font-weight: bold;
}

.table-row.header:not(:first-child){
    margin-top: 3rem;
}

.program-speaker-name {
    font-weight: bold;
    color: var(--ted-red);
}

.program-speaker-role {
    color: #777;
    font-size: 1.74rem;
}

.program-speaker-title {
    font-weight: bold;
    color: #777 !important;
}

.do-not-scroll {
    /* -webkit-overflow-scrolling: touch; */
    overflow: hidden;
}

/* CSS for YouTube Video Thumbnails */

.container-video {
    width: 400px;
    margin: 1rem; 
    padding: 0;
    text-align: center;
    cursor: pointer;
}

.video-thumb {
    line-height: 1;
}

.container-video .video-thumb img {
    width: 100%;
}

.video-hover {
    position: absolute;
    opacity: 0;
    -webkit-transition: opacity ease .5s;
    -moz-transition: opacity ease .5s;
    transition: opacity ease .5s;
    background: rgba(230, 43, 30, 0.5);
}

.video-hover-content {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-shadow: 5px 5px 5px #555555;
}

.video-info {
    margin-top: -12px;
    background: var(--ted-red);
    color: white;
    padding: 1rem;
    padding-bottom: 0px;
    font-weight: 300;
    text-align: left !important;
    min-height: 135px;
}

.video .container-video:nth-of-type(2n) .video-info {
    background: black;
}

.video-title {
    text-align: left;
    line-height: 1.5;
}

.protagonista-name {
    vertical-align: bottom;
    font-weight: bold;
    color: var(--ted-red);
    color: white;
    text-transform: uppercase;
}

div#eventbrite-widget-container-64132653493 {
    transition: none !important;
}