@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');
* {
  margin: 0;
  padding: 0;
}

html {
  overflow-y: overlay;
}

html.overflow-hidden{
  overflow-y: hidden;
}

html, body {
  min-height: 100vh;
  height: 100vh; /* Fallback for browsers that do not support Custom Properties */
  font-family: 'Montserrat', sans-serif;;
  font-size: 20px;
  letter-spacing: -0.013em;
  color: #082C65;
}
body{
  background-image: url("/web/images/background.png");
  background-position: top center;
  display: flex;
  flex-direction: column;
  background-size: cover;
  justify-content: start;
}
.container {
  width: 1130px;
}
.container-fluid.white{
  background-color: #FFFFFF;
}
body:not(.frontpage) .container-fluid.white{
  min-height: 100%;
  padding-bottom: 40px;
}
main, header, footer {
  display: block;
}

.padd {
  padding: 0 20px; }

a, a.btn.btn-link {
  text-decoration: none;
  color: #082C65;
}

a:focus {
  text-decoration: underline;
  outline: none;
}

h1, h2 {
  text-transform: uppercase;
  text-align: center;
  color: #A01525;
  font-weight: 700;
  font-size: 29px;
}
h2 {
  font-size: 25px;
  margin-top: 44px;
}
h3 {
  color: #A01525;
  font-size: 20px;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 20px;
  font-weight: bold;
}

ul li {
  list-style: none; }

p {
  font-size: 20px;
  text-align: justify;
  line-height: 28px;
}

.wrapper {
  margin: 0 auto;
  width: 1100px;
}
.wrapper.wrapper_lg{
  margin: 20px auto 0;
  width: 1400px;
}
header{
  color: #FFFFFF;
  min-height: 440px;
  max-height: 440px;
  overflow: hidden;
}
header .wrapper{
  position: relative;
}
header nav{
  display: flex;
  justify-content: flex-end;
}
header nav a {
  color: #583586;
  text-transform: uppercase;
  background-color: rgba(255, 255, 255, 0.8);
  font-weight: 700;
  padding: 10px 19px 13px;
  font-size: 19px;
  border-radius: 0 0 10px 10px;
  margin-left: 1px;
  transition: all 0.3s;
  position: relative;
}
header nav a.authorised {
  border-radius: 0 0 0 10px;
  margin-right: 0;
}
.innerpage p a{
  color: #A01525;
  text-decoration: underline;
}
header nav a.active {
  color: #A01525;
  background-color: #FFFFFF;
}
.centredImage{
  display: block;
  margin: 20px auto;
  width: max-content;
}

header nav a:hover,
header nav a:active,
header nav a:focus
{
  color: #A01525;
  background-color: rgb(255, 255, 255);
  text-decoration: none;
}
header .mainTitle{
  font-size: 58px;
  font-weight: 700;
  margin-top: 29px;
  margin-left: 0;
}
header .mainTitle .eventTitle {
  font-size: 35px;
  margin-top: -6px;
}
header .headerButtons a.buttonLink.blue{
  margin-left: 10px;
}
header .headerButtons {
  position: absolute;
  right: 0;
  top: 90px;
  display: flex;
}

.buttonLink{
  color: #FFFFFF;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 7px;
  display: block;
  font-size: 19px;
  padding: 11px;
  width: max-content;
  margin: 0 auto;
  border: 0;
  outline: none;
  box-shadow: none;
}
.buttonLink:hover,
.buttonLink:focus,
.buttonLink:active
{
  text-decoration: none;
  color: #FFFFFF;
}
.red{
  background-color: rgba(160, 21, 37, 0.8);
}
.violet{
  background-color: #492e7f;
}
.blue{
  background-color: #26216F;
}
.program > a {
   font-size: 26px;
   margin: 42px auto 28px;
   padding: 6px 28px;
 }
.cerf_logo{
  background-color: #26216F;
  position: relative;
  top: -160px;
  left: 902px;
  width: 150px;
  height: 150px;
  padding: 20px;
  border-radius: 50% 0 0 050%;
  box-shadow: -7px 0 35px -20px #000000;
  margin-bottom: -200px;
}
.cerf_logo::after{
  content: ' ';
  display: block;
  height: 100%;
  width: 2000px;
  top: 0;
  left: 135px;
  position: absolute;
  background-color: #26216f;
  box-shadow: 35px 0 35px -20px #000;
}
.registerButton:hover,
.registerButton:focus,
.registerButton:active {
  text-decoration: none;
  color: #FFFFFF;
}
main {
  position: relative;
}
.support,
.support h2{
  color: #FFFFFF;
}
.logoContainer {
  max-width: 260px;
  margin-top: 59px;
}

.logoContainer img{
  max-width: 100%;
  height: auto;
}
.container-fluid, .container {
  padding: 4px 0;
}

.frontpage main {
}

footer {
  color: #fff;
  text-align: center;
  width: 100%;
  padding: 7px 0;
  font-size: 20px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: end;
}

.modal-header {
  position: relative; }
  .modal-header .close {
    margin-top: -2px;
    position: absolute;
    right: 20px;
    top: 20px; }
    .modal-header .close:focus {
      border: none;
      outline: none; }
    .modal-header .close span {
      font-size: 28px; }

.modal-open {
  overflow: visible;
}

.table-striped > tbody > tr {
  background-color: #FFFFFF; }

.btn-primary {
  background-image: -webkit-linear-gradient(top, #0057a5 0, #004181 100%);
  background-image: -o-linear-gradient(top, #0057a5 0, #004181 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#004181), to(#004181));
  background-image: linear-gradient(to bottom, #0057a5 0, #004181 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0057a5', endColorstr='#004181', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  border-color: #0057a5;
  background-repeat: repeat-x; }

.btn-primary:hover {
  background-image: -webkit-linear-gradient(top, #004181 0, #004181 100%);
  background-image: -o-linear-gradient(top, #004181 0, #004181 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#004181), to(#004181));
  background-image: linear-gradient(to bottom, #004181 0, #004181 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#004181', endColorstr='#004181', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  border-color: #0057a5;
  background-position: 0 0; }


.slick-initialized .slick-slide {
  outline: none; }

#reg-form .form-group .alert,
#forgetForm .form-group .alert,
#loginForm .form-group .alert {
  visibility: hidden;
  display: none; }

#reg-form .form-group.has-error .alert,
#forgetForm .form-group.has-error .alert,
#loginForm .form-group.has-error .alert {
  visibility: visible;
  display: block; }

.nav-tabs > li > a.active {
  border-top: 1px solid #ddd !important;
  border-left: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;
  border-bottom: 1px solid #fff !important; }

.NMO_block a{
  text-decoration: underline;
  color: #002F66;
}
.NMO_block ul:first-child{
  margin-right: 130px;
}
.NMO_block ul li{
  font-size: 21px;
  list-style-type: disc;
  margin-left: 20px;
}
.NMO_block .d-flex {
  display: flex;
}
#tab-materials h1{
  margin: 30px 0 10px;
}
.d-flex{
  display: flex;
  justify-content: space-between;
}
.support{
  background-color: rgb(255 255 255 / 30%);
  padding-bottom: 45px;
  font-size: 20px;
}
.support h4 {
  font-size: 20px;
  font-weight: 700;
  margin-top: 20px;
}
.support .d-flex>div{
  width: 30%;
}
.support .d-flex .blackText {
  color: #000000;
  font-size: 20px;
  line-height: 28px;
  margin-top: 14px;
}

.support .d-flex .blackText a{
  color: #FFFFFF;
  line-height: 39px;
}

.support .d-flex .blackText a:hover,
.support .d-flex .blackText a:active,
.support .d-flex .blackText a:focus
{
  color: #FFFFFF;
}
.icon::before {
  content: ' ';
  display: inline-block;
  vertical-align: middle;
  background-image: url("/images/icons.png");
  background-repeat: no-repeat;
  width: 28px;
  height: 28px;
  margin-right: 7px;
}
.icon.icon-mail::before{
  background-position: -2px -33px;
}
.icon.icon-phone::before{
  background-position: -2px -1px;
}
.organizersBlock {
  margin-top: 47px;
  flex-wrap: wrap;
  justify-content: space-around;
}
.organizersBlock .organizer {
  width: 30%;
  margin-bottom: 40px;
  text-align: center;
}
.organizersBlock .organizer:hover {
  text-decoration: none;
}
.organizersBlock .organizer img{
  max-width: 180px;
  max-height: 120px;
}
.organizersBlock .organizer .organizerLogo {
  min-height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.organizersBlock .organizer .organizerName {
  margin-top: 22px;
  font-size: 20px;
}
.en-US .organizersBlock .organizer .organizerName {
  display: none;
}
form .required label::after{
  content: '*';
  color: #A01525;
}
.error{
  color: #A01525;
  font-size: 15px;
  margin-left: 15px;
}
.success{
  color: #198329;
  font-size: 15px;
  margin-left: 15px;
}

.innerpage .container-fluid .wrapper{
  min-height: 390px;
}
.innerpage h1{
  margin-bottom: 40px;
  margin-top: 44px;
  font-size: 25px;
}
.d-inline{
  display: inline-block;
  background-color: #A01525;
}
a.btn.btn-link{
  color: #A01525;
  font-size: 20px;
  text-decoration: underline;
}
.form-group {
  margin-bottom: 0;
  margin-top: 15px;
}
a.logout {
  width: 60px;
  border-radius: 0 0 10px 0;
  margin-left: 0;
}
a.logout:hover{
  box-shadow: 0 0 0 0 #FFF;
}
a.logout::after {
  content: ' ';
  display:none;
  background-image: -moz-linear-gradient();
}
a.logout img{
  width: 100%;
  height: auto;
}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  color: #002F66;
}
.nav-tabs > li {
  margin-top: -6px;
}
button[disabled]{
  opacity: 0.8;
}
#map{
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 100%;
}
#map.ru-RU{
  background-image: url("/web/images/static_map_ru.jpg");
}
#map.en-US{
  background-image: url("/web/images/static_map_en.jpg");
}

i.bullet::before{
  content: ' ';
  display: inline-block;
  height: 7px;
  width: 7px;
  margin-left: 20px;
  margin-right: 10px;
  background-color: #A01525;
  border-radius: 50%;
  vertical-align: middle;
}
.redText{
  color: #A01525;
}

.modal-dialog-centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - (.5rem * 2));
}
@media (min-width: 576px) {
  .modal-dialog-centered {
    min-height: calc(100% - (1.75rem * 2));
  }
}
.modal-backdrop {
  /*background-color: #461345;*/
}


.speakerList{
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap;
}
.speakerList .speaker{
  width: 32%;
  margin: 20px 0;
  display: flex;
  cursor: pointer;
  align-items: center;
  position: relative;
  padding-right: 5px;
  border-radius: 4px;
  box-shadow: 0 0 0 0 #2d1543;
  transition: 0.5s all;
}
.speakerList .speaker:hover{
  box-shadow: 0 0 20px -10px #2d1543;
  animation: pulse 2s infinite;
  transition: 0.5s all;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 20px -10px #2d1543;
  }
  50% {
    box-shadow: 0 0 25px -5px #2d1543;
  }
  100% {
    box-shadow: 0 0 20px -10px #2d1543;
  }
}

.speakerList .speaker:hover img{
  margin-right: 10px;
  border-radius: 4px 0 0 4px;
  transition: all 0.3s;
}
#speakerModal img,
.speaker img{
  max-width: 150px;
  min-width: 150px;
  height: auto;
  margin-right: 10px;
  border-radius: 4px;
  transition: all 0.3s;
}
#speakerModal img{
  max-width: 200px;
  min-width: 200px;
  height: auto;
}
#speakerModal .city,
.speakerList .speaker .city{
  color: #A01525;
  font-size: 16px;
  margin-top: 10px;
}
.speakerList .speaker .regalia,
.speakerList .speaker .description{
  font-size: 16px;
  display: none;
}
#speakerModal .regalia{
  margin-bottom: 10px;
}
#speakerModal .name,
.speakerList .speaker .regalia,
.speakerList .speaker .name {
  margin-bottom: 10px;
}
/*#speakerModal .description,*/
#speakerModal .regalia,
.speakerList .speaker .regalia{
  font-size: 16px;
}
#speakerModal .photo{
  margin-right: 20px;
}
#speakerModal .name{
  font-size: 24px;
}
#speakerModal .content .city{
  display: block;
  margin-bottom: 10px;
}
#speakerModal .content{
  display: flex;
}
#speakerModal .modal-header{
  padding: 0;
  border: none;
}
#speakerModal .modal-header .close span {
  font-size: 30px;
}
#speakerModal .modal-header .close {
  z-index: 10;
  right: 10px;
  top: 10px;
}
#speakerModal .city
{
  font-size: 18px;
}
#speakerModal .regalia,
#speakerModal .description{
  font-size: 20px;
}
#speakerModal .modal-lg {
  width: 1000px;
}
.speakerContent .modal-show,
#speakerModal .modal-hide{
  display: none;
}
#speakerModal .speakerContent .modal-show{
  display: block;
}

ul.polls > li > header {
  color: #082C65;
  min-height: max-content;
  max-height: max-content;
}
.fancybox-is-open .fancybox-bg {
  opacity: .5!important;
  background-color: #000000;
}

.partners,
.sponsors{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.partners a,
.sponsors a{
  margin: 20px;
  display: flex;
  align-items: center;
}

.partners img{
  max-width: 270px;
  max-height: 100px;
  width: 100%;
}
.sponsors img{
  max-width: 230px;
  max-height: 100px;
  width: 100%;
}

a.logout.place2 {
  position: absolute;
  right: 0;
  top: 70px;
  border-radius: 7px;
  background-color: #FFFFFF;
  color: #A01525;
  width: auto;
  text-align: center;
  font-size: 18px;
  white-space: nowrap;
  padding: 10px 20px;
}
.mobileLinks {
  margin: 50px 0;
  display: flex;
  justify-content: space-evenly;
  padding: 0 150px;
}

.polls .btn-lg{
  margin-top: 15px;
}