@charset "utf-8";
/* CSS Document */

@font-face {
    font-family: "FiraSans-Light";
    src: url("../fonts/FiraSans-Light.ttf");
}

@font-face {
    font-family: "FiraSans-Regular";
    src: url("../fonts/FiraSans-Regular.ttf");
}
@font-face {
    font-family: "linea-basic-10";
    src: url("../fonts/linea-basic-10.woff");
}
@font-face {
	font-family: 'Alexander';
	src: url("../fonts/AlexanderRegular.woff") format('woff');
	font-weight: 600;
	/* font-style: italic; */
}
body {
    margin: 0;
    /* font-size: 1rem; */
    /* font-weight: 400; */
    background-color: #e9e9e9;
    /* font-family: "FiraSans-Light"; */
    /* font-family: "FiraSans-Regular"; */
    /* font-family: "Alexander"; */
    font-family: sans-serif;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
nav > ul,
footer,
.rubric {
    /* background-color: #bb0606; */
    background-color: #393939;
    color: white;
}
footer {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2rem;
    margin-top: 10px;
    font-size: small;
}
.icon {
    font-family: "linea-basic-10";
    font-size: 2em;
}

a {
    text-decoration: none;
    /* font-weight: 500; */
    color: blue;
}

a:hover {
    color: red;
}

h2.rubric {
    margin: 0 0 8px 0;
    padding: 5px 10px;
    font-size: .7rem;
    text-transform: uppercase;
    font-family: sans-serif;
    letter-spacing: 2px;
}


header {
    width: 100%;
    background-color: black;
}

header div {
    display: flex;
    align-items: center;
}

#header {
    margin: 0 auto;
    height: 80px;
    justify-content: space-between;
}

.header_logo {
    height: 65px;
    border-radius: 50%;
    box-shadow: 0 0 5px #535762, 0 0 10px #535762;
    margin-left: 5vw;
}

.header_lettering {
    display: flex;
    align-items: center;
    margin-left: 10px;
    color: #bb0606;
    font-size: 20px;
    font-weight: 500;
    text-shadow: 2px 2px 2px #556778, 1px 1px 1px #282828;
    line-height: 1;
}
header .excerption {
    flex-direction: column;
    color: white;
    font-style: italic;
    font-family: 'Alexander';
    line-height: 1em;
    display: none;
}
header .excerption span {
    display: block;
    width: 100%;
    text-align: end;
    font-size: 0.7em;
}
.contakt_links {
    display: flex;
    margin: 20px 0;
}
.contakt_links > a {
    display: block;
    background-color: white;
    box-sizing: border-box;
}
.contakt_links img {
    width: 100%;
}
header .contakt_links {
    display: none;
}
header .contakt_links > a {
    width: 35px;
    height: 35px;
    margin-left: 10px;
    border-radius: 50%;
}
nav .contakt_links {
    justify-content: space-evenly;
}
nav .contakt_links > a {
    padding: 5px;
    width: 60px;
    height: 60px;
    border-radius: 8px;
    box-shadow: 2px 2px 2px black;
}

/* Основное меню */

.hamb {
    cursor: pointer;
    /* float: right; */
    padding: 40px 20px;
    position: absolute;
    top: 0;
    right: 0;
}
.hamb-line {
    background: white;
    display: block;
    height: 3px;
    position: relative;
    width: 25px;
}
.hamb-line::before,
.hamb-line::after{
    background: white;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;
}
.hamb-line::before{
    top: 8px;
}
.hamb-line::after{
    top: -8px;
}


.side-menu {
    display: none;
}

/* Toggle menu icon */

.side-menu:checked ~ nav{
    max-height: 100%;
    display: block;
}

.side-menu:checked ~ .hamb .hamb-line {
    background: transparent;
}

.side-menu:checked ~ .hamb .hamb-line::before {
    transform: rotate(-45deg);
    top:0;

}

.side-menu:checked ~ .hamb .hamb-line::after {
    transform: rotate(45deg);
    top:0;
}

nav {
    margin-top: 1px;
    width: 100%;
    display: none;
}
nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
nav > ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
nav a {
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    transition: .3s linear;
}
.topmenu > li:not(:first-child) {
    border-left: 1px solid black;
}
.topmenu > li > a {
    padding: 10px 30px;
    text-transform: uppercase;
    color: white;
    letter-spacing: 2px;
    text-shadow: 2px 2px 2px black;
}

.topmenu a.active,
.topmenu  li > a:hover {
    color: #ddbe86;
}

.topmenu > li > a > span {
    margin-left: 10px;
    color: inherit;
    text-shadow: 2px 2px 2px black;
}

.submenu {
    z-index: 5;
    min-width: 300px;
    background: white;
    border-top: 1px solid #CBCBCC;
    border-left: 1px solid #CBCBCC;
    border-right: 1px solid #CBCBCC;
}

.submenu li a {
    color: #282828;
    padding: 10px 20px 10px 50px;
    font-size: 13px;
    border-bottom: 1px solid #CBCBCC;
}

.submenu .submenu a {
    padding-left: 70px;
}

nav li:hover > .submenu {
    transform: rotateX(0deg);
    visibility: visible;
    opacity: 1;
}

/* Быстрые ссылки */
#quick_links {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    margin: 10px auto;
    overflow-y: auto;
    font-family: "Alexander";
}
#quick_links > a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 160px;
    margin-right: 10px;
    height: 60px;
    text-align: center;
    border-radius: 5px;
    border: #bb0606 2px solid;
    color: #bb0606;
    box-sizing: border-box;
    text-shadow: #a59f9fcc 2px 2px 2px;
    box-shadow: #556778 1px 2px 5px;
    cursor: pointer;
}

#quick_links a:hover {
    background-color: #e72700;
    color: white;
    text-shadow: none;
}

#quick_links span.icon {
    margin-right: 10px;
}

#quick_links ~ section {
    width: 100%;
    background-color: white;
    margin: 0 5px 10px 5px;
    box-sizing: border-box;
}

.content_card {
    padding: 0 0 10px 0;
    box-sizing: border-box;
}
.content_card > img {
    width: 100%;
}
.content_card > div {
    padding: 0 10px;
}
.content_card h4,
.content_card h5,
.content_card h6 {
    padding: 0;
    text-transform: uppercase;
}
.content_card h4 {
    color: darkred;
    font-size: 0.9em;
    margin: 0.4em 0;
}
.content_card h5 {
    font-size: 0.85em;
    font-weight: 600;
    margin: 0 0 0.2em 0;
}
.content_card h6 {
    font-size: 0.8em;
    font-weight: 600;
    color: #556778;
    letter-spacing: 1px;
    margin: 0.3em 0;
}
.content_card a {
    font-style: italic;
    font-size: smaller;
}
.content_card p {
    margin: 0.3em 0;
    text-indent: 20px;
}
.content_card:not(:last-child)::after {
    content: " ";
    display: block;
    width: 95%;
    margin: 8px auto 0;
    border-bottom: 1px solid #c2c2c2;
}
.card_header {
    display: flex;
    align-items: flex-start;
}
.card_header > div {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}
.card_header div.icon {
    margin: 0 20px;
    color: darkred;
}
.card_header img {
    object-fit: contain;
    margin-right: 10px;
    width: 25%;
    /* display: none; */
}
#great_event a {
    font-size: 1rem;
}
.news_container img {
    width: 120px;
}


.text_content {
    padding: 10px;
}
.text_content h1 {
    text-align: center;
}
.text_content p {
    line-height: 1.2;
    text-indent: 50px;
    margin: 0;
}
.text_content li {
    margin-left: 50px;
}


/* Клубы и отделения */
#map {
    width: 100%;
    margin: 10px auto;
    box-shadow: 6px 6px 6px rgb(57, 57, 57);
}
.club_card {
    border-bottom: #212529 1px solid;
    padding: 10px;
    font-style: italic;
}
.club_card > * {
    margin: 0;
    padding: 0;
    line-height: 1.2;
}
.club_card a {
    display: block;
}
.club_card a[href^="tel:"]::before {
    content: "Телефон: ";
}
.club_card a[href^="mailto:"]::before {
    content: "Email: ";
}



main {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    background-color: white;
}
main strong {
    /* color: red; */
    font-style: italic;
}
main h1,
main h2 {
    text-align: center;
    text-transform: uppercase;
}
main > h1 {
    font-size: 1.1em;
}
main > h4 {
    margin-left: 25px;
}
main > p {
    margin: 10px 0 0 0;
    /* text-indent: 25px; */
}
main.academician ol {
    padding: 0;
}
main.academician ol > li {
    padding: 10px;
    list-style-position: inside;
}
main.academician ol > li:nth-child(even) {
    background-color: #f2f2f2;
}

main > table {
    border: 1px solid #e9e9e9;
    border-spacing: 0;
    letter-spacing: 0.5px;
    table-layout: fixed;
    border-collapse: collapse;
    width: 100%;
}
main caption {
    font-weight: 700;
    padding: 15px;
    text-align: left;
}
main tr:nth-child(odd) {
    background-color: #f8f8f8;
}
main tr:nth-child(even) {
    background-color: #f2f2f2;
}
main td {
    padding: 10px;
    border: 1px solid #e9e9ea;
}
main i::before {
    content: " (";
}
main i::after {
    content: ")";
}

.float_left {
    float: left;
    margin-right: 10px;
    width: 40%;
}

aside {
    flex-direction: column;
    background-color: white;
    display: none;
}
aside img {
    width: 120px;
}



.link_file {
    display: flex;
    justify-content: end;
}
.link_file > a {
    padding: 10px 20px;
}
.flex {
    margin: 0;
    display: flex;
    justify-content: space-between;
}

.persons > h1 + img {
    width: 100%;
}

.photo_album {
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(4, 1fr);
}
.photo_album img {
    grid-column: span 1;
    grid-row: span 1;
    width: 100%;
}
.photo_album img:nth-child(3),
.photo_album img:nth-child(10) {
    grid-column: span 2;
    grid-row: span 2;
}






@media (min-width:800px) {

    #header,
    #quick_links {
        max-width: 98%;
    }
    header .contakt_links {
        display: flex;
    }
    
/* основное меню */
    nav {
        font-size: 1.1vw;
        display: block;
        position: sticky;
    }
    .hamb {
        display: none;
    }
    nav > ul {
        flex-direction: row;
    }
    nav .contakt_links {
        display: none;
    }
    .topmenu li {
        position: relative;
    }
    .submenu .submenu {
        position: absolute;
        left: 100%;
        top: -1px;
        transition: .3s linear;
    }
    .submenu {
        position: absolute;
        visibility: hidden;
        opacity: 0;
        transform-origin: 0% 0%;
        transform: rotateX(-90deg);
        transition: .3s linear;
    }
    .submenu li a {
        padding: 10px 20px;
    }
    .submenu .submenu a {
        padding: 10px 20px;
    }
    #quick_links {
        font-size: 1.3vw;
        overflow: hidden;
    }
    #quick_links > a {
        flex: 0 0 calc(100%/6 - 1vw);
        margin: 0;
    }
    #quick_links ~ section {
        max-width: calc(99%/2 - 10px);
    }
    

    .header_logo {
        margin: 0;
    }
    .club_card {
        box-shadow: 6px 6px 6px rgb(57, 57, 57);
    }

    footer {
        font-size: 1rem;
    }
    #map {
        max-width: 98%;
    }
    .persons > h1 + img {
        width: 35%;
        float: left;
        margin-bottom: 10px;
    }
    .persons img + ul {
        margin-left: 35%;
    }
    .persons img + ul + p {
        clear: both;
    }

}
@media (min-width:1024px) {
    header .excerption {
        display: flex;
    }
    #quick_links {
        font-size: 1.2vw;
    }
    nav {
        font-size: 0.9vw;
    }
    #quick_links ~ section {
        max-width: calc(99%/3 - 10px);
    }
    main {
        width: 62%;
    }
    aside {
        display: flex;
        width: 35%;
        margin-left: 10px;
        font-size: 0.85em;
    }

}
@media (min-width:1400px) {
    #header,
    #quick_links {
        max-width: 95%; /* 1320px */
    }
    nav {
        font-size: 0.8vw;
    }
    #quick_links {
        font-size: 1.1vw;
    }
    #quick_links ~ section {
        max-width: calc(96%/3 - 10px);
    }
    aside {
        width: 32%;
        font-size: 0.9em;
    }
    #map {
        max-width: 95%;
    }
}