@font-face {
     font-display:swap;
     font-family:'coFoSans';
     font-style: normal;
     font-weight: 400;
     src: url(fonts/CoFoSans-Regular.woff2) format("woff2"), url(fonts/CoFoSans-Regular.woff) format("woff"), url(fonts/CoFoSans-Regular.ttf) format("truetype")}

html {
    font-family: 'coFoSans', Arial, sans-serif;
    font-size: 100%;
}

body{
    margin: 0;
	background-color: rgb(224, 224, 224, 1);
}

a {
    text-decoration: none;
    color: inherit;
}

img {
     max-width: 100%;
     height: auto;
     display: block;
}

h1, h2, h3, h4, h5 {
     margin: 0;
}

h2 {
     border-top-right-radius: 1.5rem;
     border-top-left-radius: 1.5rem;
     padding: .75rem 2rem;
     line-height: 1;
     font-family: 'coFoSans', Arial, sans-serif;
     font-size: 4.5rem;
     font-weight: normal;
}

h3 {
     font-family: 'coFoSans', Arial, sans-serif;
     font-size: 1.875rem;
     font-weight: normal;
}

ul {
     margin: 0;
     padding: 0;
     list-style-type: none;
}

p {
     margin-top: 0;
}

button {
     background-color: transparent;
     border: none;
}

.flex_hor {
     width: 100%;
     display: flex;
     flex-direction: row;
     flex: 1;
     gap: 1rem;
}

.flex_ver {
     display: flex;
     flex-direction: column;
     gap: 1rem;
}

.chip_text {
     display: flex;
     flex-direction: column;
     justify-content: center;
     padding: 2rem;
}

.chip_text>div:first-child {
     margin-bottom: .5rem;
}

.rounded {
     border-radius: 1rem;
}

.leftrounded {
     border-top-left-radius: 1rem;
     border-bottom-left-radius: 1rem;
}

.rightrounded {
     border-top-right-radius: 1rem;
     border-bottom-right-radius: 1rem;
}

.overlap {
     margin-top: -1.5rem;
     border-top-right-radius: 1rem;
     border-top-left-radius: 1rem;
}

.white-on-blue {
     background-color: rgba(78, 78, 228, 1) !important;
     color: rgba(255, 255, 255, 1) !important;
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .7s;
}

main {
     margin: 0 auto;
     max-width: 1536px;
     min-width: 350px;
     min-height: 100vh;
     padding-left: 2rem;
     padding-right: 2rem;
     display: flex;
     flex-direction: column;
     font-size: 1.25rem;
     line-height: 1.75rem;
     color: rgba(78, 78, 228, 1);
}

nav {
     position: sticky;
     top: 0;            /* ← без этого инсет-триггера sticky не сработает */
  	 z-index: 10;
     height: 5rem;
     display: flex;
     align-items: center;
     gap: 1.75rem;
     background-color: rgb(224, 224, 224, 1);
     border-bottom: 0 solid rgba(235, 91, 41, 1);
     font-size: .875rem;
     line-height: 1rem;
     color: rgba(235, 91, 41, 1);
}

	#nav__logo {
         display: flex;
	}

	#nav__what {
         width: 4rem;
         margin-left: 1rem;
	}

	#nav__when {
         width: 3rem;
	}

	#nav__where {
         width: 7rem;
	}

	#nav__burger {
         margin-left: auto;
	}

#blackfog {
     display: none;
     flex-direction: row;
     justify-content: end;
     position: fixed;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100vh;
     background-color: rgba(31, 41, 55, .6);
     z-index: 100;
}

	#rightpanel {
        width: 0;
        height: 100%;
     	background-color: rgba(235, 91, 41, 1);
     	z-index: 101;
        padding: 3rem 2.5rem;
	}

		.rightpanel__close {
             position: absolute;
             top: 1rem;
             right: 2rem;
             color: rgba(255, 255, 255, 1);
             font-size: 2.25rem;
    		 line-height: 2.5rem;
		}

		#rightpanel__menu {
             list-style-type: none;
		}
     
     	.rightpanel_menu__item>a {
             color: rgba(255, 255, 255, 1);
             font-size: 1.5rem;
    		 line-height: 2.5rem;
		}

		#rightpanel__menu>h3 {
             margin-top: 2.5rem;
             border-top: 2px solid rgba(235, 218, 213, 1);
             padding: 1rem 0;
             color: rgba(235, 218, 213, 1);
		}


#title_grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     grid-template-rows: repeat(2, 1fr);
     background-color: rgba(255, 255, 255, 1);
}

#fairtitle {
     display: grid;
     grid-template-rows: repeat(2, 1fr);
}

#fairwhere {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
  	 grid-template-areas:
    "txt txt chip";
}
     
     #fairwhere_content {
          grid-area: txt;
          align-items: center;
          background-color: rgba(221, 233, 170, 1);
          padding: 2rem 4rem;
     }

	 #fairwhere_icon {
          display: flex;
          
	 }

	 #fairwhere_text {
          text-align: left;
          
	 }

     #fairwhere_chip {
          grid-area: chip;
          background-color: rgba(140, 170, 251, 1);
     }

     #flex_fairabout1 {
          display: grid;
          grid-template-columns: repeat(5, 1fr);
          grid-template-areas:
         "chip txt txt txt txt";
     }

     #fairabout1_chip {
          grid-area: chip;
          background-color: rgba(140, 170, 251, 1);
     }

     #fairabout1_text {
          grid-area: txt;
          background-color: rgba(224, 229, 255, 1);
     }

#fairname {
     flex-grow: 1;
}

#fairwhen {
     display: grid;
     grid-template-columns: repeat(8, 1fr);
     grid-template-rows: repeat(8, 1fr);
     grid-template-areas:
    "chip1 chip1 chip2 chip2 img img img img"
    "chip1 chip1 chip2 chip2 img img img img"
    "txt txt txt txt img img img img"
    "txt txt txt txt img img img img"
    "chip3 chip4 chip5 chip5 img img img img"
    "chip3 chip4 chip6 chip6 img img img img"
    "chip3 chip4 chip6 chip6 img img img img"
    "chip3 chip4 chip7 chip7 img img img img";
}

     #fairwhen_text {
          grid-area: txt;
          background-color: rgba(224, 229, 255, 1);
          font-size: 2.25rem;
          line-height: 2.5rem;
     }

     #fairwhen_img {
          grid-area: img;
          background-image: url('/images/background1.jpg');
     	  background-size: cover;
     }

	 #fairwhen_chip1 {
          grid-area: chip1;
          background-color: rgba(252, 234, 206, 1);
	 }

	 #fairwhen_chip2 {
          grid-area: chip2;
          background-color: rgba(255, 202, 170, 1);
	 }

	 #fairwhen_chip3 {
          grid-area: chip3;
          background-color: rgba(191, 213, 117, 1);
	 }

	 #fairwhen_chip4 {
          grid-area: chip4;
          background-color: rgba(255, 255, 255, 1);
	 }

	 #fairwhen_chip5 {
          grid-area: chip5;
          background-color: rgba(255, 52, 0, 1);
	 }

	 #fairwhen_chip6 {
          grid-area: chip6;
          background-color: rgba(255, 255, 255, 1);
	 }

	 #fairwhen_chip7 {
          grid-area: chip7;
          background-color: rgba(255, 255, 255, 1);
	 }

#fairdeco {
     background-image: url('/images/background2.jpg');
     background-size: cover;
}

#fairannotations {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     grid-template-rows: repeat(13, minmax(0, 1fr));
     grid-template-areas:
    "ann1 ann1 ann2 ann2"
    "ann1 ann1 ann2 ann2"
    "ann1 ann1 ann2 ann2"
    "ann1 ann1 ann2 ann2"
    "ann1 ann1 ann2 ann2"
    "ann1 ann1 ann2 ann2"
    "chip1 chip1 chip1 chip2"
    "chip3 ann3 ann3 ann3"
    "chip3 ann3 ann3 ann3"
    "chip3 ann3 ann3 ann3"
    "chip3 ann3 ann3 ann3"
    "chip4 ann3 ann3 ann3"
    "chip4 ann3 ann3 ann3";
}

	#fairannotation1 {
         grid-area: ann1;
         font-size: 2.25rem;
         line-height: 2.5rem;
	}

    #fairannotation2 {
         grid-area: ann2;
         background-color: rgba(221, 233, 170, 1);
	}

	#fairannotation3 {
         grid-area: ann3;
         background-color: rgba(251, 243, 223, 1);
	}

	#fairann_chip1 {
          grid-area: chip1;
          background-color: rgba(255, 255, 255, 1);
	}

	#fairann_chip2 {
          grid-area: chip2;
          min-height: 50px;
          background-color: rgba(78, 78, 237, 1);
	}

	#fairann_chip3 {
          grid-area: chip3;
          background-color: rgba(255, 255, 255, 1);
	}

	#fairann_chip4 {
          grid-area: chip4;
          background-color: rgba(255, 51, 0, 1);
	}

#news {
}

	#news>h2 {
         background-color: rgba(235, 91, 41, 1);
         color: rgba(255, 255, 255, 1);
	}

	#news__body {
         padding: 2rem;
         background-color: rgba(247, 207, 181, 1);
	}

	#news__flex {
         margin-bottom: 1.5rem;
         gap: 1rem;
	}

	.news_card {
         flex: 1;
         min-height: 18rem;
         background-color: rgba(247, 236, 213, 1);
         
	}

	.news_card>a {
         display: block;
         color: rgba(78, 78, 237, 1);
	}

	.news_card__text {
         flex-grow: 1;
         min-height: 12rem;
         padding: 2rem;
	}

	.read_news {
         padding: 1rem 2rem;
         border-top: 2px solid rgba(247, 207, 181, 1);
	}

	.news_card:last-of-type>.read_news{
         border-top: none;
	}

	.h__new {
         background-color: rgba(247, 236, 213, 1);
         color: rgba(78, 78, 237, 1);
	}

	.body__news {
         background-color: rgba(250, 244, 228, 1);
         padding: 2rem;
         gap: 4rem;
	}

	.news_grid__card {
         display: grid;
         grid-template-columns: 1fr 2fr;
         gap: 2rem;
	}

		 .news_grid__card h3 {
              font-size: 1.35rem;
              font-weight: 700;
              padding: 1rem;
        }

		.news_grid__card p {
             margin-bottom: 0;
		}
		
		.news_card__date {
             padding: 1rem;
		}

		.news_card__arrow {
             margin-top: 2rem;
		}

#program {
}

	#program>h2 {
         background-color: rgba(78, 78, 237, 1);
         color: rgba(255, 255, 255, 1);
         display: flex;
         flex-direction: row;
         justify-content: space-between;
	}

	#button_program_download {
         display: grid;
         grid-template-columns: 1fr auto;
         align-items: center;
	}

		#button_program_download>div:first-of-type{
             background-color: rgba(235, 91, 41, 1);
             border: 1px solid rgba(235, 91, 41, 1);
             padding: 2rem 1rem;
		}

		#icon_program_download {
             border: 3px solid white;
             padding: 0 .8rem;
             font-size: 3rem;
             border-radius: 50%;
             color: rgba(255, 255, 255, 1);
        }

		#caption_program_download {
             padding: 1rem;
             background-color: rgba(255, 255, 255, 1);
             border: 3px solid rgba(235, 91, 41, 1);
             color: rgba(235, 91, 41, 1);
        }

	#program__body {
         padding: 2rem;
         padding-bottom: 3.5rem;
         background-color: rgba(255, 255, 255, 1);
	}

	#program_disclamer {
         margin: 0;
         padding: 2.5rem;
         text-align: center;
         line-height: 2.8rem;
         font-size: 2.5rem; 
         background-color: rgba(235, 91, 41, 1);
         color: rgba(255, 255, 255, 1);
	}

	#program__flex {
         gap: 1rem;
         margin-bottom: 2rem;
	}

	.program_card {
         width: 16%;
         min-height: 10rem;
         padding: 1rem;
         background-color: rgba(247, 236, 213, 1);
	}

	.program_card>a {
         display: flex;
         color: rgba(78, 78, 237, 1);
	}

	.white-on-blue>a {
         color: rgba(255, 255, 255, 1);
	}

	.program_card:first-of-type {
         width: 33%;
         background-color: rgba(255, 255, 255, 1);
         overflow-wrap: break-word;
	}

	.program_card:first-of-type>div {
         margin-bottom: 2.5rem;
         font-size: 1.5rem;
    	 line-height: 2rem;
         display: grid;
         grid-template-columns: 1fr 85px;
         gap: 1rem;
	}

	.program_card:first-of-type a {
         width: 45px;
	}

	/*.program_card:nth-of-type(2) {
         background-color: rgba(235, 240, 255, 1);
	}

	.program_card:nth-of-type(3) {
         background-color: rgba(208, 214, 247, 1);
	}

	.program_card:nth-of-type(4) {
         background-color: rgba(151, 168, 239, 1);
	}

	.program_card:nth-of-type(5) {
         background-color: rgba(78, 78, 221, 1);
	}

	.program_card:nth-of-type(5)>a {
         color: rgba(255, 255, 255, 1);
	}*/
	
	.program_card__day {
         min-height: 7rem;
         text-align: right;
         font-size: 3.75rem;
         font-weight: 700;
    	 line-height: 1;
	}

	.program_card__weekday {
         margin-top: auto;
         font-size: 1.5rem;
    	 line-height: 2rem;
	}

#fair {
    margin-bottom: 2rem;
}

	#fair>h2 {
         background-color: rgba(247, 236, 213, 1);
         color: rgba(78, 78, 221, 1);
	}

	#fair__body {
         padding: 2rem;
         background-color: rgba(250, 244, 228, 1);
	}

    #fair__grid {
         display: grid;
         grid-template-columns: repeat(6, 1fr);
         grid-auto-rows: auto;
         gap: 1rem;
         margin-bottom: 2rem;
    }

	.fair_firstcard {
         grid-column: 1 / span 2;
         justify-content: center;
         font-size: 1.875rem;
    	 line-height: 2.25rem;
	}

	.fair_card {
         min-height: 18rem;
         padding: 1rem;
         background-color: rgba(247, 236, 213, 1);
	}

	.fair_card:hover {
         background-color: transparent;
	}

	.fair_card>a {
         color: rgba(78, 78, 237, 1);
	}

	.fair_card__logo {
         display: flex;
         flex-grow: 1;
         align-items: center;
	}	

	.fair_card img {
         filter: grayscale(100%);
	}

	.fair_card:hover img {
         filter: grayscale(0);
	}

	.fair_card__caption {
         text-align: center;
         padding-top: 1rem;
    	 padding-bottom: 1rem;
         margin-top: auto;
	}

#benefactors {
     margin-bottom: 3.5rem;
}

	#benefactors__body {
	}

	#benefactors__flex {
         column-gap: 1rem;
	}

	.benefactors_type__body {
         flex: 1;
	}

	.benefactors_type__header {
         line-height: 2;
         text-transform: uppercase;
         font-size: 1.25rem;
	}

	.benefactors_type__flex {
         column-gap: 1rem;
	}

	.benefactors__card {
         flex: 1;
         display: flex;
         flex-grow: 1;
         align-items: center;
         justify-content: center;
         height: 11rem;
         padding: 1rem;
         background-color:  rgba(255, 255, 255, 1);
	}


#schedule {
}

	#schedule__tabs {
        align-items: flex-end;
        gap: 0;
	}

        #schedule__tabs>h2 {
             flex-grow: 1;
             padding: 0;
		}

		#schedule__tabs>h2>a {
              border-top-right-radius: 1rem;
     		  border-top-left-radius: 1rem;
              padding: .75rem 2rem;
              gap: 0;
        }

			  #schedule__tabs>h2>a.active {
                   padding-top: 1.5rem
              }

              .schedule_tab__day {
                   font-size: 2.25rem;
                   line-height: 2.5rem;
              }

              .schedule_tab__weekday {
                   font-size: 1.25rem;
                   line-height: 1.75rem;
              }

        #schedule__date {
              padding: 2rem;              
        }

         .schedule_date_location__body {
              display: grid;
              grid-template-columns: repeat(3, 1fr);
         	  grid-auto-rows: auto;
              gap: 1rem;
              
         }

		 .schedule_date_location__header {
              width: fit-content;
              padding: 1rem;
              background-color: rgba(255, 255, 255, 1);
              margin-top: 1rem;
		 }

	     .schedule_fltr {
          	  gap: 0;
         }

         .schedule_fltr__date {
              padding: 1.5rem;
              padding-bottom: 3rem;
         }

         .schedule__card {
              padding: 2rem;
              background-color: rgba(255, 255, 255, 1);
         }

              .schedule_card__time {
                   font-weight: 700;
                   font-size: 1.5rem;
                   line-height: 2rem;
                   padding: 0;
                   order: -2;
              }

              .schedule_card__name {
                   padding-bottom: 1rem;
                   border-bottom: 1px solid rgba(140, 170, 251, 1);
                   font-size: 1.5rem;
                   line-height: 2rem;
                   font-weight: normal;
                   order: -1;
              }

              .schedule_card__type {
                   font-size: 1.125rem;
                   line-height: 1.5rem;
              }

              .schedule_card__participants {
                   font-size: 1.125rem;
                   line-height: 1.5rem;
              }

			  .schedule_card__participants>a {
                   text-decoration: underline;
              }

              .schedule_card__tags {
                   font-size: 1.125rem;
                   line-height: 1.5rem;
              }

			  .schedule_card__tags>a {
                   text-decoration: underline;
              }

              .schedule_card__buttons {
                   display: flex;
                   justify-content: space-between;
                   align-items: center;
                   margin-top: 2rem;
              }

              .schedule_card_button__more {
              }

              .schedule_card_button__signup {
                   padding: 1rem;
                   text-transform: uppercase;
                   font-size: 1rem;
              }

		.color_day1 {
             background-color: rgba(235, 240, 255, 1);
		}

		.color_day2 {
             background-color: rgba(208, 214, 247, 1);
		}

		.color_day3 {
             background-color: rgba(140, 170, 251, 1);
		}

		.color_day4 {
             background-color: rgba(78, 78, 228, 1);
		}

#speakers {
}

	.h2__speaker {
         background-color: rgba(190, 213, 116, 1);
         color: rgba(78, 78, 221, 1);
	}

	.body__speaker {
         background-color: rgba(220, 234, 169, 1);
         color: rgba(78, 78, 221, 1);
	}

	.speakers__body {
         padding: 2rem;
	}

    .speakers__grid {
         display: grid;
         grid-template-columns: repeat(4, 1fr);
         grid-auto-rows: auto;
         gap: 1rem;
         margin-bottom: 2rem;
    }
	
	.speakers_card {
         min-height: 18rem;
         padding: 2rem;
	}

	.speakers_card:hover {
         background-color: transparent;
	}

    .speakers_card img {
         filter: grayscale(100%);
	}

	.speakers_card:hover img {
         filter: grayscale(0);
	}
         
	.speakers_card>a {
         color: rgba(78, 78, 237, 1);
	}

	.speakers_card__photo {
         display: flex;
         flex-grow: 1;
         align-items: end;
         margin: -2rem -2rem 0 -2rem;
	}	

	.speakers_card__info {
         padding-top: 1rem;
    	 padding-bottom: 1rem;
         display: flex;
         flex-direction: column;
         justify-content: center;
         gap: 1rem;
	}

	.speakers_card__info>p {
         margin: 0;
	}

	.speakers_card__info__town {
         margin-top: auto;
	}

.bigcard__wrapper {
     margin-top: 1rem;
     flex-grow: 1;
}

     /*ul.breadcrumbs {
          display: flex;
          flex-direction: row;
          padding: 1rem 0;
          margin-bottom: 1rem;
     }

         .breadcrumbs__crumb>span {
              padding-left: .4rem;
              font-size: 1.125rem;
              color: rgba(107, 114, 128, 1);
         }

         .breadcrumbs__crumb>a {
              font-size: 1.125rem;
              color: rgba(235, 91, 41, 1);
         }

         .breadcrumbs__crumb>a:hover {
              text-decoration: underline;
         }*/

         .breadcrumbs {
               display: flex;
               flex-direction: row;
               padding: 1rem 0;
               margin-bottom: 1rem;
          }

         .breadcrumbs>span {
              padding-left: .4rem;*/
              font-size: 1.125rem;
              color: rgba(107, 114, 128, 1);
         }

         .breadcrumbs>span>a {
              font-size: 1.125rem;
              color: rgba(235, 91, 41, 1);
         }

         .breadcrumbs>span>a:hover {
              text-decoration: underline;
     	 }
	
	.bigcard__body {
         padding: 2rem;
	}

	.bigcard_flex {
         display: grid;
         grid-template-columns: 400px 1fr;
         gap: 2rem;
	}

	.bigcard_flex__portrait {
         display: flex;
         justify-content: center;
	}

	.bigcard_flex__portrait>img {
         align-self: start;
	}

	.bigcard_flex__description {
         font-size: 1.125rem;
	}

	.bigcard_flex__description>h3 {
         font-size: 1.5rem;
	}

	.bigcard_flex__event {
         padding-top: 1rem;
         padding-left: 2rem;
	}

	.bigcard_flex__event>a {
         text-decoration: underline;
	}

	.bigcard_h2__publisher {
         background-color: rgba(247, 236, 213, 1);
         color: rgba(40, 49, 112, 1);
	}

	.bigcard_body__publisher {
         background-color: rgba(250, 244, 228, 1);
         color: rgba(40, 49, 112, 1);
	}

	.bigcard_h2__news {
         background-color: rgba(247, 236, 213, 1);
         color: rgba(40, 49, 112, 1);
	}

	.bigcard_body__news {
         background-color: rgba(250, 244, 228, 1);
         color: rgba(40, 49, 112, 1);
	}

footer {
     margin-top: auto;
     display: grid;
     grid-template-columns: 60% 40%;
     grid-template-rows: repeat(2, auto);
     border-top-right-radius: 1rem;
     border-top-left-radius: 1rem;
     padding: 2rem;
     background-color: rgba(235, 91, 41, 1);
     color: rgba(255, 255, 255, 1);
}

	#footer__menu {
         display: flex;
         justify-content: end;
	}

		#footer_menu__wrapper {
             display: grid;
             grid-template-columns: repeat(2, 1fr);
     		 grid-auto-rows: auto;
             row-gap: 1.25rem;
             column-gap: .75rem;
		}

		.footer_menu__item {
             padding-left: 1.75rem;
             padding-bottom: .25rem;
             border-bottom: 2px solid rgba(249, 116, 69, 1);
             
		}

		.footer_menu__item>a {
             font-size: 1.5rem;
    		 line-height: 2rem;
             color: rgba(255, 255, 255, 1); 
		}

	#footer__copyright {
         display: flex;
         flex-direction: column;
         justify-content: end;
         padding-top: 2rem;
	}

	#footer__contacts {
         display: flex;
         flex-direction: row;
         justify-content: end;
         column-gap: 1.75rem;
         text-align: right;
         padding-top: 2rem;
	}

	#footer_contacts__email {
         display: flex;
         flex-direction: row;
         column-gap: .75rem;
	}

	#footer_contacts__email>img {
         display: inline;
	}


@media screen and (max-width: 63.94em) {

     h2 {
          font-size: 3rem;
          padding: .75rem 1rem;
     }
     
     main {
          width: 100%;
          padding: 0;
     }
     
     .flex_hor {
          flex-direction: column;
     }
     
     nav {
          padding: 0 1rem;
     }

     #nav__when {
          display: none;
     }

     #nav__where {
          display: none;
     }
     
     #title_grid {
          grid-template-columns: repeat(1, 1fr);
          grid-template-rows: repeat(3, 1fr);
     }
     
     .chip_text {
          padding: 1.7rem;
     }
     
     #fairwhere_content {
          padding-left: 1rem;
          align-items: start;
     }
     
     #fairwhen {
          display: grid;
          grid-template-columns: repeat(8, 1fr);
          grid-template-rows: repeat(4, 1fr);
          grid-template-areas:
         "chip1 chip1 chip1 chip1 img img img img"
         "txt txt txt txt img img img img"
         "chip3 chip4 chip5 chip5 img img img img"
         "chip3 chip4 chip7 chip7 img img img img";
     }
     
     /*#fairwhen_chip1 img {
          display: none;
     }*/
     
     
     #fairannotations {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          grid-template-rows: repeat(10, minmax(0, 1fr));
          grid-template-areas:
         "ann1 ann1 ann2 ann2"
         "ann1 ann1 ann2 ann2"
         "ann1 ann1 ann2 ann2"
         "ann1 ann1 ann2 ann2"
         "ann1 ann1 ann2 ann2"
         "ann1 ann1 ann2 ann2"
         "chip1 chip1 chip1 chip2"
         "chip3 ann3 ann3 ann3"
         "chip4 ann3 ann3 ann3"
         "chip4 ann3 ann3 ann3";
     }
     
     #fairannotation1 {
          font-size: 1.7rem;
	 }
     
     #news__body {
          padding: 1rem;
     }
     
     .news_card {
          min-height: auto;
     }
     
     .news_card__text {
          min-height: auto;
     }
     
     #fair__body {
          padding: 1rem;
     }
     
     #fair__grid {
          grid-template-columns: repeat(2, 1fr);
     }
     
     #fairname {
          padding: 0 2rem;
          height: 200px;
     }
     
     #fairdeco {
	      display: none;     
	 }
     
     #program__body {
          padding: 1rem;
     }
     
     #program__flex {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          margin-bottom: 1rem;
     }
     
     .program_card {
    	  width: auto;
     }
     .program_card:first-of-type {
          grid-column: 1 / span 2;
          width: auto;
     }
     
     .program_card__day {
          font-size: 2.375rem;
     }
     
     #benefactors__body {
          padding: 1rem;
     }
     
     #orgs__flex {
          flex-direction: row;
     }
     
     #part__flex {
          flex-direction: row;
     }
     
     .benefactors__card {
          height: 8rem;
     }
     
     #schedule__tabs {
          flex-direction: row;
     }
     
     #schedule__date {
          padding: 1rem;
     }
     
     #schedule__tabs a {
          text-align: center;
     }
     
     .schedule_date_location__header {
          flex-direction: row;
     }
     
     .schedule_date_location__body {
          display: flex;
          flex-direction: column;
     }
     
     #schedule__tabs>h2>a {
          padding: .75rem 1.5rem;
     }
     
     .schedule_tab__day {
          font-size: 2rem;
     }
     
     .fair_firstcard {
          font-size: 1.575rem;
     }
     .speakers__grid {
          grid-template-columns: repeat(1, 1fr);
     }
     
     .bigcard_flex {
          grid-template-columns: none;
     	  grid-template-rows: 375px 1fr;
     }
     
     .bigcard_flex__portrait>img {
          align-self: center;
	 }
     
     .benefactors_type__header {
          line-height: 1.5rem;
          padding-left: 0;
          padding-right: 0;
     }
     
     footer {
          grid-template-columns: repeat(1, 1fr);
     	  grid-template-rows: 1fr 2fr 1fr 1fr;
          padding: 1rem;
     }
     
     #footer__logo {
          width: 18rem;
     }
     
     .footer_menu__item {
          padding-left: 0;
     }
     
     #footer__copyright {
          order: 4;
          font-size: 1rem;
     }
     
     #footer__contacts {
          order: 3;
          column-gap: .6rem;
          justify-content: space-between;
     }
     
     #footer_contacts__email {
          column-gap: .3rem;
     }
     
     #footer_contacts__email>img {
          max-width: 25px;
          height: 25px;
     }
     
     #footer_contacts__email>span {
          font-size: 1rem;
     }
     
     #footer__contacts>a {
          width: 25px;
     }
}     
/* === Locally added overrides === */

/* Burger menu open state */
#blackfog.on { display: flex !important; }
#blackfog.on #rightpanel { width: min(28rem, 90vw); }

/* Publishers grid (наш кастомный компонент) */
.publishers__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;padding:2rem;background:#fff;border-radius:1.5rem;}
.publisher_card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:1.25rem 1rem;background:rgb(224,224,224);text-decoration:none;color:rgba(78,78,228,1);transition:transform .2s;}
.publisher_card:hover{transform:translateY(-4px);}
.publisher_card__logo{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:1rem;margin-bottom:.75rem;padding:.75rem;box-sizing:border-box;}
.publisher_card__logo img{max-width:100%;max-height:100%;object-fit:contain;}
.publisher_card__name{font-weight:600;font-size:1.05rem;line-height:1.2;}
