:root {
  --white: #fff;
  --creame: #F2F1EC;
  --black: #202020;
  --red:#b22026;
  --deepblue: #003972;
}

html {
  scroll-behavior: smooth;
}

* {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  color: var(--black);
  position: relative;
  background-position: center;
  background-color: #fcfcfc;
}

h2 {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--deepblue);
}

h3 {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--deepblue);
}

h4 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 5px;
}

.container12, header, footer {
  float: left;
  width: 100%;
  position: relative;
}

article {
  width: 80%;
  margin: 0px auto;
}

.aligncenter {
  text-align: center;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease-in-out;
}

.readmore {
  padding: 15px 30px;
  color: var(--white);
  background-color: var(--red);
  border-radius: 200px;
}

.readmore:hover {
  background-color: #8e2023;
}

.align-middle {
  display: flex;
  align-items: center;
}

.side-menu {
  display: none;
} /* Hide checkbox */
header, footer {
  padding: 2em 0;
}

nav {
  margin: 0px auto;
  width: 100%;
  text-align: center;
}

nav ul {
  margin: 0px;
  padding: 0px;
}

nav ul li {
  display: inline;
  margin: 0px 0.2em;
}

nav ul li a {
  padding: 5px 10px;
  text-decoration: none;
  color: inherit;
  text-transform: uppercase;
  font-size: 14px;
}

.banner {
  position: relative;
  margin-bottom: 4em;
}

.banner .bancont {
  display: flex;
}

.banner .eventlogo {
  width: 70%;
  margin-top: 1em;
}

.banner .eventlogo img {
  height: 54vh;
  margin-bottom: 9px;
}

.banner .theme {
  border-top: solid 4px var(--deepblue);
  border-bottom: solid 4px #1e3c6f;
  padding: 15px 10px;
  margin-top: 2em;
}

.banner .theme h3 {
  font-size: 18px;
  margin: 0px;
}

.banner .theme h3 span {
  color: var(--red);
}


.banner .earlybird img {
    width: 24vw;
    height: auto;
    margin-top: 2em;
    animation-duration: 10s;
    animation-fill-mode: both;
    
}
.banner .earlybird img:hover{
  animation: pulse 2s infinite;
}

.banner .date{
  text-align: center;;
}
.banner .datebx {
  padding-top: 4em;
  padding-left: 5em;
}
.banner .callinks{
  margin-top: 1em;
  font-weight:600;
  color: var(--deepblue);
  text-align: center;
}
.banner .callinks ul.links{
  display: flex;
  justify-content: center;
  margin:0px;
  padding: 0px;
}
.banner .callinks ul.links li{
  list-style: none;
  margin: 0px 8px;
}

.datebx .date img {
  width: 23vw;
}

.datebx .savethedate {
  margin-left: 4em;
  width: 13em;
}

.datebx .savethedate h3 {
  font-size: 74px;
  margin-bottom: 0px;
  line-height: 63px;
  font-weight: 900;
}

.about {
  padding: 3em 0;
}

.about .imgbx {
  float: left;
  width: 33.33%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: all 0.8s ease-in-out;
}

.about .imgbx:hover {
  width: 60%;
}

/*-- confdownloads --*/
.confdownloads {
  color:#fff;
  padding:3em 0;
  background-position: center;
  background-repeat: no-repeat;

}
.confdownloads .flexbx{
  display: flex;
  flex-wrap: wrap;
}
.confdownloads .flexbx div{
  align-content: center;
}
.confdownloads .redbx{
  position: absolute;
    background-color: #b22027;
    background-image: url(../images/bg_gradient.jpg);
    background-size: cover;
    height: 177px;
    padding: 0 0 0 6em;
    align-items: center;
    display: flex;
    top: -0.5em;
    font-size: 30px;
    font-weight: 300;
    clip-path: polygon(15% 0, 100% 0, 100% calc(100% - 0px), 0 100%);
    width: -webkit-fill-available;
}
.confdownloads .redbx p{
  margin:0px;
}
.confdownloads .redbx .readmore{
  background-color:var(--deepblue);
  font-size:1rem;
}
.confdownloads .redbx .readmore:hover{
  background-color:var(--red);
}
.confdownloads h3{
  color:#fff;
}

.speakers {
  padding-top: 5em;
  /*padding-bottom: 3em;*/
}
.speakers div:has(.readmore){
      margin-top: 5em;
}

.speakerslide {
  margin-bottom: 5em;
}

.speakerslide .speakerbx {
  text-align: center;
  padding: 1em;
}

.speakerslide .speakerbx .speakerimg {
  margin: 0px auto;
  width: 86%;
  height: 15em;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin-bottom: 29px;
  border-radius: 10px;
}

.speakerslide .speakerbx .cont {
  padding: 0 20px;
}

.speakerslide .speakerbx .cont h3 {
  margin: 0px;
  font-size: 15px;
  padding: 0px;
}

.speakerslide .speakerbx .cont p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  color: #646464;
}

/*-- speakerbar --*/
.speakerbar {
  display: flex;
  justify-content: center;
  width: 100%;
  flex-wrap: wrap;
  margin-bottom:3em;
}
.speakerbar .speakerbx{
  text-align: center;
  padding: 1em;
  width: 25%;
}
.speakerbar .speakerbx .speakerimg {
  margin: 0px auto;
  width: 100%;
  height: 15em;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin-bottom: 29px;
  border-radius: 10px;
}

.speakerbar .speakerbx .cont {
  padding: 0 20px;
}

.speakerbar .speakerbx .cont h3 {
  margin: 0px;
  font-size: 15px;
  padding: 0px;
}

.speakerbar .speakerbx .cont p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  color: #646464;
}


/*-- agenda --*/

.agenda {
  background-image: url(../images/bg_gradient1.jpg);
  background-repeat: no-repeat;
  background-position: center;
  padding: 3em 0;
  background-size: cover;
}

.agenda .sectiontitle {
  text-align: center;
  font-size: 29px;
  color: #b22026;
  background-color: #fafafa;
  margin: 1em 0;
}

.agenda .progbar {
  margin-top: 3em;
}

.agenda .dates {
  display: flex;
  justify-content: center;
  border-bottom: solid 3px #fff;
  height: 5em;
  align-items: end;
}

.agenda .dates .day {
  flex: auto;
  padding: 15px 30px;
  background-color: var(--deepblue);
  color: var(--white);
  font-size: 20px;
  font-weight: 700;
  transition: all 0.3s ease-in-out;
  border: solid 2px #fff;
  border-bottom: none;
}

.agenda .dates .day span {
  font-weight: 300;
  font-size: 16px;
  letter-spacing: 4px;
}

.agenda .dates .day:hover, .agenda .dates .selected {
  background-image: url(../images/bg_gradient.jpg);
  background-size: cover;
  background-repeat:no-repeat;
  background-position: center;
  cursor: pointer;
  height: 3.4em;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  font-size: 25px;
  padding-top: 25px;
  border: solid 2px #fff;
  border-bottom: none;
}

.agenda .dates .day:nth-child(1) {
  border-top-left-radius: 20px;
}

.agenda .dates .day:nth-child(3) {
  border-top-right-radius: 20px;
}

.agenda .daycont {
  padding: 1em 0;
  display: none;
}

.agenda .daycont span {
  font-weight: 300;
  color: var(--deepblue);
}

.agenda .progcont {
  background-color: var(--white);
  padding: 2em;
}

.agenda .progcont .active {
  display: block;
}

.agenda .caltime {
  width: 100%;
  display: flex;
  border-bottom: dotted 0.5px #e2e2e2;
}

.agenda .caltime .time {
  width: 200px;
  padding: 10px;
  text-align: right;
}

.agenda .caltime .break {
  margin: 0 2em;
  border-right: 1px solid #d3d3d3;
}

.agenda .caltime .cont {
  padding: 10px 20px;
  width: 70%;
}

.agenda .caltime .cont span {
    font-size: 14px;
    color: #000000;
}

.mainspeaker {
  margin-bottom: 1em;
  display: grid;
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mainspeaker .speakerbx {
  height: auto;
}

.mainspeaker .speakerbx .imgbx {
  width: 224px;
  height: 224px;
  margin-bottom: 20px;
  box-shadow: #c8c8c8 0px 0px 9px;
  margin-left: -0.8em;
  margin-right: auto;
}

.mainspeaker .speakerbx .titlecont h3 {
  font-size: 17px;
}

.ticketing {
  padding: 3em 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}

.ticketing .flexcosts {
  display: flex;
}

.ticketing .flexcosts .costbx {
  padding: 2em;
  flex: 1 1;
  margin: 0px 20px 3em 20px;
  background-color: #ffffffaf;
  border-radius: 20px;
  text-align: center;
  position: relative;
  height: max-content;
  box-shadow: 1px 1px 8px #ececec;
}

.ticketing .flexcosts .costbx:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 8em;
  background-image: url(../images/bg_gradient.jpg);
    background-size: cover;
    background-repeat: no-repeat;
  top: 0px;
  left: 0px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.ticketing .flexcost .flexfullwidth {
  flex-basis: 100%
}

.ticketing .titlebx{
  position: relative;
}
.ticketing .titlebx .iconbx{
  position: absolute;
  width: 100%;
  top: -86px;
}
.ticketing .titlebx .iconbx img{
  height:77px;
  object-fit: contain;
}

.ticketing h2 {
  color: var(--white);
}

.ticketing .costbx {
  color: var(--deepblue);
}

.ticketing .costbx span {
  color: var(--red);
}

.ticketing .costbx h3 {
  margin-bottom: 2em;
  color: #fff;
  position: relative;
}

.ticketing .contbx p {
  font-size: 20px;
  font-weight: 700;
  margin-bottom:0px;
}

.ticketing .contbx p span {
  font-size: 29px;
}

.ticketing .terms {
  font-size: 14px;
  font-weight: 400;
}

.ticketing img.main {
  transition: all 0.3s ease-in-out;
  width: 23vw;
  margin-top: 2em;
  animation: pulse 2s infinite;
}

.ticketing img.buynow{
  position: absolute;
  left: auto;
  right: 8em;
  bottom: 3em;
  height: 200px;
}
.ticketing img.buynow:hover {
  /*transform: scale(1.1) rotate(0.01deg);*/
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1); 
  }
  100% {
    transform: scale(1);
  }
}

.ticketing .flexfullwidth{
  padding: 20px 40px;
  color: #003972;
}


/*-- insights --*/
.insights {
  background-color: #fff;
  padding: 3em 0;
}
.insights .contbx {
  padding-bottom: 2em;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: #e7e7e7 1px 1px 7px;
}

.insights .contbx .imgbx{
  height: 40vh;
  margin-bottom: 21px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 17px;
}
.insights .contbx .cont{
  padding: 0px 30px;
}
.insights .contbx .cont h4 {
    font-size: 18px;
    color: #003972;
    margin-bottom: 1em;
}
.insights .contbx .cont p.bywho{
  font-size:14px;
  color:#646464;
}

.insights .contbx .cont .readmore_small{
    padding: 10px 20px;
    color: #fff;
    background-color: #c7c7c7;
    border-radius: 200px;
    margin-top: 20px;
    display: block;
    width: fit-content;
}
.insights .contbx .cont .readmore_small:hover{
    background-color:var(--red);
}

.insights .morebtnbx{
  margin-top:30px;
}



/*-- sponsors --*/
.sponsor {
    margin-bottom: 0;
    padding: 3em 0;
    background-color: #fff;
}

.sponsor .sponsbar {
  margin-bottom:3em;
}
.sponsor .sponsbar h3{
  letter-spacing: 10px;
  font-weight: 400;
  font-size: 25px;
  background-color: #ebebeb75;
  padding: 8px;
}

.sponsor .sponsorslist {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
}

.sponsor .imgbar {
  display: flex;
  justify-content: center;
  flex-flow: wrap;
}

.sponsor .sponsorbx {
  margin: 17px;
  text-align: center;
  width: auto;
}

.sponsor .sponsorbx img {
  width: 254px;
  height: 112px;
  -o-object-fit: contain;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.location {
  height: 60vh;
  display: flex;
}

.location .contacts {
  width: 40%;
  background-image: url("../images/bg_gradient.jpg");
  background-size:cover;
  background-repeat: no-repeat;
  display: flex;
  justify-content: right;
  align-items: center;
}

.location .contacts .cont {
  color: var(--white);
  float: right;
  width: 64%;
}

.location .contacts .cont h2 {
  color: var(--white);
}

.location .map {
  width: 60%;
}

footer .backtomain {
  text-align: center;
  width: 100%;
  margin-top: 3em;
}

footer .backtomain img {
  height: 60px;
}

footer .backtowebsite {
  position: absolute;
  bottom: 2em;
  right: 3em;
}

footer .backtowebsite a {
  background-color: var(--deepblue);
  padding: 12px 20px;
  color: #fff;
  border-radius: 200px;
  font-size: 13px;
}

footer .backtowebsite a:hover {
  background-color: var(--red);
}


.prevbar .cont {
    height: 50vh;
    background-size: cover;
    background-position: center;
    position: relative;
    margin-bottom: 2em;
    border-radius: 9px;
}

.prevbar .cont::before {
    content: "";
    position: absolute;
    background-color: rgb(30 60 111 / 38%);
    color: #fff;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    border-radius: 9px;
}

.prevbar .cont h4 {
    position: absolute;
    color: #fff;
    bottom: 1em;
    padding: 10px 20px;
    font-size: 23px;
}

@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
    }
}

.swing {
  transform-origin: top center;
  animation-name: swing;
}

/*-- reveal --*/
.reveal {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: transform, opacity;
}

/* When visible */
.reveal.active {
  opacity: 1;
  transform: translate(0, 0);
}

/* ===== SLIDE DIRECTIONS ===== */
.reveal-up {
  transform: translateY(40px);
}

.reveal-down {
  transform: translateY(-40px);
}

.reveal-left {
  transform: translateX(-60px);
}

.reveal-right {
  transform: translateX(60px);
}

/* ===== FADE ONLY ===== */
.fade {
  transform: none;
}

/* ===== SCALE IN (nice for cards & stats) ===== */
.zoom {
  transform: scale(0.9);
}

/* ===== DELAY UTILITIES ===== */
.delay-1 { transition-delay: 0.15s; }
.delay-2 { transition-delay: 0.3s; }
.delay-3 { transition-delay: 0.45s; }
.delay-4 { transition-delay: 0.6s; }
.delay-5 { transition-delay: 0.8s; }
.delay-6 { transition-delay: 1.0s; }

.stagger > * {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.7s ease;
}

.stagger.active > * {
  opacity: 1;
  transform: translateY(0);
}

.stagger.active > *:nth-child(1) { transition-delay: 0.1s; }
.stagger.active > *:nth-child(2) { transition-delay: 0.2s; }
.stagger.active > *:nth-child(3) { transition-delay: 0.3s; }
.stagger.active > *:nth-child(4) { transition-delay: 0.4s; }
.stagger.active > *:nth-child(5) { transition-delay: 0.5s; }
.stagger.active > *:nth-child(6) { transition-delay: 0.6s; }



/*--gallery --*/
.gallery .galmain {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.gallery .galmain .galbx {
  width: 264px;
  height: 200px;
  margin: 10px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 10px;
}


.modal{
    display:none;
    position:fixed;
    z-index:999;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.9);
    justify-content:center;
    align-items:center;
}

.modal-content{
    width: auto;
    max-width:80%;
    max-height:80%;
    object-fit: contain;
}

.close{
    position:absolute;
    top:20px;
    right:40px;
    font-size:40px;
    color:#fff;
    cursor:pointer;
}

.modal .nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    font-size:24px;
    color:white;
    cursor:pointer;
    padding:20px;
}

.modal .prev{ left:20px; }
.modal .next{ right:20px; }

/*-- video bar */
.videobar h4{
  margin-bottom:20px;
}
.videobar .videobx{
  width: 100%;
  height: 254px;
  margin-bottom: 3em;
  border-radius: 10px;
}


.skeleton {
  width: 300px;
  height: 200px;
  border-radius: 8px;

  background: linear-gradient(
    90deg,
    #e0e0e0 0%,
    #f5f5f5 50%,
    #e0e0e0 100%
  );

  background-size: 200% 100%;
  animation: shimmer 2.0s linear infinite;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

@media handheld and (max-width: 480px), screen and (max-device-width: 480px), screen and (max-width: 767px) {
  header {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 2;
  }
  nav {
    display: none;
    background-color: rgba(2, 10, 18, 0.8705882353);
    color: #fff;
    padding-top: 6em;
    position: absolute;
    left: 0px;
    top: 0px;
    min-height: 100vh;
  }
  nav ul li {
    display: block;
    margin: 0px 2.2em;
    float: left;
    width: 100%;
    margin-bottom: 3em;
    text-align: left;
  }
  nav ul li a {
    font-size: 22px;
  }
  /* Menu Icon */
    .hamb {
        cursor: pointer;
        padding: 47px 20px;
        z-index: 12;
        position: absolute;
        right: 0em;
        width: 90px;
        top: 1.5em;
        display: block;
    }

    /* Style label tag */

    .hamb-line {
        display: block;
        height: 2px;
        position: relative;
        width: 24px;
    }

    /* Style span tag */

    .hamb-line::before, .hamb-line::after {
        border-top: solid 1px var(--red);
        content: '';
        display: block;
        position: absolute;
        transition: all .2s ease-out;
        width: 42px;
    }

    .hamb-line::before {
        top: 5px;
    }

    .hamb-line::after {
        top: -5px;
    }

    .side-menu {
        display: none;
    }

    /* Hide checkbox */


    /* Toggle menu icon */
    .side-menu:checked ~ nav {
        display:block;
    }
    .side-menu:checked ~ .hamb .hamb-line {
        background: transparent;
    }
    .side-menu:checked ~ .hamb .hamb-line::before {
        transform: rotate(-45deg);
        top: 0;
		border:none;
		border-top: 1px solid #fff;
    }
    .side-menu:checked ~ .hamb .hamb-line::after {
        transform: rotate(45deg);
        top: 0;
		border:none;
		border-top: 1px solid #fff;
    }


  .banner {
    margin-bottom: 10em;
  }
  .banner .bancont {
    display: block;
  }
  .banner .eventlogo {
    width: 100%;
    margin-top: 0em;
  }
  .banner .eventlogo img {
    margin-bottom: 0;
    width: 100%;
    margin-bottom: -4em;
  }
  .banner .theme {
    margin-top: 0em;
    padding: 6px 10px;
    border-top: solid 3px var(--deepblue);
    border-bottom: solid 3px #1e3c6f;
  }
  .banner .theme h3 {
    font-size: 17px;
  }
  .banner .datebx {
    padding-left: 0em;
    padding-top: 2em;
  }
  .datebx .date img {
    width: 238px;
  }
  .datebx .savethedate {
    margin-left: 2em;
  }
  .datebx .savethedate h3 {
    font-size: 24px;
    margin-bottom: 0px;
    line-height: 25px;
    font-weight: 900;
  }
  .banner .earlybird {
    position: absolute;
    right: 0;
    width: 100%;
    text-align: center;
  }
  .banner .earlybird img {
    width: 31vh;
  }
  .about .imgbx {
    height: 31vh;
    margin-bottom: 2em;
  }
  .about .imgbx:hover {
    width: 58%;
  }
  .speakers {
    padding-top: 3em;
  }
  .speakercont {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .mainspeaker .speakerbx .imgbx {
    margin-left: auto;
    margin-right: auto;
  }
  .agenda .dates .day {
    text-align: center;
    flex: auto;
    padding: 15px 0px;
    font-size: 15px;
  }
  .agenda .dates .day:hover, .agenda .dates .selected {
    padding: 20px 0;
    height: 80px;
  }
  .agenda .progcont {
    padding: 1em;
  }
  .agenda .caltime {
    width: 100%;
    display: block;
  }
  .agenda .caltime .time {
    width: 100%;
    text-align: left;
  }
  .agenda .caltime .cont {
    width: 100%;
  }
  .agenda .caltime {
    border-bottom: dotted 0.5px #434242;
    margin-bottom: 2em;
  }

.speakerbar .speakerbx {
    text-align: center;
    padding: 1em;
    width: 100%;
}

  .ticketing .registerimg {
    position: relative;
    transition: all 0.3s ease-in-out;
    width: 80%;
    margin-top: 30px;
  }
  .ticketing h3 {
    font-size: 22px;
  }
  .ticketing img {
    margin-top: 1em;
    margin-bottom: 2em;
    width: 100%;
  }
  .ticketing .costbx h3 {
    margin-bottom: 1em;
  }
  .ticketing p span {
    font-size: 19px;
  }
  .ticketing .flexcosts .costbx:before {
    height: 6em;
  }
  .ticketing .flexcosts .costbx {
    height: auto;
  }
  .ticketing img.main {
    width: 60vw;
     margin-bottom: 4em;
  }
  .ticketing .flexcosts {
    display: block;
  }
  .ticketing img.buynow {
      position: inherit;
      margin-bottom: -3em;
  }

  .insights .contbx {
      margin-bottom: 3em;
  }

  .confdownloads .flexbx {
    display: block;
  }
  .confdownloads .redbx {
    position: relative;
    margin-top: 1em;
    padding:20px;
    clip-path: border-box;
    height: 7em;
    display: block;
  }
  .confdownloads .redbx .readmore {
    margin-top: 10px;
    display: block;
  }

  .location {
    height: auto;
    display: block;
  }
  .location div {
    width: 100%;
  }
  .location .contacts {
    width: 100%;
    display: block;
    padding: 3em 15px;
  }
  .location .contacts .cont {
    float: none;
    width: 86%;
    margin: 0px auto;
  }
  .location .map {
    width: 100%;
    height: 400px;
  }
  .videobar{
    margin-top: 6em;
  }
  footer nav {
    display: none;
  }
  footer .backtomain {
    text-align: center;
    width: 100%;
    margin-top: 1em;
  }
  footer .backtowebsite {
    position: relative;
    text-align: center;
    margin-top: 3em;
    margin-bottom: 1em;
    right: auto;
    bottom: auto;
  }
}/*# sourceMappingURL=main.css.map */