@font-face
{
    font-family: "PrimeLight";
    src: url("../fonts/Gilroy-Light.woff");
}

@font-face
{
    font-family: "PrimeBlack";
    src: url("../fonts/Gilroy-Black.woff");
}

@font-face
{
    font-family: "PrimeBold";
    src: url("../fonts/Gilroy-Bold.woff");
}

@font-face
{
    font-family: "SegoeUI";
    src: url("../fonts/SegoeUI.woff");
}

body
{
    color: #000;
    font-family: PrimeLight, Arial, sans-serif;
    font-size: 100%;
    margin: 0;
    padding: 0;
}

p, h2
{
    margin: 0px;
}

ul
{
    list-style: none;
}

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

.clear
{
    clear: both;
}

#loginForm
{
    width: 100%;
    height: 100%;
    position: fixed;
    display: none;
    background: rgba(0,0,0, 0.7) no-repeat center center;
    z-index: 100;
    overflow: auto;
}

#close
{
    float: right;
    width: 20px;
    height: 20px;
    background: url("../images/button_close.png") no-repeat center center;
    cursor: pointer;
}

#loginForm .form
{
    height: 330px; /*423px*/
    width: 610px; /*855px*/
    background: #fff no-repeat center center;
    padding: 30px 50px;
    margin: 70px auto;
    margin-bottom: 0px;
}

#loginForm .form h1
{
    text-transform: uppercase;
    font-family: PrimeBold;
    margin: 0px;
}

#loginForm .form > div:nth-child(2)
{
    margin-top: 25px;
    margin-left: 45px;
}

#loginForm .form > div > div:nth-child(2)
{
    padding: 20px 0px;
}

#loginForm input
{
    font-family: PrimeLight;
    font-size: 120%;
    /*border-radius: 5px;*/
    /*border: 2px solid #c7c7c7;*/
    border: none;
    width: inherit;
}

input
{
    font-family: PrimeLight;
    font-size: 120%;
    /*border-radius: 5px;*/
    /*border: 2px solid #c7c7c7;*/
    border: none;
    width: 100%;
}

#auth form > div
{
    border: 2px solid #c7c7c7;
    border-radius: 5px;
    width: 500px;
    padding: 10px;
    margin-bottom: 15px;
}

form > div
{
    border: 2px solid #c7c7c7;
    border-radius: 5px;
    max-width: 500px;
    padding: 10px;
    margin: 15px auto !important;
    text-align: left;
}

form div:last-child
{
    border: none;
}

#auth form div:last-child
{
    border: none;
}

#eye
{
    background: url("../images/form_eye.png") no-repeat center center;
    width: 38px;
    height: 25px;
    float: right;
    cursor: pointer;
}

input:focus
{
    outline: none;
}

#auth form > div:focus 
{
    outline: none;
    border: none;
    border: 2px solid blue;
    border-radius: 5px;
}

#loginForm input[name="password"]
{
    width: 445px;
}

input[type="submit"]
{
    border: none;
    cursor: pointer;
    background: url("../images/bg_form_button.png") repeat center center;
    color: #fff;
    transition-property: background;
    transition-duration: 0.3s;
    border-radius: 5px;
    padding: 10px;
}

input[type="submit"]:hover
{
    background: url("../images/bg_form_button_hover.png") repeat center center;
    transition-property: background;
    transition-duration: 0.3s;
}

.not-supported {
  max-width: 900px;
  margin: 150px 100px 100px;
  margin: 8% 5% 5%;
  font-family: sans-serif;
}

.not-supported__text {
  font-size: 18px;
  margin-bottom: 10px;
}

.not-supported__text_bigger {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 16px;
}

.not-supported__image {
  width: 100px;
  margin: 15px;
}

@supported (max-width: 100px) {
  .not-supported__image {
    width: auto;
    max-width: 100px;
  }
}

.supported {
  display: none;
}

@supports (aspect-ratio: 1/2) and
          (display: flex) and
          (display: grid) and
          (object-fit: contain) and
          (object-position: 50% 50%) {
  .not-supported {
    display: none;
  }

  .supported {
    display: block;
  }
}

.mainmenu {
  font-family: SegoeUI, Tahoma, sans-serif;
  font-size: 1rem;
  padding: 25px 0 0;
}

/* .mainmenu_level_2 */
.mainmenu .nav-child {
  width: 420px;
  position: absolute;
  left: 100%;
  top: 0;
  display: none;
  box-shadow: 3px 0px 5px -4px #000;
}

/* .mainmenu__button */
#hideMenu {
  width: 40px; /* 4:3 */
  height: 30px;
  padding: 15px calc(50% - 20px);
  background-image: url("../images/menu_hamburger.svg");
  background-origin: content-box;
  background-size: 100%;
  background-repeat: no-repeat;
  cursor: pointer;
}

/* .mainmenu__list */
.mainmenu ul {
  list-style: none;
  background-color: #fff;
  padding: 0px;
  margin: 0px;
}

/* .mainmenu__item */
.mainmenu ul li {
  position: relative;
  z-index: 101;
}

/* .mainmenu__item:before */
.mainmenu ul li:before {
  content: "";
  background-color: #f0f0f0;
  width: calc(100% - 25px - 40px); /* 25px = padding-right без ширины стрелки; 40px = (padding-left - 5px)); padding свойства ".mainmenu ul a", стрелка (content) в свойстве ".mainmenu ul li:after" */
  height: 1px;
  position: absolute;
  top: 0; left: 40px;
}

/* .mainmenu__item:after */
.mainmenu ul li:after {
  content: url(../images/menu_arrow.svg);
  display: block;
  width: 20px; /* править так же тут в свойстве top и padding-right в ".mainmenu ul a"*/
  position: absolute; 
  right: 25px; /* 25px = padding-right без ширины стрелки; padding свойства ".mainmenu ul a" */
  top: calc(50% - 10px); /* 10px = 20px/2 половина высоты стрелки (content) */
}

/* .mainmenu_level_2 .mainmenu__item */
.mainmenu .nav-child li:after {
  content: none;
}

/* .mainmenu__item */
.mainmenu ul li:hover {
  background-color: #f8d5d5;
}

/* .mainmenu__link */
.mainmenu ul a { 
  font-family: SegoeUI, Tahoma, sans-serif;
  font-weight: bold;
  font-size: 0.95em;
  text-transform: uppercase;
  color: #000;
  display: block;
  padding: 15px calc(10px + 20px + 25px) 15px 45px; /* 20px = ширина стрелки в свойстве ".mainmenu ul li:after", 10px до стрелки, 25px после */
  /*исправлять паддинг также в ".mainmenu ul li:before" и ".mainmenu ul li:after" */
}

@media screen and (min-width: 900px) {
  /* .mainmenu__item:hover .mainmenu_level_2 */
  .mainmenu ul li:hover .nav-child {
    display: block;
  }
}

@media screen and (max-width: 900px) {
  .mainmenu {
      padding: 0;
  }
  
  .mainmenu ul {
    display: none;
  }

  /* .mainmenu__item:before */ 
  .mainmenu ul li:before {
    width: calc(100% - 80px); /* 80px = (padding - 5px)*2 */
  }

  /* .mainmenu__item:after */
  .mainmenu ul li:after {
    content: none;
  }

  /* .mainmenu__link */
  .mainmenu ul a {
    padding: 15px 45px;
  }
}

@media screen and (max-width: 350px) {
  /* .mainmenu__button */
  #hideMenu {
    width: 32px; /* 4:3 */
    height: 24px;
    padding: 15px calc(50% - 16px);
  }
  
  /* .mainmenu__item:before */
  .mainmenu ul li:before {
    width: calc(100% - 40px); /* 80px = (padding - 5px)*2 */
    left: 20px; /* padding - 5px */
  }

  /* .mainmenu__link */
  .mainmenu ul a {
    padding: 15px 25px;
    word-break: break-word;
  }
}

nav .contacts
{
  padding: 20px 45px;
  background-color: #f0f0f0;
  font-family: PrimeLight;
}

nav .contacts__title
{
  color: #00659c;
  text-transform: uppercase;
  font-weight: bold;
}

nav .contacts div
{
  margin-top: 20px;
  margin-bottom: 20px;
}

nav .contacts__text
{
  color: #a9a9a9;
  margin-bottom: 5px;
}

nav .contacts__link
{
  color: #000;
  text-decoration: underline #c7c7c7;
}

@media screen and (max-width: 350px) {
  .contacts__link,
  .contacts__text,
  .contacts__title {
    word-break: break-word;
  }
}

@media screen and (max-width: 740px) {
  nav .contacts{
    text-align: center;
  }
}

#sliders
{
    /*padding: 20px;
    padding-bottom: 0px;
    overflow: hidden;*/
}

div#logIn
{
    background: url("../images/bg_login.png") no-repeat center center;
    background-size: 100%;
    width: 40px;
    height: 41px;
    float: right;
    /*margin: 50px;*/
    z-index: 90;
    position: relative;
    top: 27px;
    right: 100px;
    cursor: pointer;
}

li#logIn
{
	background: url("../images/bg_login.png") no-repeat center center;
    background-size: 100%;
    width: 2.8em;
    height: 2.8em;
	cursor: pointer;
	vertical-align: top;
}

.mainpage__columnmenu {
  display: grid;
  grid-template-columns: 310px 1fr;
  align-content: flex-start;
  align-items: stretch;
  gap: 40px;
}

.mainpage__twobanners {
  display: grid;
  grid-template-columns: 1.128fr 1fr;
  gap: 5px;
}

.mainpage__grid {
  display: grid;
  gap: 40px;
  align-items: stretch;
  margin: 40px 0;
}

.mainpage__grid:first-child {
  margin-top: 0;
}

.mainpage__grid:last-child {
  margin-bottom: 0;
}

.mainpage__grid_size_m {
  grid-template-columns: repeat(3, 1fr);
}

.mainpage__grid_size_s {
  grid-template-columns: repeat(4, 1fr);
}

.mainpage__news {
  max-width: 1360px;
  padding: 25px 0;
}

.mainpage__visualblock {
  padding: 45px 25px;
  background-color: #fff;
  box-shadow: 0px 3px 8px 0px #000;
}

.mainpage__visualblock_color_grey {
  background-color: #F8F8F8;
}

.mainpage__visualblock_custom_padding {
  padding-left: 0;
}

.mainpage__margin {
  max-width: 1360px;
  margin: 0px auto;
}

.mainpage__title {
  text-transform: uppercase;
  font-family: PrimeBold;
  font-size: 2.3rem;
  background: url("../images/bg_line.png") no-repeat left bottom;
  padding-bottom: 5px; /* для подчеркивающей линии */
  margin: 40px 0;
}

.mainpage__title:first-child {
  margin-top: 0;
}

.mainpage__title:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 1740px) {
  .mainpage__news {
    max-width: 1120px;
  }
  
  .mainpage__grid_size_m {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 1570px) {
  .mainpage__twobanners {
    display: flex;
    flex-direction: column;
  }

  .mainpage__news {
    max-width: 960px;
  }
}

@media screen and (max-width: 1270px) {
  .mainpage__grid_size_m {
    grid-template-columns: 1fr;
  }

  .mainpage__grid_size_s {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 1000px) {
  .mainpage__title {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 900px) {
  .mainpage__grid_size_m {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .mainpage__grid_size_s {
    grid-template-columns: repeat(2, 1fr);
  }

  .mainpage__columnmenu {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    gap: 5px;
  }

  .mainpage__visualblock_custom_padding {
    padding-right: 0;
  }

  .mainpage__news {
    padding: 45px 25px;
  }
}

@media screen and (max-width: 740px) {
  .mainpage__grid_size_s {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

@media screen and (max-width: 350px) {
  .mainpage__title {
    word-break: break-word;
  }
}

.verticalmenu {
    padding: 0;
    margin: 0;
    align-self: stretch;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-content: flex-start;
    align-items: center;
    gap: 25px;
}

.verticalmenu__item {
    background: #fff repeat center center;
}

.verticalmenu__item a { /* я не нашла где это в php добавить */
    display: block;
    padding: 12px 2vw;
    font-family: SegoeUI;
	font-weight: bold;
    font-size: 1rem;
    color: #000;
    text-transform: uppercase;
}

@media screen and (max-width: 1700px) {
    .verticalmenu__item a {
        padding: 12px 1.56vw;
    }
}

@media screen and (max-width: 1570px) {
  .verticalmenu__item a {
    padding: 12px 3.5vw;
  }
}

@media screen and (max-width: 1000px) {
  .verticalmenu__item a {
    padding: 12px 2vw;
  }
}

@media screen and (max-width: 900px) {
  .verticalmenu__item a {
    padding: 12px 6vw;
  }
}

@media screen and (max-width: 740px) {
  .verticalmenu {
    justify-content: space-evenly;
  }
  
  .verticalmenu__item a {
    font-size: 0.9em;
    padding: 10px 2vw;
  }
    
  .verticalmenu__item a {
    padding: 10px 4vw;
  }
}

@media screen and (max-width: 580px) {
    .verticalmenu__item a {
        padding: 10px 2vw;
    }
}

@media screen and (max-width: 460px) {
    .verticalmenu {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px 25px;
    }
  
    .verticalmenu__item {
        width: 33vw;
    }

    .verticalmenu__item a {
        padding: 10px 0;
        font-size: 0.8em;
        text-align: center;
    }
}

@media screen and (max-width: 350px) {
    .verticalmenu__item {
        width: 100%;
    }

    .verticalmenu__item a {
        word-break: break-word; 
        padding: 8px 0;
        text-align: center;
    }
}

/* @media screen and (max-width: 800px) {
    .verticalmenu__item a {
        padding: 9px 12px;
    }
}

@media screen and (max-width: 740px) {
    .verticalmenu__item a {
        padding: 12px 5vw;
    }
} */

.photobanner {
  overflow: hidden;
  aspect-ratio: 1.5;
}

.photobanner__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

@media screen and (max-width: 1570px) {
  .photobanner {
    width: 100%;
    max-width: 800px;
  }
}

@media screen and (max-width: 900px) {
  .photobanner {
    max-width: none;
  }
}

.articlebanner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: 1.56vw;
  background-image: url("../images/bg_right_banner.png");
  background-size: cover;
  background-position: 0 50%;
  font-family: PrimeLight;
  color: #fff;
}

.articlebanner__menu {
  padding: 0 35px;
}

.articlebanner__menu:first-child {
  padding-top: 35px;
}

.articlebanner__menu:last-child {
  padding-bottom: 35px;
}

.articlebanner__bannertitle {
  font-family: PrimeBold;
  font-size: 2.3em;
  font-weight: normal;
  text-transform: uppercase;
  text-align: center;
  margin-top: 7px;
}

.articlebanner__bannertitle:first-child {
  padding-top: 25px;
}

.articlebanner__bannertitle:last-child {
  padding-bottom: 25px;
}

.articlebanner__slider {
  flex-grow: 1;
}

.articlebanner__article {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  gap: 1vw;
}

.articlebanner__articletitle {
  font-family: PrimeBold;
  font-weight: bold;
  font-size: 1em;
  text-decoration: underline;
  height: calc(2*1em*1.125);
  margin: 0;
  overflow: hidden;
  overflow-wrap: break-word;
}

@supports (height: 2lh) {
  .articlebanner__articletitle {
    height: 2lh;
  }
}

.articlebanner__introtext {
  height: calc(8*1em*1.141);
  font-size: 1em;
  text-indent: 1.08em;
  overflow: hidden;
  overflow-wrap: anywhere;
}

@supports (height: 8lh) {
  .articlebanner__introtext {
    height: 8lh;
  }
}

.articlebanner__introtext a {
  color: #fff;
  text-decoration: underline;
}

.articlebanner__more {
  color: #fff;
}

@media screen and (max-width: 1850px) {
    .articlebanner__introtext {
        height: calc(7*1em*1.141);
    }

    @supports (height: 7lh) {
        .articlebanner__introtext {
            height: 7lh;
        }
    }
}

@media screen and (max-width: 1740px) {
  .articlebanner__introtext {
    font-size: 1em;
  }
}

@media screen and (max-width: 1700px) { 
  .articlebanner__introtext {
    height: calc(5*1em*1.141);
  }

  @supports (height: 5lh) {
    .articlebanner__introtext {
      height: 5lh;
    }
  }
}

@media screen and (max-width: 1570px) {
  .articlebanner {
    width: 100%;
    max-width: 800px;
    gap: 30px;
    background-position: 0 35%;
  }

  .articlebanner__bannertitle {
    font-size: 2.5em;
  }

  .articlebanner__article {
    gap: 25px;
  }

  .articlebanner__articletitle {
    height: calc(1*1em*1.125);
  }

  @supports (height: 1lh) {
    .articlebanner__articletitle {
      height: 1lh;
    }
  }

  .articlebanner__introtext {
    height: calc(8*1em*1.141);
  }

  @supports (height: 8lh) {
    .articlebanner__introtext {
      height: 8lh;
    }
  }
}

@media screen and (max-width: 900px) {
  .articlebanner {
    max-width: none;
  }
  
  .articlebanner__bannertitle {
    font-size: 3em;
  }

  .articlebanner__introtext {
    font-size: 1.15em;
    height: calc(7*1em*1.141);
  }

  @supports (height: 7lh) {
    .articlebanner__introtext {
      height: 7lh;
    }
  }
}

@media screen and (max-width: 740px) {
  .articlebanner__bannertitle {
    font-size: 2.5em;
  }

  .articlebanner__articletitle,
  .articlebanner__introtext {
    font-size: 0.95em;
  }

  .articlebanner__more {
    font-size: 0.9em;
  }
  
  .articlebanner__articletitle {
    height: calc(2*1em*1.125);
  }

  @supports (height: 2lh) {
    .articlebanner__articletitle {
      height: 2lh;
    }
  }
}

@media screen and (max-width: 580px) {
    .articlebanner__introtext {
        height: calc(10*1em*1.141);
    }

    @supports (height: 10lh) {
        .articlebanner__introtext {
            height: 10lh;
        }
    }
}

@media screen and (max-width: 460px) {
    .articlebanner {
        gap: 20px;
    }
  
    .articlebanner__bannertilte {
        font-size: 2em;
    }

    .articlebanner__articletitle,
    .articlebanner__introtext {
        font-size: 0.9em;
    }

    .articlebanner__more {
        font-size: 0.8em;
    }
}

@media screen and (max-width: 350px) {
  .articlebanner__bannertitle {
    word-break: break-word;
  }
}

/* @media screen and (max-width: 1000px) {
    .articlebanner__articletitle {
        height: calc(2*1em*1.125);
    }

    @supports (height: 2lh) {
        .articlebanner__articletitle {
            height: 2lh;
        }
    }

    .articlebanner__introtext {
        height: calc(10*1em*1.1.141);
    }

    @supports (height: 10lh) {
        .articlebanner__introtext {
            height: 10lh;
        }
    }
} */

/*
ul.menuButton li:first-child a
{
  	padding: 0.6vw 3vw; /* 8px 45px
}

ul.menuButton li a
{
	font-family: SegoeUI;
	font-weight: bold;
	padding: 0.6vw 2vw; /* 8px 25px
	display: block;
	text-transform: uppercase;
	color: #000;
} */

/*#sponsors .sponsors  
{
    background: #fff repeat center center;
    box-shadow: 0px 3px 8px 0px #000;
} */

#sponsors ul /* .sponsors__layout */
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    align-items: stretch;
    gap: 40px;
    padding: 0;
    margin: 0;
}

#sponsors ul li /* .sponsors__item */
{
	filter: grayscale(100%);
	transition-property: filter;
    transition-duration: 0.2s;
    max-width: 300px;
    max-height: 100px;
}

#sponsors ul li:hover
{
	filter: grayscale(0%);
	transition-property: filter;
    transition-duration: 0.2s;
}

#sponsors ul a /* .sponsors__link */
{
    display: block;
	width: 100%;
    height: 100%;
}

#sponsors li img /* .sponsors__image */
{
    min-width: 60px;
    min-height: 40px;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: 50% 75%;
}

@media screen and (max-width: 1270px) {
    #sponsors ul li /* .sponsors__item */
    {
        max-width: 225px;
        max-height: 75px;
    }
}

@media screen and (max-width: 1000px) {
    #sponsors ul /* .sponsors__layout */
    {
        gap: 20px;
    }
}

@media screen and (max-width: 500px) {
    #sponsors /*.sponsors */ 
    {
    }
}

/* #news
{
    padding-bottom: 30px;
} */

div.itemNews
{
    overflow: hidden;
    width: 396px;
    height: 256px;
    border: 2px solid #c7c7c7;
    display: inline-block;
    margin-right: 40px;
    margin-top: 30px;
    color: #000;
    text-align: center;
    transition-property: color, background;
    transition-duration: 0.5s;
}

div.itemNews > img
{
    padding: 10px;
    max-height: 100px;
  	max-width: 100%;
    transition-property: height;
    transition-duration: 0.5s;
}

div.itemNews div.descArticle
{
    text-align: left;
    margin: 0px auto;
    width: 370px;
    font-size: 110%;
    overflow: hidden;
    height: 100px;
    margin-bottom: 5px;
    transition-property: height;
    transition-duration: 0.5s;
}

div.itemNews div.descArticle p:nth-child(2)
{
    font-family: PrimeBold;
}

div.itemNews div div.date
{
    overflow: hidden;
    width: 75px;
    margin-left: 13px;
    float: left;
}

/* div.itemNews:hover
{
    background: rgba(0,0,0, 0.45) no-repeat center center;
    transition-property: background;
    transition-duration: 0.5s;
}

div.itemNews:hover img
{
    height: 0px;
    transition-property: height;
    transition-duration: 0.5s;
}

div.itemNews:hover > div
{
    color: #fff;
    transition-property: color;
    transition-duration: 0.5s;
}

div.itemNews:hover div.descArticle
{
    height: 198px;
    transition-property: background;
    transition-duration: 0.9s;
} */

.services {

}

#services .web-university
{
    max-width: 682px;
    display: inline-block;
    float: left;
}

.cardlink {
  font-size: 1rem;
  color: #000;
  border: 2px solid #c7c7c7;
  background-color: #FFFFFF;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-content: stretch;
  gap: 10px;
  position: relative;
  overflow: hidden;
}

.cardlink_size_s {
  padding: 25px 20px 45px;
  max-width: 400px;
  min-width: 250px;
  gap: 15px;
}

.cardlink_size_m {
  padding: 15px 15px 45px;
  min-width: 425px;
  max-width: 600px;
}

.cardlink_size_l {
  padding: 15px 15px 45px;
  max-width: 800px;
  min-width: 600px;
}

.cardlink_background_image {
  background-image: url("../images/bg_cardlink.jpg");
  background-size: cover;
}

.cardlink_mainpage_news {
  aspect-ratio: 1.5;
}

.cardlink_mainpage_service {
  aspect-ratio: 1.3
}

.cardlink_mainpage_gallery {
  background-image: url("../images/bg_gallery.png");
  width: 650px;
  aspect-ratio: 1.3;
  padding-bottom: 25px;
}

.cardlink:hover {
  transition-property: background-color;
  transition-duration: 1s;
  background-color: #8C8C8C;
  color: #fff;
  font-size: 1.05rem;
}

.cardlink:hover .cardlink__imageblock {
  visibility: hidden;
  order: 1;
}

.cardlink:hover .cardlink__iconbutton {
  filter: invert(100%);
}

.cardlink:hover .cardlink__overlay {
  color: #fff;
}

.cardlink_hover_pink:hover {
  background-color: #F8e1e1;
  color: #000;
}

.cardlink_hover_pink:hover .cardlink__iconbutton {
  filter: invert(0%);
}

.cardlink_hover_pink:hover .carlink__overlay {
  color: #000;
}

.cardlink_mainpage_gallery:hover {
  font-size: 1rem;
}

.cardlink_mainpage_gallery:hover .cardlink__iconbutton {
  filter: invert(0);
}

.cardlink_size_s .cardlink__imageblock {
  height: 70px;
}

.cardlink_size_m .cardlink__imageblock {
  height: 120px;
}

.cardlink_size_l .cardlink__imageblock {
  height: 200px;
}

.cardlink__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cardlink_size_s .cardlink__image {
  object-position: 10% 0;
}

.cardlink__title {
  font-family: PrimeBold;
  font-size: 1.1em;
  overflow: hidden;
  overflow-wrap: break-word;
}

.cardlink__title_text_uppercase {
  font-size: 1em;
  font-weight: bold;
  text-transform: uppercase;
}

.cardlink__introtext {
  font-size: 1em;
  overflow: hidden;
  overflow-wrap: break-word;
}

.cardlink__introtext a {
  color: inherit;
  text-decoration: underline;
}

.cardlink__footertext {
  height: calc(1*1em*1.19);
  overflow: hidden;
  padding: 15px;
  position: absolute;
  bottom: 0; left: 0;
}

@supports (height: 1lh) {
  .cardlink__footertext {
    height: 1lh;
  }
}

.cardlink__button {
  width: 27px;
  height: 27px;
  position: absolute;
  right: 0; bottom: 0;
  padding: 25px 15px 10px 25px;
}

.cardlink__button_border {
  right: 15px; bottom: 15px;
  padding: 7px 22px 7px 25px;
  border: #000 solid 2px;
}

.cardlink_mainpage_gallery .cardlink__button {
  filter: invert(100%);
}

.cardlink__iconbutton {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
}

.cardlink__overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  font-size: 5em;
  color: #bcbcbc;
  display: flex;
  flex-direction: column; 
  justify-content: center;
  align-items: center;
}

.cardlink_mainpage_gallery .cardlink__overlay {
  font-family: PrimeBold;
  font-size: 1.7em;
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
}

.cardlink_mainpage_news {
  aspect-ratio: 1.5;
}

.cardlink_mainpage_news .cardlink__title {
  height: calc(2*1em*1.25);
}

@supports (height: 2lh) {
  .cardlink_mainpage_news .cardlink__title {
    height: 2lh;
  }
}

.cardlink_mainpage_news .cardlink__introtext {
  max-height: calc(2*1em*1.19);
}

@supports (height: 2lh) {
  .cardlink_mainpage_news .cardlink__introtext {
    max-height: 2lh;
  }
}

@media screen and (max-width: 1740px) {
  .cardlink_mainpage_news {
    aspect-ratio: 1.75;
  }
}

@media screen and (max-width: 1570px) {
  .cardlink_mainpage_news {
    aspect-ratio: 1.5;
  }

  .cardlink_mainpage_service {
    aspect-ratio: 1.2;
  }
}

@media screen and (max-width: 1270px) {
  .cardlink_mainpage_news {
    aspect-ratio: 1.8;
  }

  .cardlink_mainpage_service {
    aspect-ratio: 1.5
  }
}

@media screen and (max-width: 1100px) {
  .cardlink_mainpage_service {
    aspect-ratio: 1.3;
  }
}

@media screen and (max-width: 1000px) {
  .cardlink_mainpage_service {
    aspect-ratio: 1.1;
  }
}

@media screen and (max-width: 900px) {
  .cardlink {
    width: 100%;
  }
  .cardlink_mainpage_news {
    aspect-ratio: 1.6;
  }

  .cardlink_mainpage_service {
    aspect-ratio: 1.5;
  }

  .cardlink_mainpage_gallery {
    max-width: none;
    min-width: 0;
  }
}

@media screen and (max-width: 740px) {
  .cardlink_mainpage_news {
    aspect-ratio: 1.75;
  }

  .cardlink_mainpage_service {
    aspect-ratio: 2;
  }
}

@media screen and (max-width: 580px) {
  .cardlink_size_m {
    max-width: none;
    min-width: 0;
  }
  
  .cardlink_mainpage_news {
    aspect-ratio: 1.5;
  }

  .cardlink_mainpage_gallery {
    aspect-ratio: 1;
  }
}

@media screen and (max-width: 460px) {
  .cardlink_mainpage_news {
    aspect-ratio: 0.9;
    min-height: 175px;
  }

  .cardlink_mainpage_news .cardlink__title {
    height: calc(3*1em*1.25);
  }

  @supports (height: 3lh) {
    .cardlink_mainpage_news .cardlink__title {
      height: 3lh;
    }
  }

  .cardlink_mainpage_service {
    aspect-ratio: 1.3;
  }
}

@media screen and (max-width: 350px) {
  .cardlink_size_s {
    max-width: none;
    min-width: 0;
  }
  
  .cardlink_mainpage_news {
    aspect-ratio: auto;
  }

  .cardlink_mainpage_service {
    aspect-ratio: auto;
  }

  .cardlink_mainpage_gallery {
    aspect-ratio: 0.8;
    padding-bottom: 45px;
    word-break: break-word;
    font-size: 1.3em;
  }
}

/* 294x190 */

/* .service__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: 0% 50%;
}

.service__textblock {
    overflow: hidden;
    position: relative;
}

.service__textblock:after {
    content: "";
    display: block;
    position: absolute;
    height: 5px;
    bottom: 0; right: 0; left: 0;
    background: #fff repeat center center;
}

.service__description {
    z-index: 1;
}

.service__button {
    position: absolute;
    right: 0; bottom: 0;
    z-index: 2;
    width: 30px;
    height: 30px;
    padding: 15px 15px 5px;
}

.service__iconbutton {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: 50% 50%;
} */

/* .gallery
{
    height: 426px;
    width: 590px;
    display: inline-block;
    border: 2px solid #c7c7c7;
    margin-top: 38px;
    background: url("../images/bg_gallery.png") repeat-x center center;
    text-transform: uppercase;
    font-weight: bold;
    font-family: PrimeBold;
    color: #fff;
    text-align: center;
    /*vertical-align: bottom;
    font-size: 170%;
}

.gallery > div:first-child
{
    margin-top: 200px;
    margin-bottom: 135px;
}

.gallery div a
{
    float: right;
}

.gallery div a div
{
    border: 2.5px solid #fff;
    width: 62px;
    height: 35px;
    background: url("../images/article_arrow_hover.png") no-repeat center center;
    margin-bottom: 20px;
    margin-right: 20px;
} */

.symbolics {
  font-size: 1rem;
  color: #000;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-content: stretch;
  align-items: center;
  gap: 10px;
}

.symbolics a {
  color: inherit;
}

.symbolics_line {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-content: flex-start;
  gap: 15px;
}

.symbolics__logoblock {
  width: 120px;
  height: 90px;
}

.symbolics__logoimage {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.symbolics__title {
  font-size: 1.25em;
  color: #000;
  text-wrap: nowrap;
  text-align: center;
}

.symbolics_line .symbolics__title {
  text-align: left;
}

.symbolics__subtitle {
  font-size: 0.85em;
  color: #a9a9a9;
  text-align: center;
  max-width: 70%;
}

.symbolics_line .symbolics__subtitle {
  text-align: left;
}

@media screen and (max-width: 1270px) {
  .symbolics__title 
  {
    font-size: 1.1em;
    text-wrap: wrap;
  } 
}

@media screen and (max-width: 1000px) {
  .symbolics_line {
    grid-template-columns: 90px 1fr;
  }

  .symbolics__logoblock {
    width: 90px;
    height: 67.5px;
  }
  .symbolics__title 
  {
    font-size: 1.3em;
  }
}

@media screen and (max-width: 580px) {
  .symbolics_line {
    grid-template-columns: 75px 1fr;
  }

  .symbolics__logoblock {
    width: 75px;
    height: 56px;
  }
}

@media screen and (max-width: 350px) {
  .symbolics_line {
    display: flex;
    flex-direction: column;
    align-content: stretch;
    gap: 10px;
  }
  
  .symbolics__logoblock {
    width: 100%; /* 4:3 */
    height: 75%;
    max-width: 150px;
  }
  
  .symbolics__title,
  .symbolics__subtitle {
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

.footer {
  display: grid;
  grid-template-columns: 5fr 4fr 5fr;
  align-items: flex-start;
  align-content: flex-start;
  gap: 10px;
}

.footer__item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  gap: 25px;
}

.footer__twocolumns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: flex-start;
  align-items: flex-start;
  gap: 7px;
}

.footer__comment {
  text-align: right;
}

.footer__title {
  text-transform: uppercase;
  font-family: PrimeBold;
  font-size: 1.2em;
  margin: 5px 0 15px;
}

.footer__title:last-child {
  margin-bottom: 5px;
}

.footer__text {
  font-size: 1em;
  margin: 7px 0;
}

.footer__iframe {
  border: 0;
  width: 320px; /* 3x2 */
  height: 213px;
}

@media screen and (max-width: 1270px)
{
  .footer__title 
  {
    font-size: 1em;
  }
  .footer__text 
  {
    font-size: 0.8em;
  } 
  .footer__iframe 
  {
    width: 240px;
    height: 160px;
  }
}

@media screen and (max-width: 1000px)
{
  .footer 
  {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    align-items: stretch;
    gap: 40px;
    margin-bottom: 40px;
  }
  .footer__item_adaptive
  {
    display: grid;
    grid-template-columns: 1fr 375px;
    gap: 30px;
  }
  .footer__title 
  {
    font-size: 1.1em;
  }
  .footer__text 
  {
    font-size: 0.9em;
  } 
}

@media screen and (max-width: 740px)
{
  .footer
  {
    flex-direction: column;
    justify-content: flex-start;
    align-content: center;
  }
  
  .footer__item_adaptive
  {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-content: stretch;
    align-items: stretch;
    gap: 25px;
  }
  .footer__iframe 
  {
    width: 450px;
  }
}

@media screen and (max-width: 500px)
{
  .footer__iframe 
  {
    width: 100%;
  }
}

@media screen and (max-width: 350px) {
  .footer__twocolumns {
    grid-template-columns: 1fr;
  }
  
  .footer__title 
  {
    word-break: break-all;
  }
  .footer__text 
  {
    word-break: break-word;
  } 
}

.social
{
    margin: 0 auto;
    padding-right: 80px; /* нужно просто чтобы красивее выровнять соц сети когда их три */
}

.social ul
{
    padding: 0px;
    margin: 0px;
    text-align: center;
}

.social ul li
{
    display: inline-block;
    margin-right: 10px;
}

@media screen and (max-width: 1000px) {
    .social {
        padding: 0;
    }
}

@media screen and (max-width: 350px) {
    .social {
        margin: 0 auto 0 0;
    }
}

.gallery {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.gallery__image {
  max-width: 100%;
  max-height: 175px;
}

@media screen and (max-width: 1270px) {
  .gallery__image {
    max-height: 150px;
  }
}

@media screen and (max-width: 1000px) {
  .gallery__image {
    max-height: 125px;
  }
}

@media screen and (max-width: 900px) {
  .gallery__image {
    max-height: 200px;
  }
}

@media screen and (max-width: 740px) {
  .gallery__image {
    max-height: none;
  }
}

@media screen and (max-width: 1005px)
{
    #loginForm .form
    {
        width: 610px;
    }
    
    /* .primeInf
    {
        margin: 0px auto !important;
        float: none !important;
    } */
    
    /* .authors
    {
        float: none !important;
        width: 324.109px;
        margin: 0px auto !important;
    } */
	
	/*.nav
	{
		font-size: 60% !important;
	}*/
	
	.body_article
	{
		font-size: 60% !important;
	}
}

@media screen and (max-width: 950px)
{
    div#logIn
    {
        position: static;
    }

    /* .mainmenu > ul > li 
    {
        background: url("../images/border_menu.png") no-repeat center top, url("../images/menu_arrow.png") no-repeat 170px center;
    }

    .mainmenu > ul > li:hover
    {
        background: url("../images/border_menu.png") no-repeat center top, url("../images/menu_arrow.png") no-repeat 170px center, #f8d5d5 repeat center center !important;
    } */
    
    /* #center
    {
        margin-left: 218px;
    } */
    
    #sliders div#logIn
    {
        background-size: 75%;
        top: 15px;
    }
    
    /* .mainmenu ul li ul
    {
        left: 215px;
    }
    
    .mainmenu > ul > li
    {
        width: 224px;
    } */
    
    /* .mainmenu ul a
    {
        font-size: 80%;
        padding-left: 15px;
    } */
    
    div.itemNews
    {
        width: 350px;
        height: 240px;
    }
    
    div.itemNews > img
    {
        height: 74px;
    }
    
    div.itemNews div.descArticle
    {
        font-size: 100%;
        width: 318px !important;  
    }
    
    div.itemNews:hover div.descArticle
    {
        height: 179px;
    }
    
    /* .gallery
    {
        height: 279px;
        width: 294px;
        /*margin-left: -40px;
    }
    
    .gallery > div:first-child
    {
        margin-top: 127px;
        margin-bottom: 62px;
    } */
    
    .article
    {
        font-size: 80%;
    }
}


@media screen and (max-width: 840px)
{
	/* #sliders div.banner #right-banner
	{
		font-size: 70%;
		height: unset;
	}
	
	ul.menuButton
	{
		text-align: center;
	}
	
	ul.menuButton li
	{
		margin-right: 5px;
	}
	
	ul.menuButton li a
	{
		padding: 8px 15px !important;
	} */
	
	/* div.buttons-three
	{
		padding-top: 20px;
	} */
	
}

@media screen and (max-width: 740px)
{
    #loginForm .form
    {
        width: 360px;
    }
    
    #loginForm input
    {
        width: auto;
    }
    
    #loginForm input[type="submit"]
    {
        width: 235px;
    }
    
    #auth form > div
    {
        width: 230px;
    }
    
    #loginForm input[name="password"]
    {
        width: 180px;
    }
    
    /* #center
    {
        margin: 0px;
    } */
	
	/* #sliders div.banner #right-banner
	{
		width: 100%;
	} 
	
	.slider
	{
		max-width: 90% !important;
		margin: 0px auto;
	} */
    
    .mainmenu .nav-child
    {
        width: 300px !important;
    }
    
    /* #news > div
    {
        text-align: center;
    } */
}

@media screen and (max-width: 550px)
{
	/* div.buttons-three
	{
		padding-top: 10px;
	} */
	
	/* .slider__wrapper
	{
		height: 30.8em !important;
	} */
}

@media screen and (max-width: 505px)
{
    #loginForm .form
    {
        width: 170px;
        font-size: 65%;
        height: auto;
    }
    
    #auth form > div
    {
        width: 140px;
    }
    
    #loginForm input[name="password"]
    {
        width: 100px;
    }
    
    #eye
    {
        width: 28px;
        height: 15px;
        background-size: 100%;
    }
    
    #loginForm .form > div:nth-child(2)
    {
        margin-left: 0px;
    }
    
    #loginForm input
    {
        width: auto;
    }
    
    #loginForm input[type="submit"]
    {
        width: 110px;
    }
    
    #close
    {
        width: 15px;
        height: 15px;
        background-size: 100%;
    }
    
	/* .slider__wrapper 
	{
		height: 35.8em !important;
	} */
	
    /* .mainmenu .nav-child
    {
        width: 200px !important;
    }
    
    .mainmenu ul li ul
    {
        left: 180px;
    }
    
    .mainmenu > ul > li
    {
        width: 180px;
    }
    
    .mainmenu ul a
    {
        font-size: 75%;
    }
    
    .mainmenu > ul > li 
    {
        background: url("../images/border_menu.png") no-repeat center top, url("../images/menu_arrow.png") no-repeat 150px center;
    }

    .mainmenu > ul > li:hover
    {
        background: url("../images/border_menu.png") no-repeat center top, url("../images/menu_arrow.png") no-repeat 150px center, #f8d5d5 repeat center center !important;
    } */
}

/* @media screen and (max-width: 450px)
{
	ul.menuButton
	{
		padding: 0px;
	}
	
	#sliders div.banner #right-banner
	{
		margin-left: 0px;
	}
	
	.slider__wrapper
	{
		height: 45.8em !important;
	}
} */
	
@media screen and (max-width: 414px)
{
    /* .mainmenu ul li ul
    {
        left: 180px;
    }
    
    .mainmenu > ul > li
    {
        width: 180px;
    } */
}

@media screen and (max-width: 408px)
{
    /* .mainmenu .nav-child
    {
        width: 175px !important;
    }
    
    .mainmenu > ul > li
    {
        width: 180px;
    } */
    
    /* #news
    {
        font-size: 65%;
    } */
    
    div.itemNews
    {
        width: 250px;
        height: 140px;
      	margin-right: 0px;
    }
    
    div.itemNews > img
    {
        height: 30px;
    }
    
    div.itemNews div.descArticle
    {
        width: 227px !important;
        height: 65px !important;   
    }
    
    div.itemNews:hover div.descArticle
    {
        height: 95px !important;
    }
    
    div.itemNews div div.date
    {
        width: 48px;
    }
    
    div.itemNews div a
    {
        width: 14px;
        height: 8px;
        background-size: 100%;
    }
    
    div.itemNews:hover div a
    {
        background-size: 100%;
    }
    
    #services
    {
        font-size: 65% !important;
    }
  
    #services > div
    {
        margin-left: 0px;
    }
    
  	.itemService
  	{
      	margin-right: 0px;
  	}
    
    .authors
    {
        width: auto;
    }
    
    .authors .social ul li img
    {
        height: 25px;
    }
    
    /* .gallery_image img
    {
        height: 120px;
    }*/
}

div.article 
{
    padding: 30px 30px 10px; /* padding: 10px; */
    margin: 0px 20px;
}

/* .nav
{
    font-family: PrimeBold;
    font-size: 110%;
    padding: 20px 0px;
}

.nav a
{
    color: blue;
} */

.header
{
    text-align: center;
    /*height: 290px;*/
    font-family: PrimeBold;
    font-size: 130%;
    padding: 25px 0px;
}

.article_image
{
    /*float: left;*/
    display: inline-block;
    max-width: 405px;
}

.article_image img
{
    width: 100%;
}

.header_desc
{
    text-align: center;
    display: inline-block;
    /*float: right;*/
    max-width: 748px;
    margin: 10px 20px;
}

.body_article
{
    padding: 10px 100px;
    font-size: 110%;
}

.body_article p
{
    text-indent: 25px;
}

.body_article div 
{
    /*max-width: 1150px;*/
    /*margin: 0px auto;*/
	/*text-align: center;*/
}

/*.body_article div:last-child
{
    text-align: right;
    margin: 35px 0px;
    font-family: PrimeBold;
}*/

.body_article table tr td img
{
    max-width: 150px;
}

.body_article table tr td
{
    padding-right: 10px; 
    padding-left: 10px;
    max-width: 200px;
}

/*#mainContainer > div:first-child
{
    box-shadow: 0px 2px 6px 0px #000;
}*/

#userPanel
{
    background: #000 repeat center center;
    padding: 0px 25px;
    text-align: center;
    font-family: PrimeBold;
    color: #fff;
}

.interface_menu
{
    margin: 0px;
    padding: 0px;
}

.interface_menu li
{
    display: inline-block;
}

.interface_menu li a
{
    color: #fff;
    padding: 20px 10px;
    display: block;
}

.interface_menu li:hover a
{
    color: #000;
}

.interface_menu li:hover
{
    background: #fff repeat-x bottom center;
}

#userPanel li.active
{
    background: #fff repeat-x bottom center;
}

#userPanel li.active a
{
    color: #000;
}

#userPanel .userName
{
    padding: 20px 0px;
}

#pagination
{
    padding: 20px 10px;
    font-size: 110%;
    text-align: center;
}

#pagination a
{
    color: blue;
}

#pagination span, #pagination a
{
    display: inline-block;
    margin: 0px 5px;
}

/* .gallery_image
{
    display: inline-block;
    /*max-height: 170px;
    margin: 10px;
    /*float: left;
}

.gallery_image a
{
    display: block;
}

.gallery_image img
{
    /*height: -webkit-fill-available;
    max-height: 170px;
} */

figcaption
{
    display: none;
}

.textarea
{
	max-width: unset;
}

textarea
{
	width: 100%;
	height: 100%;
	font-family: PrimeLight;
	font-size: 120%;
}

#editArticle
{
	background: url("../images/edit_icon.png") no-repeat center center;
	background-size: 100%;
	width: 40px;
	height: 40px;
	box-shadow: none !important;
	position: relative;
	z-index: 90;
	top: 50px; 
	right: 100px;
	float: right;
	cursor: pointer;
}

.center_img_article
{
	text-align: center;
}

.center_img_article > div
{
	max-width: 405px;
	margin: 0px auto;
}

.center_img_article > div img
{
	width: 100%;
}

#deleteImage, #deleteArticle
{
	background: url("../images/button_close.png") no-repeat center center;
	background-size: 100%;
	position: relative;
	right: 5px;
	margin-bottom: 5px;
	z-index: 50;
	margin-left: auto;
	width: 25px;
	height: 25px;
}

#deleteImage a
{
	display: block;
	width: inherit;
	height: inherit;
}

#deleteArticle
{
	float: right; 
	top: 60px;
}

.breadcrumb p
{
	display: inline-block;
}

.page-header h2 {
  margin: 25px 0;
}

div.page-header h2[itemprop="headline"], div.page-header h2[itemprop="name"]
{
  	text-align: center;
  	margin: 25px 0px;
}

ul.pager , div.pagination ul
{
  	text-align: center;
}

div.pagination li, ul.pager  li
{
  	display: inline-block;
  	text-align: center;
  	margin-right: 3%;
}

.item-page {
  margin: 15px auto;
  max-width: 900px;
  overflow: hidden;
  font-size: 1rem;
}

.blog {
  margin: 15px auto;
  max-width: 900px;
  overflow: hidden;
}

.item-image {
  max-height: 250px;
  display: flex;
  justify-content: center;
  margin: 40px;
}

.item-image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center center;
}

.item-content {
  
}

@media screen and (max-width: 580px) {
  .item-image {
    margin: 25px;
  }
}

@media screen and (max-width: 460px) {
  .item-image {
    height: 150px;
  }
}

@media screen and (max-width: 350px) {
  .blog p,
  .blog a,
  .blog h1,
  .blog h2,
  .blog h3 {
    word-break: break-word;
  }
  
  .item-content p,
  .item-content a,
  .item-content h1,
  .item-content h2,
  .item-content h3 {
    word-break: break-word;
  }
  
  .item-image {
    height: auto;
    margin: 15px;
  }
}

.item-content img {
  max-width: 100%;
  max-height: 100%;
}

.sidebar {
  display: flex; 
  flex-direction: row;
  flex-wrap: nowrap; 
  justify-content: flex-start; 
  align-items: flex-start;
  
}

.sidebar__image {
  margin: 25px; 
  max-width: 200px; 
  text-align: center;
}

.sidebar__body {
  min-width: 200px;
  margin: 25px 0;
}

@media screen and (min-width: 530px) and (max-width: 670px) {
  .sidebar__image {
    max-width: 150px;
  }  
}

@media screen and (max-width: 530px) {
  .sidebar__image {
    margin: 25px auto;
    max-width: 100%;
  }
  
  .sidebar {
	flex-wrap: wrap;
  }
}

@media screen and (max-width: 350px) {
  .sidebar__body {
    min-width: 0;
  }
}

.collaboration-banner {
  position: relative;
}

.collaboration-banner img {
  max-width: 100%;
}

.collaboration-banner p {
  position: absolute; 
  top: 15px; 
  left: 25px; 
  color: white;
  font-size: 2em;
}

@media screen and (max-width: 400px) {
  .collaboration-banner p {
	font-size: 0.75em;
  }
}

@media screen and (min-width: 400px) and (max-width: 500px) {
  .collaboration-banner p {
	font-size: 1em;
  }
}

@media screen and (min-width: 500px) and (max-width: 600px) {
  .collaboration-banner p {
	font-size: 1.5em;
  }
}

@media screen and (min-width: 741px) and (max-width: 850px) {
  .collaboration-banner p {
	font-size: 1.25em;
  }
}


@media screen and (min-width: 400px) and (max-width: 490px) {
  .table {
	font-size: 0.65em;
  }
}

@media screen and (max-width: 400px) {
  .table {
	font-size: 0.6em;
  }
  
}

.schedule_ipg {
	font-size: .9em;
}

.schedule_ipg td ~ td {
	text-align: center;
}

.schedule_ipg,
.schedule_ipg thead,
.schedule_ipg td {
	border: 1px solid rgb(177, 177, 177);
	border-collapse: collapse;
}

.schedule_ipg td {
	padding: 3px 9px 5px 5px; 
}

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


/* Новое (Мишустина). */

.grid {
    width:100%;
    display: grid;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: center;
    gap: 7px;
}

.grid_column_two {
  grid-template-columns: repeat(2, 1fr);
}

.grid_column_three {
  grid-template-columns: repeat(3, 1fr);
}

.grid_column_four {
  grid-template-columns: repeat(4, 1fr);
}

.grid__item {
  max-width: 100%;
}

@media screen and (max-width: 580px) {
  .grid_column_two {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.textandicon {
  padding: 15% 17.5%;
}

.textandicon__text {
  text-align: center;
  font-size: 1.1875em;
}

.textandicon__icon {
  display: block;
  max-width: 125px;
  max-height: 125px;
  margin: 0 auto 25px;
  
}

.blockandsidecolumn {
  display: grid;
  grid-template-columns: 250px 1fr;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 40px 0;
}

.blockandsidecolumn:first-child {
  margin-top: 0;
}

.blockandsidecolumn:last-child {
  margin-bottom: 0;
}

.blockandsidecolumn_column_larger {
  grid-template-columns: 300px 1fr;
}

.blockandsidecolumn__block {
  margin: 0 30px;
}

.blockandsidecolumn__column {
}

.blockandsidecolumn__row {
  grid-column: 1/3;
}

.blockandsidecolumn__image {
  max-width: 100%;
  max-height: 100%;
}

.blockandsidecolumn__headline {
  font-size: 1.375em;
  font-weight: 700;
  margin: 1em 0;
}

.blockandsidecolumn__headline:first-child {
  margin-top: 0;
}

.blockandsidecolumn__headline:last-child {
  margin-bottom: 0;
}

.blockandsidecolumn__headline_size_larger {
  font-size: 2.25em;
  margin: 1.2em 0;
}

.blockandsidecolumn__subheadline {
  font-size: 1.25em;
  font-weight: 700;
  margin: 0.75em 0;
}

.blockandsidecolumn__subheadline:first-child {
  margin-top: 0;
}

.blockandsidecolumn__subheadline:last-child {
  margin-bottom: 0;
}

.blockandsidecolumn__text {
  margin: 0.25em 0;
}

.blockandsidecolumn__text_spacing_larger {
  margin: 1em 0;  
}

.blockandsidecolumn__text_size_smaller {
  font-size: 0.875em;
}

.blockandsidecolumn__iconbeforetext {
  max-height: 1.25em;
  max-width: 1.25em;
  margin: 0 0.75em;
  vertical-align: middle;
}

.blockandsidecolumn__iconbeforetext_size_smaller {
  max-height: 1em;
  max-width: 1em;
}

.blockandsidecolumn__list {
  margin: 0;
  list-style-type: none;
}

.blockandsidecolumn__listitem {
  margin: 0.3em 0;
  position: relative;
}

.blockandsidecolumn__listitem:before {
  content: "◼";
  color: blue;
  position: absolute;
  top: 0;
  left: -30px;
}

.blockandsidecolumn__listitem_spacing_larger {
  margin: 1em 0;
}

@media screen and (max-width: 1100px) {
  .blockandsidecolumn {
    grid-template-columns: 200px 1fr;
  }
}

@media screen and (max-width: 580px) {
  .blockandsidecolumn {
    grid-template-columns: 1fr;
  }
  
  .blockandsidecolumn__block {
    margin: 30px 0;
  }

  .blockandsidecolumn__column {
    width: min(300px, 100%);
  }

  .blockandsidecolumn__row {
    grid-column: auto;
  }
}

@media screen and (max-width: 350px) {
  .blockandsidecolumn__headline,
  .blockandsidecolumn__subheadline,
  .blockandsidecolumn__text,
  .blockandsidecolumn__listitem {
    word-break: break-word;
  }
  
}

.cardfixed3to2 {
  width: 100%;
  aspect-ratio: 3/2;
}
  
.cardfixed16to9 {
  width: 100%;
  aspect-ratio: 16/9;
}

.iframe-rasp {
  width: 100%;
  height: 55vh;
  border: none;
  overflow: scroll;
  transform-origin: top left;
}

@media screen and (max-width: 1270px) {
  .iframe-rasp {
    transform: scale(0.8);
    width: 125%;
  }
}

@media screen and (max-width: 1100px) {
  .iframe-rasp {
    transform: scale(0.5);
    width: 200%;
  }
}

@media screen and (max-width: 900px) {
  .iframe-rasp {
    height: 80vmax;
    transform: scale(0.7);
    width: 142.5%;
  }
}

.internalization-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 40px;
}

@media screen and (max-width: 1100px) {
  .internalization-grid {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 900px) {
  .internalization-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 580px) {
  .internalization-grid {
    grid-template-columns: 1fr;
  }
}