.navbar-brand {
    text-transform: none !important;
}

body {
    margin: 1.5em;
}
article {
    margin-top: 1em;
    margin-left: auto;
    margin-right: auto;
    max-width: 1400px;
}

body > footer {
    padding-top: 1em;
    padding-bottom: 1em;
    background-color: #eee !important;
    text-align: center;
}

ul.timeline {
    list-style-type: none;
    position: relative;
    padding-bottom: 2em;
}

ul.timeline::before {
    content: ' ';
    background-color: #d4d9df;
    position: absolute;
    width: 4px;
    height: calc(100% + 28px);
    left: calc(25% + 28px);
    top: 0px;
    bottom: 0px;
}

ul.timeline > li > hr {
    margin-top: 0;
    margin-bottom: 0;
}

ul.timeline > li {
    clear: both;
    padding: 20px 0;
}

ul.timeline > li > .left {
    float: left;
    width: 25%;
    padding-right: 30px;
    position: relative;
    text-align: right;
}

ul.timeline > li > .left:before {
    content: ' ';
    background-color: white;
    border: 4px solid;
    border-radius: 50%;
    position: absolute;
    right: -10px;
    width: 20px;
    height: 20px;
}

ul.timeline > li.cat-nu > .left:before {
    color: red;
    background-color: green;
}

ul.timeline > li > .right {
    float: right;
    width: calc(75%);
    padding-left: 30px;
}

ul.timeline > li.item-nomark > .left:before { border-color: transparent; background-color: transparent; }
ul.timeline > li.item-primary > .left:before { border-color: #eb6864; }
ul.timeline > li.item-secondary > .left:before { border-color: #aaa; }
ul.timeline > li.item-success > .left:before { border-color: #36af5a; }
ul.timeline > li.item-info > .left:before { border-color: rgb(72, 112, 151); }
ul.timeline > li.item-warning > .left:before { border-color: #fcf053; }
ul.timeline > li.item-danger > .left:before { border-color: #fda751; }

ul.timeline > li.my-talk.lang-en.type-conference > .left:before { border-color: rgb(49, 91, 133); }
ul.timeline > li.my-talk.lang-en.type-seminar > .left:before { border-color: #eb6864; }
ul.timeline > li.my-talk.lang-ru > .left:before { border-color: #36af5a; }
ul.timeline > li.coauthor-talk > .left:before { border-color: #aaa; }

label[for=conferences] { color: rgb(49, 91, 133) }
label[for=seminars] { color: #eb6864 }
label[for=noninternational] { color: #36af5a }
label[for=coauthors] { color: #777 }

input#conferences[type=checkbox]:not(:checked) ~ * > ul.timeline > li.type-conference { display: none; }
input#seminars[type=checkbox]:not(:checked) ~ * > ul.timeline > li.type-seminar { display: none; }
input#noninternational[type=checkbox]:not(:checked) ~ * > ul.timeline > li.lang-ru { display: none; }
input#coauthors[type=checkbox]:not(:checked) ~ * > ul.timeline > li.coauthor-talk { display: none; }

ul.timeline > li img.cover {
    max-width: 500px;
    max-height: 400px;
}


span.icon {
    width: 1em;
    display: inline-block;
    vertical-align: 0.05em;
}


.timeline li .title {
    max-width: 600px;
}
.linkrow {
    color: grey;
    padding-bottom: 0.3em;
    max-width: 600px;
}

.linkrow > a {
    font-size: 90%;
    padding-right: 0.25em;
}


.card.project {
    margin-bottom: 2em;
}

.card.project img.cover {
    max-width: 100%;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    padding-left: 0.5em;
}

.project .list-group {
    font-size: 85%;
}
.project .list-group > .list-group-item {
    padding: 0.5rem 1rem;
}
.card-title.paper-title {
    font-weight: normal;
}
.card-img-max-h {
    max-height: 200px;
    object-fit: cover;
    transition: all 0.3s ease;
}
.card-img-max-h:hover {
    max-height: none;
    transform: scale(1.2);
    z-index: 100;
    box-shadow: 0 1rem 3rem rgb(0 0 0 / 50%) !important;
}

h6.card-text {
    text-align: center;
    font-weight: normal;
}

.card-header > h5 {
    margin-bottom: 0;
    text-align: center;
}

.navbar {
    background-color: #d35d59 !important;
}

.inline-icon {
    height: 1.2em;
    display: inline-block;
    margin-right: 0.2em;
    vertical-align: middle;
}


.profile-photo {
width: 8em;
height: 12em;
margin-left: 1em;
overflow: hidden;
transition: all 0.3s ease;
cursor: pointer;
aspect-ratio: 2 / 3;
border-radius: 12px;
flex-shrink: 0;
}

.profile-photo img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
transition: transform 0.3s ease;
}

.profile-photo:hover {
width: 20em;
overflow: visible;
}

.profile-photo:hover img {
border-radius: 12px;
}

.breadcrumb span:not(:last-child)::after {
  content: "→";
  margin: 0 0.3em;
}
