:root {
  --primary-color: #ffffff;
  --secondary-color-blue: #78B5E5;
  --secondary-color-pink: #FB5387;
  --secondary-color-green: #B8CD58;
  --secondary-color-dark-green: #268772;


  --opacity-banner-top: 0.7;
  --opacity-banner-bottom: 0.4;
  --secondary-color-dark-green-ban-top: rgba(38,135,114, var(--opacity-banner-top));
  --secondary-color-dark-green-ban-bot: rgba(38,135,114, var(--opacity-banner-bottom));

  --secondary-color-blue-ban-top: rgba(120,181,229, var(--opacity-banner-top));
  --secondary-color-blue-ban-bot: rgba(120,181,229, var(--opacity-banner-bottom));

  --secondary-color-green-ban-top: rgba(184,205,88, var(--opacity-banner-top));
  --secondary-color-green-ban-bot: rgba(184,205,88, var(--opacity-banner-bottom));

  --secondary-color-pink-ban-top: rgba(251,83,135, var(--opacity-banner-top));
  --secondary-color-pink-ban-bot: rgba(251,83,135, var(--opacity-banner-bottom));


  --toggler-color: var(--secondary-color-pink);

  --margin-general: 1em;
  --margin-body: 4em;/*calc(var(--margin-general)*1.5);*/

  --title-size-p: 1;
  --sub-title-size-p: 0.7;
  --text-size-p: 0.4;
  --dates-size-p: 0.3;
  --small-title-size-p:0.6;

  --title-size-telm: 2.3em;
  --sub-title-size-telm: calc(calc(var(--sub-title-size-p) * var(--title-size-telm)) / var(--title-size-p));
  --text-size-telm: calc(calc(var(--text-size-p) * var(--title-size-telm)) / var(--title-size-p));
  --dates-size-telm: calc(calc(var(--dates-size-p) * var(--title-size-telm)) / var(--title-size-p));
  --small-title-size-telm: calc(calc(var(--small-title-size-p) * var(--title-size-telm)) / var(--title-size-p));


  --title-size-pc: 3.5em;
  --sub-title-size-pc: calc(calc(var(--sub-title-size-p) * var(--title-size-pc)) / var(--title-size-p));
  --text-size-pc: calc(calc(var(--text-size-p) * var(--title-size-pc)) / var(--title-size-p));
  --dates-size-pc: calc(calc(var(--dates-size-p) * var(--title-size-pc)) / var(--title-size-p));
  --small-title-size-pc: calc(calc(var(--small-title-size-p) * var(--title-size-pc)) / var(--title-size-p));

  --title-size-big: 4em;
  --sub-title-size-big: calc(calc(var(--sub-title-size-p) * var(--title-size-big)) / var(--title-size-p));
  --text-size-big: calc(calc(var(--text-size-p) * var(--title-size-big)) / var(--title-size-p));
  --dates-size-big: calc(calc(var(--dates-size-p) * var(--title-size-big)) / var(--title-size-p));
  --small-title-size-big: calc(calc(var(--small-title-size-p) * var(--title-size-big)) / var(--title-size-p));

}


body {
  font-family: 'Roboto', sans-serif;
  background-color: var(--primary-color);
  overflow-x: hidden;
  font-size: medium;
}


html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

.container {
  padding: 0;
  margin:0;
  max-width: 100vw;
}
/*
.container.sections {
  display: block;
  padding: 8rem 3rem 4.5rem;
}*/

.column.column-dates {
  padding-top: 4.5rem;
  flex: 1;
  font-size: 0.9rem;
}


/********************************************* NAVBAR **********************************************/

.navbar .nav-link, .navbar .navbar-brand { /*text*/
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  font-size: 0.8em;
  font-weight: 700;
  color: var(--primary-color);
}

.navbar { /*div*/
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    background-color: var(--secondary-color-blue);
   padding: calc(var(--margin-general) * 0.6) var(--margin-general) var(--margin-general);
  box-shadow: 0px 5px 30px rgba(0, 0, 0, 0.5);

}
li.nav-item{
  padding-right: 5px;
  padding-left: 5px;
}


.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-toggler, .navbar-toggler:focus {
  border: none !important;
}

.navbar.scrolled .navbar-toggler-icon { /*when scrolled text*/
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}


.nav-link {
    position: relative;
    color: white;
    text-decoration: none;
    padding-bottom: 3px;
}



/********************************************* END NAVBAR **********************************************/



/************* GENERAL **************/

.rectangle {
  display: inline-block;
  padding-left: 8px;
  padding-right: 8px;
  font-weight: 800;
}

.rectangle.white_pink {
  background-color: var(--primary-color);
  color: var(--secondary-color-pink);
}
.rectangle.pink {
  background-color: var(--secondary-color-pink);
  color: var(--primary-color);
}

.rectangle.white_blue {
  background-color: var(--primary-color);
  color: var(--secondary-color-blue);
}
.rectangle.blue {
  background-color: var(--secondary-color-blue);
  color: var(--primary-color);
}

.rectangle.white_green {
  background-color: var(--primary-color);
  color: var(--secondary-color-green);
}

.rectangle.dark_green {
  background-color: var(--primary-color);
  color: var(--secondary-color-dark-green);
}

.rectangle.dates {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: smaller;
  padding-top: 2px;
  padding-bottom: 2px;
}


.container.sections {
  padding: 4rem 3rem 4.5rem 2rem;
}

.section-title{
  font-size: calc(var(--title-size-telm)*0.75);
  font-weight: 700;
}

.section-sub-title{
  margin-top: 2em;
  font-size: calc(var(--sub-title-size-telm)*0.7);
  font-weight: 700;
}

.section-text p, .section-text li{
  font-size: var(--text-size-telm);
}

p.section-small-title-bottom{ /*p.section-small-title, */
font-size: calc(var(--small-title-size-telm)*0.8);
}

/**LOGOS ON FIRST PAGE OF WEBSITE**/
.column-logos > img {
  height: 6ch;
  padding-right: 15px;
}

.column.column-title.column-logos {
  position: absolute;
  bottom: 0;
  margin-bottom: calc(var(--margin-body) * 0.6);
}

.section-text{
  width: 100%;
}

p.section-title-dates{
   font-variant: small-caps;
   text-transform: lowercase;
   letter-spacing: 0.1em;
   font-weight: 700;
}

.column-dates p{
   font-size: var(--dates-size-telm);
}

.column {
  flex: 1;
  padding-right: 0;
}

.column-image {
  flex: 1;
}

.column-dates {
    padding-top: 10rem;
    /*padding-left: calc(var(--margin-general) * 3);*/
}

a{
  font-weight: 700;
  text-underline-offset: 4px;
}

p.section-sub-sub-title,span.section-sub-sub-title{ /*titulo commite*/
  font-weight: 700;
  font-variant: all-small-caps;
  text-transform: lowercase;
  letter-spacing: 0.1em;
  margin-top: 2em;

}

p.section-small-title{
  background-color: var(--primary-color);
  color: var(--secondary-color-blue);
  font-weight: 700;
  margin-top: 2em;
  margin-bottom: 0.3em;
  padding: 0.1em 0.4em;
}

p.section-small-title-bottom.highlighted {
  margin-right: 4px;
  background-color: var(--secondary-color-blue);
  color: var(--primary-color);
  font-weight: 700;
  margin-bottom: 0.2em;
  padding: 0.1em 0.3em;
}

h2.section-title.highlighted {
  margin-bottom: 0.15em;
}

.highlighted {
  display: inline-block;
  background-color: var(--secondary-color-green);
  padding: 0.05em 0.25em 0em 0.22em;
  color: white;
  /*margin: 2px;*/
}

/************* HERO **************/
#hero {
 /* background: linear-gradient(var(--secondary-color-dark-green-ban-top), var(--secondary-color-dark-green-ban-bot), url('imgs/AdobeStock_275902972_1920x1080.jpg') no-repeat center center*/

  background: linear-gradient(rgba(0,0,0, 0.1), rgba(0, 0, 0, 0.6)), url('imgs/AdobeStock_275902972_1920x1080.jpg') no-repeat center center;
  background-size: cover;
  height: 100vh;           /* full viewport height */
}

/*rgba(66, 231, 246, 0.5))*/

.column.column-banner{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.banner_div {
  max-width: 800px;
  width: 100%;
}

.banner_image{
  width: 100%;
}

ul.navbar-nav.menu {
  padding-left: 0.7em;
}


.navbar-nav.social img{ /*telm*/
  width: 32px;
  padding-top: 4px;
  padding-bottom: 3px;

}

.navbar-nav.social{
  padding-right: var(--margin-general);
  padding-left: 6px;
}

.navbar-nav.social li.nav-item{
  padding-top: 0.2em;
  padding-left: 0.2em;
}



/************* Welcome to PPSN 2026! **************/
.container.sections .logo-image {
  width: 50%;
}

.div-logo{
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center;     /* vertical */
}


#about a{
  color: var(--secondary-color-pink);
}


/************* CALL FOR PAPERS **************/
#calls.container.sections{
  background-color: var(--secondary-color-pink);
  color:var(--primary-color);
}

#calls a{
  color: var(--primary-color);
}

/************* CALL FOR WORKSHOPS **************/
#workshops a, #workshops code{
  color: var(--secondary-color-pink);
}

/************* CALL FOR TUTORIALS **************/
#tutorials.container.sections{
  background-color: var(--secondary-color-green);
  color:var(--primary-color);
}
#tutorials a, #tutorials code{
  color: var(--primary-color);

}

/************* SPONSORS **************/
#sponsors a, #sponsors code{
  color: var(--secondary-color-pink);
}



/************* LNCS **************/
#lncs.container.sections{
  background-color: var(--secondary-color-blue);
  color:var(--primary-color);
}
#lncs a, #lncs code{
  color: var(--primary-color);
}



/************* REGISTRATION **************/
#registration.container.sections{
  background-color: var(--secondary-color-dark-green);
  color:var(--primary-color);
}
#registration a, #registration code{
  color: var(--primary-color);

}

/************* LOCATION **************/
#location span.badge.rounded-pill {
  background-color: var(--secondary-color-pink)
}

#location a, #location code, #location .section-sub-sub-title{
  color: var(--secondary-color-pink)
}


/************* ORGANIZATION COMMITE **************/
#organizing-committee.container.sections{
  background-color: var(--secondary-color-pink);
  color:var(--primary-color);
}


/************* FOOTER **************/
footer {
  background-color: var(--secondary-color-pink);
}

table.table th,
table.table td {
  background-color: transparent !important;
  color: white;
  font-weight: 500;
}

table.row-bordered-only td,
table.row-bordered-only th {
  border-left: none !important;
  border-right: none !important;
}

table.row-bordered-only tr {
  border-bottom: 2px solid #dee2e6;
}


table.row-bordered-only {
  border-collapse: collapse;
}

.column.column-large{
  width: 100%;
  display: block;
}

.row{
  display: block;
}


li.nav-item { /*navbar-items*/
  text-align: left;
  padding-left: 0;
}


@media (min-width: 700px) {

  .container.sections .logo-image {
    width: 30%;
  }


  .section-title{
    font-size: var(--title-size-pc);
  }

  .section-sub-title{
    font-size: var(--sub-title-size-pc);
  }

  .section-text p, .section-text li{
    font-size: var(--text-size-pc);
  }

  .section-text{
    margin-top: 4em;
    width: 95%;
  }

  p.section-small-title-bottom{ /*p.section-small-title,*/
    font-size: var(--small-title-size-pc);
  }

  .column-dates p{
    font-size: var(--dates-size-pc);
  }

}


@media (min-width: 900px) {

 /* .highlighted {
    margin:0;
  }*/
  .container.sections {
    padding: 4rem 3rem 4.5rem 3rem;
  }


  .column-logos > img {
    height: 90px;
    padding-right: 30px;
  }
  .navbar-nav.social img{
    width: 27px;
    padding-top:0;
    padding-bottom: 0;
  }

  li.nav-item {
    text-align: left;
    padding-left: var(--margin-general);
  }

  .container.sections .logo-image {
    width: 60%;
  }

  /*pc*/
  .row{
    display: flex;
  }


  .column.logo, .column.column-dates{
    flex: 1;
  }

  #organizing-committee .column{
    flex: 1;
  }

  .column.column-text {
    flex: initial;
    width: 66%;
    padding-right: var(--margin-body);
  }

  .container {
    padding: 0;
    margin:0;
  }


  .row{
    display: flex;
  }

}


@media (min-width: 2000px) {
  .banner_div {
    max-width: 1100px;
    width: 90%;
  }

  .section-title{
    font-size: var(--title-size-big);
  }

  .section-sub-title{
    font-size: var(--sub-title-size-big);
  }

  .section-text p, .section-text li{
    font-size: var(--text-size-big);
  }

  .section-text{
    width: 75%;
    max-width: 1000px;
  }

  .container.sections .logo-image {
    width: 40%;
  }

p.section-small-title-bottom{ /*  p.section-small-title, */
    font-size: var(--small-title-size-big);
  }

  .column-dates p{
    font-size: var(--dates-size-big);
  }



}