
div.mainPage h2 {
    color: var(--primary-color);
    font-size: 3rem;
    font-family: var(--primary-font), sans-serif;
    font-style: normal;
    font-weight: 600;
    line-height: 4.0625rem; /* 135.417% */
    text-transform: uppercase;
    text-align: center;
}

.gallery {
    margin-top: 30px;
    margin-bottom: 10px;
}

.gallery img{
    height: 166px;
    width: auto;
}

#introPanel {
    z-index: 10;
    position: relative;
}

#introPanel div.main {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#introPanel #mainLogo {
    display: block;
    padding-top: 6em;
    margin: 0 auto 1rem;
    height: auto;
    aspect-ratio: 1.2268041 / 1;
}

#introPanel #eventDate h2 {
    color: #000;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.875rem;
    font-style: normal;
    font-weight: 300;
    margin-bottom: 0.5em;
    line-height: normal;
    text-transform: uppercase;
}

#introPanel #eventText h1 {
    color: #FFF;
    text-align: center;
    font-family: var(--primary-font), sans-serif;
    font-size: 2.5em;
    line-height: 1.25em;
    font-style: normal;
    font-weight: 600;
    margin: 0;
    text-transform: uppercase;
}

#introPanel #eventDescription h2 {
    color: #F9FAFB;
    text-align: center;

    /* Regular/21px */
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.3125rem;
    font-style: normal;
    font-weight: 300;
    line-height: 2.125rem; /* 161.905% */
    text-transform: none;
}

#headerText h1 {
    font-weight: bold;
    font-size: 2.2rem;
    padding-top: 3em;
    padding-bottom: 1em;
    line-height: 4.7rem;
    color: #FFFFFF;
    text-transform: uppercase;
    text-align: center;
}

#introPanel #eventTickets {
    box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.06);
    margin-top: 1.5em;
    margin-bottom: 6em;
}

#statsDiv {
    padding: 0;
    z-index: 15;
    position: relative;
}

#statsParent {
    margin: 0 auto;
    position: relative;
    width: 83%;
}

#stats {
    background-color: #FFFFFF;
    display: grid;
    min-height: 10.5em;
    max-width: 61.625rem;
    justify-content: center;
    align-items: center;
    border-radius: 3.125rem;
    box-shadow: 0 30px 30px 0 rgba(0, 0, 0, 0.06);
    padding: 0 1em;
}

@media (max-width: 768px) {
    #stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

#stats .statBullet {
    display: flex;
    padding: 1.45rem 0rem;
    flex-direction: column;
    align-items: center;
    gap: 0.875rem;
}

#stats .statBullet > span {
    text-align: center;
    display: inline-block;
}

#stats .statBullet > .mainStat {
    display: flex;
    width: 9.94106rem;
    height: 4.25rem;
    flex-direction: column;
    justify-content: center;
    color: var(--primary-color);
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 3.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 5.375rem; /* 143.333% */
    letter-spacing: -0.25rem;
}

#stats .statBullet > .descStat {
    color: #000;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.875rem;
    font-style: normal;
    font-weight: 600;
    line-height: 2.125rem; /* 113.333% */
}



#venueParent {
    overflow: visible;
    position: relative;
    top: -5.25rem;
    margin-bottom: -5.25rem;
}

#venueSvg {
    transform: rotate(16.621deg);
    flex-shrink: 0;
    float: right;
    top: -11.384rem;
    position: absolute;
    right: -6.5rem;
}


#venue {
    padding-top: 40px;
    padding-bottom: 80px;
}

#venue #venue-text {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 2.75rem;
    margin-top: -4rem;
    margin-bottom: 3rem;
}

#venue #venue-img {
    max-width: 32.743rem;
    flex-shrink: 1;
}

#venue #venue-content {
    display: flex;
    max-width: 30.0625rem;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
    flex-shrink: 1;
}

#venue #venue-content h2 {
    margin: 0px;
}

#venue #venue-content h2 > span {
    color: #000;
    font-family: var(--primary-font), sans-serif;
    font-size: 3rem;
    font-style: normal;
    font-weight: 600;
    line-height: 4.0625rem;
    text-transform: uppercase;
}

#venue #venue-content p {
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625rem; /* 162.5% */

    opacity: 0.6;
    width: 100%;
    padding: 0 1rem;
}

.venueImgMask {
    -webkit-mask-image: url('../img/mainPage/maskImageCropped.svg');
    mask-image: url('../img/mainPage/maskImageCropped.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    mask-size: contain;
}

#venue #venue-img img
{
    width: 100%;
}

#venue #venuePartners {
    display: grid;
    align-items: center;
    gap: 3rem;
    z-index: 20;
    position: relative;
}

#venue #venuePartners div {
    margin: 0 auto;
}

#venue #venuePartners :nth-child(1) {
    height: 9.3125rem;
}

#venue #venuePartners :nth-child(2) {
    height: 10.0625rem;
}

#venue #venuePartners :nth-child(3) {
    height: 10.0625rem;
}

#venue #venuePartners :nth-child(4) {
    height: 9.375rem;
}

#venue #venuePartners :nth-child(5) {
    height: 10.9375rem;
}

#talksParent {
    position: relative;
    padding-top: 6rem;
}

#talksSvg1 {
    transform: rotate(-10.993deg);
    float: right;
    top: 109rem;
    position: absolute;
    left: -20.5rem;
    scale: 1.2;
    z-index: 10;
}

#talksSvg2 {
    transform: rotate(23.704deg);
    float: right;
    top: 27rem;
    position: absolute;
    right: -8rem;
    scale: 0.9;
    z-index: -10;
}


#talksPromo {
    text-align: center;
    overflow: hidden;
    padding: 1rem 0 5rem 0;
}


#talks {
    margin-bottom: 6rem;
}

#talks div.elem {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

#talks div.elem > a > div {
    margin: 0.1rem 0;
}

#talks div.elem a, #talks div.elem a:hover {
    text-decoration: none;
}

#talks div.elem img {
    float: left;
    margin-right: 10px;
    width: 18.125rem;
    height: 11.36606rem;
    border-radius: 1.25rem;
    background: #D9D9D9;
    margin-bottom: 0.7rem;
}

#talks div.elem div.headline {
    color: #000;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.5625rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: capitalize;
}

#talks div.elem div.name {
    color: #000;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: capitalize;
}

#talks div.elem div.company {
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 178.2%;
    text-transform: capitalize;
}

#talksPromo #aftermovie {
    margin: 0 auto;
}


#pricingPlan {
    text-align: center;
    overflow: hidden;
}


#pricingPlan .specialOffer p {
    color: rgba(0, 0, 0, 0.80);
}

#pricingPlan .specialOffersList {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.specialOffer {
    border-radius: 1em;
    padding: 1.5em;
}



#pricingPlan a {
    color: rgba(0, 0, 0, 0.60);
}

#pricing {
    margin: 4rem 0;
    display: inline-flex;
    justify-content: space-between;
}

#pricing .pricingDiv {
    flex-direction: column;
    align-items: flex-start;
    border-radius: 1.875rem;
    background: var(--secondary-color-sat25);

    width: 94%; /* +6% on paddings */
    margin: 0 1%;
    display: flex;
    padding: 2.5rem 3% 3.125rem 3%;
}


#pricing .pricingDiv .container .header {
    width: 100%;
}

#pricing .pricingDiv .container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    width: 100%
}

#pricing .pricingDiv .priceContent {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    align-self: stretch;
    width: 100%
}

#pricing .pricingDiv .priceContent .priceDisplayMain {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    align-self: stretch;
}

#pricing .pricingDiv .priceContent .priceDisplayMain .price {
    color: #191D23;
    font-family: var(--secondary-font), sans-serif;
    font-size: 3.5rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

#pricing .pricingDiv .priceContent .priceDisplayMain .currency {
    color: #4B5768;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}

#pricing .pricingDiv .priceContent .priceDisplaySecondary {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    align-self: stretch;
}

#pricing .pricingDiv .priceContent .priceDisplaySecondary .price {
    color: #191D23;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

#pricing .pricingDiv .priceContent .priceDisplaySecondary .currency {
    color: #4B5768;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}

#pricing .pricingDiv .vatDisplay {
    width: 100%;
    margin: -10px 0;
}
#pricing .pricingDiv .vatDisplay p {

    text-align: center;
    font-style: italic;
}

#pricing .pricingDiv .priceContent .linkDisplay {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: -0.5em;
    align-self: stretch;
    border-radius: 0.9375rem;
    background: var(--secondary-color-sat100);
    font-family: var(--secondary-font), sans-serif;
    cursor: pointer;
}


#pricing .buy_ticket {
    width: 100%;
    height: 100%;
    padding: 0.5rem;
}

#pricing .pricingDiv .priceContent .linkDisplay a, #pricing .pricingDiv .priceContent .linkDisplay a:hover {
    text-decoration: none;
    margin: auto 0;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    line-height: 2.5rem;
}


#pricing .pricingDiv h4 {
    color: #191D23;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-top: 0;
}

#pricing .pricingDiv p {
    color: rgba(0, 0, 0, 0.60);
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625rem; /* 162.5% */
    width: initial;
}

#pricing .items {
    width: 100%;
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    text-align: left;
}

#pricing .items .hasItem, #pricing .items .hasNotItem {
    display: flex;
    align-items: center;
    gap: 1.0625rem;
    align-self: stretch;
}

#pricing .items .hasItem .feature {
    display: flex;
    padding: 0.5rem;
    align-items: flex-start;
    gap: 0.5rem;
    border-radius: 6.25rem;
    background: var(--secondary-color-sat100);
}

#pricing .items .hasItem .featureText {
    color: #808080;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-align: left;
}

#pricing .items .hasNotItem .feature {
    display: flex;
    padding: 0.5rem;
    align-items: flex-start;
    gap: 0.5rem;
    border-radius: 6.25rem;
    background: #FFF;
}

#pricing .items .hasNotItem .featureText {
    color: #AAA;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

#pricing .pricingDiv .priceContent .linkDisplay:hover {
    background: #00B3FF;
}

#under-carousel-arrow {
    justify-content: right;
    display: flex;
    width: 100%;
    margin-top: 4rem;
}

#over-pricing-arrow {
    display: flex;
    width: 100%;
    margin-bottom: -4rem;
}


/************ Flickity ***********/

#speakers-carousel {
    margin-top: 5rem;
}

#speakers-carousel .carousel-cell {
    width: 22.25rem;
    height: 34.125rem;
    flex-shrink: 0;
    margin-right: 2.25rem;
    border-radius: 1.875rem;
    background: var(--secondary-color-sat25);
    display: flex;
    align-items: center;
    justify-content: center;
}

#speakers-carousel .carousel-cell.size-180 {
    width: 180px;
}

#speakers-carousel .carousel-cell.size-large {
    width: 75%;
}

.mainPage .flickity-button {
    background: #333;
}


.mainPage .flickity-button:hover {
    background: var(--primary-color);
}

#talks .flickity-button {
    background: var(--primary-color);
}

#talks .flickity-button:hover {
    background: #000000;
}

.mainPage .flickity-prev-next-button {
    border-radius: 6.25rem;
    background: var(--secondary-color-sat50);
}

/* icon color */
.mainPage .flickity-button-icon {
    fill: white;
}

.mainPage .flickity-prev-next-button.previous {
    left: -5rem;
}

.mainPage .flickity-prev-next-button.next {
    right: -5rem;
}

.carousel-inner {
    width: 18.125rem;
    height: 30.14538rem;
    display: flex;
    flex-flow: column;
}

.carousel-inner .main-info {
    width: 18.125rem;
    height: 23.14063rem;
    flex-shrink: 0;
    display: flex;
    flex-flow: column;
    gap: 1.5rem;
}

.carousel-inner .main-info .speaker-image {
    width: 18.125rem;
    height: 11.36606rem;
    flex-shrink: 0;
    border-radius: 1.25rem;
    background: #D9D9D9;
    overflow: clip;
}

.carousel-inner .main-info .speaker-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.carousel-inner .main-info .position-name {
    color: #000;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 158.523%;
    text-transform: capitalize;
}

.carousel-inner .main-info .speaker-name {
    color: #000;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.5625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 158.523%; /* 2.47694rem */
    text-transform: capitalize;
}

.carousel-inner .main-info .speaker-company {
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 188.523%;
    text-transform: capitalize;
    text-align: center;
}

.carousel-inner .main-info .speaker-titles {
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: italic;
    font-weight: 400;
    line-height: 188.523%;
    text-transform: capitalize;
    text-align: center;
}


.carousel-inner .game-name {
    height: 9rem;
    display: flex;
    justify-content: center;
    margin-top: 1.75rem;
}

#partnersParent div.main {
    padding-top: 8rem;
    padding-bottom: 6rem;
}

.carousel-inner .game-name > div {
    display: flex;
    justify-content: center;
    flex-flow: column;
}


.carousel-inner .game-name > div > img {
    max-height: 5.5rem;
    width: auto;
    object-fit: contain;
    max-width: 18.125rem;
}

#partners-header {
    margin-top: 3rem;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}

#partners-header .aboutSpan {
    width: 100%;
}

#partners-header .partners-header-left {
    width: 50%;
}

#partners-header .partners-header-right {
    width: 50%;
}

#partners-header h2 {
    margin-top: 0;
    margin-bottom: 0;
    text-align: left;
}

#partners-header p {
    display: block;
    height: 5.96581rem;
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625rem; /* 162.5% */
    opacity: 0.6;
}
