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

:root {
    /* Variables */
    --main-page-width: 864px;
    --main-page-side-padding: 2rem;
    --header-min-height: 500px;
    --main-header-logo-width: 40vw;
    --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;
    --transparent-ted-red: rgba(230, 43, 30, 0.8);

    /* 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 {
    padding: 0 calc(3 * var(--main-page-side-padding));
    width: calc(100% - 2  * 3 * var(--main-page-side-padding));
    height: var(--header-min-height);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    background-image: url("../img/header.jpg");
    background-position-y: center;
    background-position-x: center;
    background-repeat: no-repeat;
    background-size: cover;
}

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

#header-logo {
    width: 100%;
    padding-top: 100px;
}

#header-venue {
    display: flex;
    flex-wrap: wrap;
    width: var(--main-header-logo-width);
    justify-content: flex-end;
}

#header-venue span {
    color: white;
    font-weight: 300;
    font-size: 2.3rem;
    font-family: Roboto, Arial, sans-serif;
    margin: 0;
}

#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;
}

.transparent-red {
    background: var(--transparent-ted-red) !important;
}

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

.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: 8rem;
}

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;
}

h1 {
    font-size: 4rem;
}

h2 {
    font-size: 3rem;
    color: var(--ted-red);
}

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 img {
    -webkit-filter: grayscale(100%); 
    filter: grayscale(100%);
}

.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;
}

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

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

.visionari .partner-logo {
    width: 250px;
}

.pionieri .partner-logo {
    width: 192px;
}

.esploratori .partner-logo {
    width: 175px;
}

.patrocini .partner-logo, .amici .partner-logo, .media .partner-logo {
    width: 150px;
}

/* CSS for Team */

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

div.team-member {
    width: 185px;
    height: 185px;
    max-width: 185px;
}

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

div.team-member-info {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--transparent-ted-red);
    width: 185px;
    height: 185px;
    /* -webkit-transition: opacity .25s ease-in-out;
    -moz-transition: opacity .25s ease-in-out;
    -ms-transition: opacity .25s ease-in-out;
    -o-transition: opacity .25s ease-in-out;
    transition: opacity .25s ease-in-out; */
}

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

.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);
}

/* 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: 100% !important;
}

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

.container-protagonista a {
    cursor: pointer;
}

.protagonista-hover {
    position: absolute;
    border-radius: 50%;
    border: rgba(0, 0, 0, 0) 5px solid;
    opacity: 0;
    -webkit-transition: opacity ease .5s;
    -moz-transition: opacity ease .5s;
    transition: opacity ease .5s;
    background: var(--transparent-ted-red);
}

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

div.protagonisti div.container-protagonista:nth-of-type(4n+1) a .img-protagonista {
    border: black 5px solid;
} 

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

.img-protagonista {
    width: 100%;
    border-radius: 50%;
    border: var(--ted-red) 5px solid;
}

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

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

.ruolo-protagonista {
    font-size: 1.8rem;
    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 */

.video {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: auto;
    margin-bottom: 2rem;
    padding-left: var(--main-page-side-padding);
    padding-right: var(--main-page-side-padding);
}

.container-video {
    max-width: calc(var(--main-page-width) / 3);
    margin: 0;
    padding: 0;
}

.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: var(--transparent-ted-red);
    cursor: pointer;
}

.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.container-video a {
    font-weight: normal;
    cursor: pointer;
}

/* CSS for YouTube Conversazioni Thumbnails */

.conversazioni {
    padding-top: 2rem;
}

.container-conversazione {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-bottom: 6rem;
}

.container-conversazione:nth-of-type(2n+1) {
    flex-direction: row-reverse;
    text-align: right;
}

.container-conversazione:nth-of-type(2n) .conversazione-info {
    padding-right: 0;
    padding-left: 30px;
}

.container-conversazione .video-thumb {
    width: 65%;
}

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

.conversazione-info {
    font-size: 1.55rem;
    width: 35%;
    line-height: 1.4;
    padding-right: 30px;
}

.conversazione-name {
    color: #EAA24B;
}

.conversazione-name {
    font-weight: bold;
    font-size: 2rem;
    color: #4366AC;
}

.conversazione-role {
    color: #72C0BF;
}

.conversazione-title {
    font-size: 1.8rem;
    font-weight: bold;
    color: #EAA24B;
    padding-top: 1rem;
    padding-bottom: 2rem;
}

.conversazione-description a:link,
.conversazione-description a:visited, 
.conversazione-description a:hover,
.conversazione-description a:active {
    font-weight: normal;
    color: #72C0BF !important;
}

.container-conversazione .video-hover {
    /* background: var(--transparent-ted-red); */
    background: rgba(114, 193, 191, 0.8);
}

#conversazioni {
    padding-top: 0 !important;
}

/* CSS for Eventbrite */

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