/* ----------------------
   Colors
-----------------------*/

:root {
   --gray00: #fcf8f6;
   --gray10: #f4f7e4;
   --gray20: #eae0d4;
   --gray30: #e7eaea;
   --gray35: #efe2d9;
   --gray40: #908686;
   --gray50: #706666;
   --gray60: #504646;
   --gray80: #302a2a;

   --main1: #909a22;
   --main1-accent: #b0ba42;

   --main2: #ba5700;

   --main3: #575702;
   --main3-accent: #797902;
   --main3-pale: #57570290;

   --bgcolor-or: #ffeccc;
   --bgcolor-or-light: #fffaf0;
   --bgcolor-bl: #eefafc;
   --bgcolor-bl-dark: #d7f0fa;
   --bgcolor-gr: #f4fbf0;
   --bgcolor-yl: #fefae0;
   --bgcolor-rd: #ffece5;

   --color-iasim1: #af6a70;
   --color-iasim2: #c08d00;
   --color-iasim3: #26892b;
   --color-iasim4: #2770ab;
   --color-iasim5: #cbbfe4;

   --bgcolor-iasim1: #fddadc;
   --bgcolor-iasim2: #fff2cd;
   --bgcolor-iasim3: #c1f5c6;
   --bgcolor-iasim4: #b7d7ff;
   --bgcolor-iasim5: #cbbfe4;

   --bgcolor-iasim1-light: #ffeced;
   --bgcolor-iasim2-light: #fffaed;
   --bgcolor-iasim3-light: #eefff1;
   --bgcolor-iasim4-light: #ebf9ff;

   --error: crimson;
}

/* ----------------------
   Fonts
-----------------------*/

@font-face {
   font-display: swap;
   font-family: 'Open Sans';
   src: url('/fonts/OpenSans-Regular.ttf');
   font-weight: 400;
}

@font-face {
   font-display: swap;
   font-family: 'Open Sans';
   src: url('/fonts/OpenSans-SemiBold.ttf');
   font-weight: 600;
}

@font-face {
   font-display: swap;
   font-family: 'Open Sans';
   src: url('/fonts/OpenSans-Bold.ttf');
   font-weight: 700;
}

/* ----------------------
   Reset default styles
-----------------------*/

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

ul, ol, li {
   list-style: none;
}

.hidden {
   display: none;
}

/* ----------------------
   General styles
-----------------------*/
html {
   font-family: 'Open Sans', sans-serif;
   font-weight: 400;
   font-size: 14px;
}

body {
   display: block;
   width: 100%;
   height: 100%;
}

.page-wrapper {
   margin: 0 auto;
   padding: 0;
   min-width: 320px;
   min-height: 100vh;
   border: none;

   display: grid;
   align-items: start;
}

a, a:visited, a:active, span.link {
   text-decoration: underline;
   cursor: pointer;
}

section {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}


/* -------------------------
   Layout elements
---------------------------*/

.page__header {
   grid-area: header;
}

.page__content {
   grid-area: content;
}

.page__sponsors {
   grid-area: sponsors;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

.page__footer {
   grid-area: footer;
   display: flex;
   justify-content: center;
   align-items: center;
}

.page__navigation {
   grid-area: navigation;
}

/* -------------------------
   Colors
---------------------------*/

body {
   color: var(--gray80);
}

a, a:visited, a:active, span.link {
   color: var(--main1);
}

a:hover, span.link:hover {
   color: var(--main1-accent);
}


.accent {
   color: var(--main3);
   background: var(--bgcolor-yl);
}


.accent > h3{
   font-size: 1rem;
   margin: 0.5em 0 0.15em 0;
   padding: 0em 1em 0em 1.5em;
   color: var(--main3-pale);
   font-weight: 700;
   background-size: 1em 1em;
   background-repeat: no-repeat;
   background-position: 0% 50%;
}


.accent > a{
   color: var(--main3);
}

.accent > a:hover{
   color: var(--main3-accent);
}

.page__navigation,
.menu {
   background: var(--gray00);
}


.page-header__subtitle {
   color: var(--gray40);
}

.page-header__dateplace {
   color: var(--gray60);
}

.page-header__date {
   color: var(--gray80);
}


/* iasim 1 color */
.page__home .copyright,
.page__home .copyright a,
.page__home .menu__item_selected {
   background: var(--bgcolor-iasim1);
   color: var(--color-iasim1);
}

.page__home .copyright,
.page__home .copyright a,
.page__home .menu,
.page__home .page__header .dates {
   background: var(--bgcolor-iasim1-light);
}

.page__home .page__navigation label,
.page__home .page__header .dates,
.page__home  a{
   color: var(--color-iasim1);
}

.page__home .page__header .dates {
   border-color: var(--bgcolor-iasim1);
}

.page__home .sponsor-list__item,
.page__home .organizer-list__item {
   border: solid 1px var(--bgcolor-iasim1);
}

.page__home .organizer-list__item:hover,
.page__home .sponsor-list__item:hover{
   box-shadow:
       2px  2px 4px var(--bgcolor-iasim1),
      -2px -2px 4px var(--bgcolor-iasim1);
}

/* iasim 2 color */
.page__venue .copyright,
.page__venue .copyright a,
.page__venue .menu__item_selected {
   background: var(--bgcolor-iasim2);
   color: var(--color-iasim2);
}

.page__venue .copyright,
.page__venue .copyright a,
.page__venue .menu,
.page__venue .page__header .dates {
   background: var(--bgcolor-iasim2-light);
}

.page__venue .page__navigation label,
.page__venue .page__header .dates,
.page__venue  a{
   color: var(--color-iasim2);
}

.page__venue .page__header .dates {
   border-color: var(--bgcolor-iasim2);
}

.page__venue .sponsor-list__item,
.page__venue .organizer-list__item {
   border: solid 1px var(--bgcolor-iasim2);
}

.page__venue .organizer-list__item:hover,
.page__venue .sponsor-list__item:hover{
   box-shadow:
       2px  2px 4px var(--bgcolor-iasim2),
      -2px -2px 4px var(--bgcolor-iasim2);
}


/* iasim 3 color */
.page__participation .copyright,
.page__participation .copyright a,
.page__participation .menu__item_selected {
   background: var(--bgcolor-iasim3);
   color: var(--color-iasim3);
}

.page__participation .copyright,
.page__participation .copyright a,
.page__participation .menu,
.page__participation .page__header .dates {
   background: var(--bgcolor-iasim3-light);
}

.page__participation .page__navigation label,
.page__participation .page__header .dates,
.page__participation  a{
   color: var(--color-iasim3);
}

.page__participation .page__header .dates {
   border-color: var(--bgcolor-iasim3);
}

.page__participation .sponsor-list__item,
.page__participation .organizer-list__item {
   border: solid 1px var(--bgcolor-iasim3);
}

.page__participation .organizer-list__item:hover,
.page__participation .sponsor-list__item:hover{
   box-shadow:
       2px  2px 4px var(--bgcolor-iasim3),
      -2px -2px 4px var(--bgcolor-iasim3);
}


/* iasim 4 color */
.page__organizers .copyright,
.page__organizers .copyright a,
.page__organizers .menu__item_selected {
   background: var(--bgcolor-iasim4);
   color: var(--color-iasim4);
}

.page__organizers .copyright,
.page__organizers .copyright a,
.page__organizers .menu,
.page__organizers .page__header .dates {
   background: var(--bgcolor-iasim4-light);
}

.page__organizers .page__navigation label,
.page__organizers .page__header .dates,
.page__organizers  a{
   color: var(--color-iasim4);
}

.page__organizers .page__header .dates {
   border-color: var(--bgcolor-iasim4);
}

.page__organizers .sponsor-list__item,
.page__organizers .organizer-list__item {
   border: solid 1px var(--bgcolor-iasim4);
}

.page__organizers .organizer-list__item:hover,
.page__organizers .sponsor-list__item:hover{
   box-shadow:
       2px  2px 4px var(--bgcolor-iasim4),
      -2px -2px 4px var(--bgcolor-iasim4);
}
/* -------------------------
   Header
---------------------------*/

.page-header__logo {
   background-image: url('/images/logo.png');
   background-position: 0% 50%;
   background-repeat: no-repeat;
   background-size: 90% auto;
   width: 320px;
   height: 220px;
   margin: 0 auto;
   font-size: 0;
}

.page-header__subtitle,
.page-header__dateplace {
   text-align: center;
   font-size: 1.45em;
   font-weight: 600;
}

.page-header__subtitle {
   padding: 0.25em 0 0.15em 0;
}

.page-header__dateplace {
   padding: 0 0 0.1em 0;
   margin-bottom: 1em;
}


.page__header .dates {
   margin: 0.5em 0;
   padding: 0.5em 0.5rem 0.5rem 40px ;
   font-size: 1rem;
   border: 1px solid transparent;
}

.page__header .dates li {
   padding: 0.15em;
}

.page__header .dates li > span{
   font-size: 0.9rem;
   font-weight: bold;
   display: inline-block;
   padding-right: 0.5em;
}

.page__header .dates li > span > .year{
   opacity: 0.5;
}

.page__header .dates li:nth-child(2) {
   padding-top: 0.5em;
}

.page__header .dates li:not(:first-child) {
   opacity: 0.6;
}


/* -------------------------
   Main content
---------------------------*/

/* accent block inside content */
.accent {
   padding: 1em 1.25em;
   margin: 0 0 1em 0;
   font-size: 0.95rem;
}

.accent > h3{
   font-size: 1rem;
   margin: 0.5em 0 0.15em 0;
   padding: 0em 1em 0em 1.5em;
   background-size: 1em 1em;
   background-repeat: no-repeat;
   background-position: 0% 50%;
}

/* general content styles */

.page__content > h2 {
   font-size: 1.35em;
   font-weight: bold;
   line-height: 1em;
   margin: 0;
   padding: 1em 1em 0.65em 1em;
}

.page__content > h3 {
   font-size: 1.15em;
   font-weight: bold;
   line-height: 1em;
   margin: 0;
   padding: 1em 1em 0.65em 1em;
}

.page__content > p{
   line-height: 1.85em;
   padding: 0 1em 0.75em 1em;
   margin: 0;
   text-align: justify;
}

.page__content > ul {
   line-height: 1.85em;
   padding: 0 1em 0.75em 1em;
   margin: 0;
   text-align: left;
}

.page__content > ul > li{
   list-style: circle;
   margin-left: 2em;
}

.page__content figure{
   padding: 0 1em 0.75em 1em;
   box-sizing: border-box;
   margin: 0;
   width: 100%;
}

.page__content figure > img {
   box-sizing: border-box;
   width: 100%;
   padding: 1em;
   border-radius: 1em;
}

.page__content .commitee-list {
   padding-top: 0.25em;
}

.page__content .commitee-list li {
   line-height: 1.3em;
   padding-bottom: 0.5em;
}

.page__content .commitee-list li > span {
   display: block;
   font-size: 0.85em;
   color: var(--gray40);
}

/* table with fees */
.fee {
   font-size: 0.9em;
   padding: 1em;
   border-spacing: 0;
}

.fee th {
   font-weight: bold;
   padding: 0.5em 1em;
   border-bottom: solid 1px var(--color-iasim3);
}

.fee td:not(:first-child),
.fee th:not(:first-child) {
   background: var(--bgcolor-iasim3-light);
}

.fee td {
   text-align: right;
   padding: 0.5em 1em;
   border-bottom: solid 1px var(--color-iasim3);
}

.bank-details {
   padding: 1em 2em;
   font-size: 0.95em;
   background-color: var(--bgcolor-iasim3-light);
   color: var(--main3);
   line-height: 1.75em;
   border-radius: 0.5em;
   margin-bottom: 1em;
}


/**************************************/
/* Photo gallery                      */
/**************************************/

.gallery {
   display: block;
   margin: auto;
   text-align: center;
   margin: 1em 0;
}

.gallery-images {
   margin: auto;
   max-width: 90%;
}

.gallery-text {
   font-size: 0.8em;
   color: var(--gray40);
   padding: 0em 0 0.5em 0;
}

.gallery-image {
  width: 100%;
  height: auto;
  object-fit: fit;
  border-radius: 5px;
  display: block;
}

.gallery-image:not(.active) {
   display: none;
}

.gallery-dots {
   background-color: red;
}

.dot {
  display: inline-block;
  height: 12px;
  width: 12px;
  margin: 0 5px;
  background-color: var(--bgcolor-iasim2);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
}

.dot.active {
  background-color: var(--color-iasim2);
}


/* -------------------------
   Navigation
---------------------------*/
.page__navigation {
   margin: 0;
}

.menu {
   width: 100%;
   list-style: none;
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
}

.menu__item {
   padding: 0.5em 1em 0.25em 1em;
   font-weight: 600;
}

.menu__item a{
   text-decoration: none;
}

.menu__item_selected {
   font-weight: bold;
}

.menu__item:hover a{
   text-decoration: underline;
}

/* -------------------------
   Sponsors and organizers
---------------------------*/
.sponsor-list,
.organizer-list {
   width: 100%;
   max-width: 350px;
   display: flex;
   flex-wrap: wrap;
   flex-direction: row;
   justify-content: center;
   align-items: stretch;

   list-style: none;
   margin: 0;
   padding: 0;
   padding-top: 1em;
   gap: 0.5em;
}


.sponsor-list__item,
.organizer-list__item {
   display: flex;
   justify-content: center;
   align-items: center;
   flex: 0 0 45%;
   box-sizing: border-box;
   border: solid 2px transparent;
   list-style: none;
   text-align: center;
   margin: 0.25em;
   padding: 0.5em;
   border-radius: 0.5em;
}


.sponsor-list__logo{
   width: 95%;
   height: auto;
   object-fit:scale-down;
}

.organizer-list__logo {
   width: 95%;
   height: auto;
   object-fit:scale-down;
}

/* -------------------------
   Copyright
---------------------------*/

.copyright {
   width: auto;
   margin: 0;
   padding: 0;
   text-align: center;
   border-top-left-radius: 0.5em;
   border-top-right-radius: 0.5em;
}

.copyright p {
   font-size: 0.8em;
   padding: 0.5em 2em;
   margin: 0;
}

.copyright a {
   font-weight: 600;
   text-decoration: none;
}

.copyright-text a:hover {
   text-decoration: underline;
}


/* -------------------------
   Mobile - medium
---------------------------*/
@media(min-width:200px) {


   html {
      font-size: 15px;
   }

   .page-header__logo {
      width: 310px;
      height: 230px;
   }

   .page__header .dates > li:not(:first-of-type){
      display: none;
   }

   .page-wrapper {
      display: grid;
      grid-template-rows: min-content min-content 1fr min-content min-content;
      grid-template-columns: 100%;
      grid-template-areas:
      "header"
      "navigation"
      "content"
      "sponsors"
      "footer";
      align-items: start;
   }

   .copyright {
      width: 100%;
      background: #fff;
      color: #404040;
   }

   .page__content {
      padding-top: 1em;
      padding-bottom: 1em;
   }

   .menu__item {
      padding: 0.25em 1em;
      border-radius: 0.5em;
   }

   .menu {
      width: 100%;
      list-style: none;
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      padding: 0;
   }

   .menu__item {
      padding: 0.5em 1em 0.25em 0.75em;
      margin: 0;
      border-radius: 0;
      display: none;
   }

   .menu__item_selected {
      border-radius: 0;
      display: block;
      border-top-left-radius: 0.35em;
      border-bottom-left-radius: 0.35em;

   }

   .page__navigation {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
   }

   .page__navigation input {
      display: none;
   }

   .page__navigation label {
      display: block;
      width: 40px;
      height: 30px;
      font-size: 1.5rem;
      line-height: 0.3em;
      padding: 0.2em;
      user-select: none;
      -webkit-user-select: none;
      text-align: center;
   }

   .page__navigation input:checked ~ .menu > .menu__item {
      display: block;
   }

   .page__navigation input:checked + label {
      writing-mode: vertical-lr;
   }

}


/* -------------------------
   Desktop styles - small
---------------------------*/

@media(min-width:680px) {

   .page-header__logo {
      width: 320px;
      height: 240px;
   }


   .page__header .dates > li:not(:first-of-type){
      display: block;
   }

   .page__header .dates {
      padding-left: 1.4em;
      font-size: 1rem;
   }

   .page__navigation input,
   .page__navigation label {
      display: none;
   }

   .page__navigation {
      background: none;
      margin: 0;
   }

   .menu {
      width: 100%;
      list-style: none;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      padding: 0 0.5em;
   }

   .menu__item {
      padding: 0.5em 1em 0.25em 1em;
      display: block;
   }

   .menu__item a{
      text-decoration: none;
   }

   .menu__item_selected {
      font-weight: bold;
   }

   .menu__item:hover a{
      text-decoration: underline;
   }

   .menu, .menu__item {
      border-bottom-left-radius: 0.5em;
   }

   .menu__item {
      border-radius: 0.5em;
   }
}


/* Desktop styles - medium */
@media(min-width:980px) {

   html {
      font-size: 15px;
   }

   .page-header__logo {
      width: 320px;
      height: 240px;
   }

   .page-wrapper {
      display: grid;
      grid-template-rows: min-content min-content min-content 1fr min-content;
      grid-template-columns: 340px 1fr;
      grid-template-areas:
      "header navigation"
      "header content"
      "sponsors content"
      ". content"
      ". footer";
   }


   .page__header {
      top: 0;
      align-self: start;
   }

   .page__header .dates {
      border-top-right-radius: 0.5em;
      border-bottom-right-radius: 0.5em;
      padding: 1em;
   }

   .page__sponsors {
      top: 311px;
      align-self: start;
      border-top-right-radius: 0.5em;
      border-bottom-right-radius: 0.5em;
   }

   .page__navigation,
   .page__content,
   .page__footer {
      padding-left: 1em;
   }

   .page__header,
   .page__content,
   .page__footer {
      padding-top: 1em;
   }


   .page__content > .accent {
      border-top-left-radius: 0.5em;
      border-bottom-left-radius: 0.5em;
   }

   .menu__item {
      padding-top: 0.5em;
      border-top-right-radius: 0;
      border-top-left-radius: 0;
      border-bottom-right-radius: 0.5em;
   }

   .copyright {
      width: auto;
      background: var(--bgcolor-gr);
   }

}

/* Desktop styles - large */
@media(min-width:1100px) {

   html {
      font-size: 17px;
   }

   .page-header__logo {
      width: 360px;
      height: 265px;
   }

   .page-wrapper {
      grid-template-columns: 380px 1fr;
   }


   .page__sponsors {
      top: 341px;
   }
}

/* Desktop styles - very large */
@media(min-width:1200px) {

   html {
      font-size: 17px;
   }

   .page-header__logo {
      width: 360px;
      height: 265px;
   }

   .page-wrapper {
      max-width: 1200px;
      display: grid;
      grid-template-rows: min-content min-content min-content 1fr min-content;
      grid-template-columns: auto 380px 1fr auto;
      grid-template-areas:
         ". header navigation ."
         ". header content ."
         ". sponsors content."
         ". . content ."
         ". . footer .";
      align-items: start;
   }

   .page__sponsors {
      top: 341px;
      border-radius: 0.5em;
   }

   .page__navigation,
   .page__content {
      padding-left: 2em;
   }

   .page__header,
   .page__content,
   .page__footer {
      padding-top: 1em;
   }

   .page__header .dates {
      border-radius: 0.5em;
   }

   .page__content > .accent {
      border-radius: 0.5em;
   }

   .menu, .menu__item {
      border-bottom-left-radius: 0.5em;
      border-bottom-right-radius: 0.5em;
   }

}