@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,800;0,900;1,700&display=swap');

body {
    font-family: Montserrat, Arial, sans-serif;
    background-color: rgb(238, 236, 236);
}

p {
    margin: 0;
}

main {
    margin: 4%;
}

td form {
    margin: 0;
    padding: 0;
    margin-top: -.25em;
}

.row {
    margin: 0;
}

header nav {
    background-color: rgb(23, 154, 183);
    color: white;
}

#logo,
.nav-link,
.profile-link,
#catalog-categories-list li a,
#catalog-page-navigation a,
#catalog-categories-mobile-list li a,
#password-help a,
#login-admin a,
.list-group-item a {
    color: inherit;
    text-decoration: none;
}

#logo {
    font-size: 20px;
    font-weight: 800;
}

.nav-link,
.header-part {
    font-size: 16px;
    font-weight: 600;
}

header nav a.active {
    font-weight: 900 !important;
    text-decoration: underline !important;
    text-decoration-skip-ink: none !important;
    color: white !important;
}

#cart-icon {
    transition: border-color 0.15s;
}

.active-icon #cart-icon {
    border-width: 1px;
    border-style: solid;
    border-color: white;
}

#search-bar {
    min-width: 94px;
}

#search-bar::placeholder {
    font-size: 14px;
    font-weight: 400;
    color: rgb(145, 141, 141);
}

header nav a {
    transition: color 0.15s !important;
}

header nav a:hover {
    color: rgb(6, 69, 173) !important;
}

#cart-icon:hover {
    border-width: 1px;
    border-style: solid;
    border-color: white;
}

.active-icon #cart-icon:hover {
    border-color: rgb(6, 69, 173);
}

.main-page-section-title {
    min-height: 32px;
}

.main-page-section-title-text {
    font-size: 20px;
    font-weight: 700;
}

.main-page-price {
    font-size: 14px;
    font-weight: 700;
}

.main-page-book-title {
    font-size: 11px;
    font-weight: 500;
}

.main-page-author {
    font-size: 11px;
    font-weight: 500;
    color: rgb(97, 95, 95);
}

#product-card-order-container {
    width: 294px;
}

#product-card-book-name {
    font-size: 26px;
    font-weight: 600;
}

#product-card-author {
    font-size: 16px;
    font-weight: 600;
    color: rgb(14, 173, 208)
}

#product-card-characteristics {
    font-size: 16px;
}

#product-card-characteristics dt {
    color: rgb(97, 95, 95);
    font-weight: 600 !important;
    padding-left: 0;
}

#product-card-characteristics dd {
    padding-left: 0;
    font-weight: 700;
}

#product-card-text-available {
    font-size: 21px;
    font-weight: 600;
    color: rgb(80, 176, 84);
}

#product-card-price {
    font-size: 28px;
    font-weight: 600;
}

#product-card-button-add {
    font-size: 21px;
    font-weight: 600;
    color: white;
    background-color: rgb(23, 154, 183);
    transition: opacity 0.25s;
}

#product-card-button-add:hover {
    opacity: 0.85;
}

.product-card-book-description-h {
    font-size: 18px;
    font-weight: 700;
}

.product-card-book-description-text {
    font-size: 18px;
    font-weight: 500;
}

#contacts-title {
    font-size: 30px;
    font-weight: 900;
}

.contacts-item {
    font-weight: 900;
}

.contacts-item-main-info {
    font-size: 20px;
}

.contacts-item-clarification {
    font-size: 16px;
    color: rgb(145, 141, 141);
}

#skype-link {
    font-size: 20px;
    font-weight: 900;
    color: rgb(6, 69, 173);
}

#contacts-address {
    font-size: 20px;
    font-weight: 900;
}

#contacts-address-value {
    font-size: 16px;
    font-weight: 600;
}

#cart-title {
    font-size: 36px;
    font-weight: 900;
}

#cart-items-num-text {
    font-size: 24px;
    font-weight: 900;
}

.cart-button-remove {
    font-size: 18px;
    font-weight: 700;
    color: rgb(145, 141, 141);
    transition: color 0.15s;
}

.cart-button-remove:hover {
    color: blue;
}

.cart-book-description {
    font-weight: 500;
}

.cart-book-description-title {
    font-size: 20px;
}

.cart-book-description-author {
    font-size: 16px;
    color: rgb(145, 141, 141);
}

.button-minus,
.button-plus {
    font-size: 20px;
    font-weight: 600;
    width: 32px;
    height: 34px;
    color: rgb(145, 141, 141);
    transition: background-color 0.15s, color 0.15s;
}

.button-minus:hover,
.button-plus:hover {
    background-color: rgb(114, 187, 5) !important;
    color: white;
}

.cart-input-label {
    width: 42px;
    height: 34px;
}

.cart-input {
    font-size: 16px;
    font-weight: 900;
    border-color: rgb(222, 226, 230) !important;
}

.cart-input::placeholder {
    color: black;
}

.cart-price {
    font-size: 18px;
    font-weight: 700;
}

.cart-price-count {
    font-size: 15px;
    font-weight: 600;
}

#cart-final-price {
    font-weight: 700;
}

#cart-final-price-text {
    font-size: 24px;
}

#cart-final-price-value {
    font-size: 20px;
}

#cart-btn-checkout {
    font-size: 18px;
    font-weight: 700;
    background-color: rgb(217, 217, 217);
    transition: opacity 0.25s;
}

#cart-btn-checkout:hover {
    opacity: 0.85;
}

#catalog-categories,
#catalog-categories-mobile {
    border-color: rgb(23, 154, 183) !important;
}

#catalog-categories-title,
#catalog-categories-mobile-title {
    font-weight: 700;
}

#catalog-categories-title {
    font-size: 24px;
}

#catalog-categories-list,
#catalog-categories-mobile-list {
    font-weight: 500;
    color: rgb(6, 69, 173) !important;
}

#catalog-categories-list {
    font-size: 14px;
}

.active-category,
.active-category-mobile {
    font-weight: 700;
}

#catalog-categories-mobile-title {
    font-size: 48px;
}

#catalog-categories-mobile-list {
    font-size: 24px;
}

#catalog-title {
    font-size: 40px;
    font-weight: 900;
}

#catalog-select {
    font-size: 14px;
    font-weight: 500;
    width: 264px;
    height: 35px;
}

.catalog-price {
    font-size: 18px;
    font-weight: 700;
}

.catalog-book-title,
.catalog-author {
    font-size: 12px;
    font-weight: 600;
}

.catalog-bth-checkout {
    font-size: 14px;
    font-weight: 600;
    background-color: rgb(217, 217, 217);
    transition: background-color 0.15s, color 0.15s;
}

.catalog-bth-checkout:hover {
    background-color: rgb(114, 187, 5) !important;
    color: white;
}

#catalog-page-navigation {
    font-size: 20px;
    font-weight: 700;
}

#catalog-selected-page {
    color: rgb(80, 176, 84) !important;
}

#catalog-page-navigation a {
    transition: color 0.15s;
}

#catalog-page-navigation a:hover {
    color: rgb(0, 0, 238) !important;
}

#catalog-section-navigation {
    font-size: 16px;
}

.login-input-email,
.login-input-password,
.login-input-remember,
.reg-input-name,
.reg-input-email,
.reg-input-password {
    font-size: 16px;
    min-width: 165px;
}

#login-title,
#reg-title {
    font-size: 24px;
    font-weight: 900;
}

.login-btn,
.reg-btn {
    font-size: 16px;
    font-weight: 900;
    background-color: rgb(6, 69, 173);
    transition: opacity 0.25s;
    min-width: 160px;
}

.login-btn:hover,
.reg-btn:hover {
    opacity: 0.85;
}

#password-help,
#login-admin {
    font-size: 16px;
    font-weight: 900;
    color: rgb(145, 141, 141);
}

#add-btn {
    min-width: 150px;
}

footer {
    background-color: rgb(23, 154, 183);
    color: white;
    min-height: 60px;
}

#footer-container {
    min-height: 60px;
}

#footer-row {
    min-height: 60px;
}

#footer-copyright {
    font-size: 24px;
    font-weight: 900;
}

#footer-phone-number-text {
    font-size: 20px;
    font-weight: 900;
}

#footer-social-media-text {
    font-size: 19px;
    font-weight: 900;
}

.astext {
    background: none;
    border: none;
    margin: 0;
    padding: 0;
    cursor: pointer;
    transition: color 0.15s !important;
}

.astext:hover {
    color: rgb(6, 69, 173) !important;
}

#cart-link-count {
    padding: 1px 4px;
    font-weight: 700;
    font-size: 12px;
    box-shadow: 0 0 0 2px #fff;
    top: 5px;
    left: 29px;
    background: linear-gradient(0deg, #177bc2 0%, #2e8db5 100%);
    border-radius: 50px;
    align-items: center;
    color: #fff;
    display: inline-flex;
    height: 13px;
    justify-content: center;
    line-height: 13px;
    min-width: 16px;
    text-align: center;
}

.invalid-feedback {
    display: block;
}

.button-fixed-width {
    width: 150px;
}

.cart-labels {
    font-variant: small-caps;
}

@media (min-width: 992px) and (max-width: 1200px) {
    #logo {
        margin-right: 25px !important;
    }

    .header-link {
        margin-right: 10px !important;
    }

    #header-contacts,
    #header-search {
        margin-right: 20px !important;
    }
}

@media (min-width: 992px) {
    header nav {
        height: 60px !important;
    }

    main {
        margin: 2%;
    }
}

@media (max-width: 1200px) {
    #catalog-categories-list {
        font-size: 12px;
    }

   .orders-info {
       font-size: 16px !important;
   }

    .active-category {
        font-size: 11px;
    }

    #catalog-categories-title {
        font-size: 18px;
    }

    #catalog-title {
        font-size: 36px;
    }
}

@media (max-width: 992px) {
    #catalog-categories-title {
        font-size: 16px;
    }

    #catalog-categories-list {
        font-size: 11px;
    }

    .active-category {
        font-size: 10px;
    }

    #catalog-title {
        font-size: 30px;
    }
}

@media (max-width: 768px) {
    #product-card-characteristics {
        display: inline-block;
    }

    #product-card-characteristics dt,
    #product-card-characteristics dd {
        text-align: left;
        padding-right: 0;
    }
}

@media (max-width: 576px) {
    .cart-book-cover {
        width: 66px;
        height: 104px;
    }

    .cart-button-remove {
        font-size: 0 !important;
    }

    .catalog-book-description,
    .catalog-btn-checkout-div {
        margin-left: 15%;
    }

    #admin-title {
        font-size: 18px !important;
    }

    .edit-btn {
        width: 50% !important;
    }
}

@media (max-width: 510px) {

    .login-input-email,
    .login-input-password,
    .login-input-remember,
    .login-btn,
    #password-help,
    #login-admin,
    .errmsg {
        font-size: 12px;
    }

    .reg-input-name,
    .reg-input-email,
    .reg-input-password,
    .reg-btn {
        font-size: 12px;
    }

    #login-title,
    #reg-title {
        font-size: 20px;
    }
}

@media (max-width: 475px) {
    #cart-title {
        font-size: 30px;
    }

    #cart-items-num-text,
    #cart-final-price-text {
        font-size: 20px;
    }

    .cart-book-description-title,
    #cart-final-price-value {
        font-size: 16px;
    }

    .cart-book-description-author {
        font-size: 12px;
    }

    .cart-price,
    #cart-btn-checkout,
    .cart-input {
        font-size: 14px;
    }

    .cart-price-count {
        font-size: 12px;
    }

    .button-minus,
    .button-plus {
        font-size: 16px;
        width: 26px;
        height: 28px;
    }

    .cart-input-label {
        width: 34px;
        height: 28px;
    }

    #catalog-categories-mobile-title {
        font-size: 44px;
    }

    #catalog-categories-mobile-list {
        font-size: 18px;
    }

    #image-preview {
        width: 300px;
        height: 450px;
    }
}

@media (max-width: 400px) {

    .main-page-book-title,
    .main-page-author {
        font-size: 0 !important;
    }

    .main-page-book-cover {
        width: 80px;
        height: 122px;
    }

    #footer-copyright {
        font-size: 20px !important;
    }

    #footer-phone-number-text {
        font-size: 18px !important;
    }

    #footer-social-media-text {
        font-size: 0 !important;
        margin-right: 0 !important;
    }

    #catalog-section-navigation {
        font-size: 12px;
    }

    .login-btn,
    #password-help,
    #login-admin,
    .reg-input-password,
    .reg-btn {
        font-size: 16px;
    }

    .reg-input-name,
    .reg-input-email,
    .login-input-email,
    .login-input-password,
    .login-input-remember,
    .errmsg {
        font-size: 14px;
    }

    #login-title,
    #reg-title {
        font-size: 20px;
    }
}

@media (max-width: 361px) {
    #logo {
        font-size: 0 !important;
    }

    .contacts-icon {
        width: 55px !important;
        height: 55px !important;
    }

    #contacts-title {
        font-size: 22px;
    }

    .contacts-item-main-info,
    #skype-link,
    #contacts-address {
        font-size: 14px;
    }

    .contacts-item-clarification,
    #contacts-address-value {
        font-size: 12px;
    }

    #catalog-title {
        font-size: 20px;
    }

    #catalog-select {
        font-size: 11px;
        width: 164px;
        height: 28px;
        padding: 5px;
    }

    #image-preview {
        width: 200px;
        height: 300px;
    }
}

@media (max-width: 335px) {
    #mobile-price-count {
        display: none;
    }

    #cart-title {
        font-size: 24px;
    }

    #cart-items-num-text {
        font-size: 14px;
    }

    .cart-book-description-title,
    #cart-final-price-value {
        font-size: 10px;
    }

    .cart-book-description-author {
        font-size: 8px;
    }

    #cart-final-price-text {
        font-size: 12px;
    }

    .button-minus,
    .button-plus {
        font-size: 10px;
        width: 16px;
        height: 18px;
    }

    .cart-input-label {
        width: 22px;
        height: 18px;
    }

    .cart-input,
    #cart-btn-checkout,
    .cart-price {
        font-size: 9px;
    }

    .cart-price-count {
        font-size: 8px;
    }

    .trash-icon {
        width: 16px;
        height: 16px;
    }

    .cart-book-cover {
        width: 44px;
        height: 69px;
    }
}

@media (max-width: 320px) {
    #product-card-price {
        font-size: 22px !important;
    }

    #novelty-icon {
        width: 74px !important;
        height: 25px !important;
    }

    #discont-icon {
        width: 49px !important;
        height: 25px !important;
    }

    .product-card-book-description-h,
    .product-card-book-description-text,
    #product-card-button-add,
    #product-card-text-available {
        font-size: 16px !important;
    }

    #catalog-section-navigation {
        font-size: 11px;
    }

    #catalog-categories-mobile-title {
        font-size: 38px;
    }

    #catalog-categories-mobile-list {
        font-size: 16px;
    }
}

@media (max-width: 282px) {
    #footer-copyright {
        font-size: 14px !important;
    }

    #footer-phone-number-text {
        font-size: 12px !important;
    }

    #admin-title {
        font-size: 16px !important;
    }
}

@media (max-width: 272px) {
    #fire-icon {
        height: 38px;
        width: 30px;
    }

    .catalog-book-description,
    .catalog-btn-checkout-div {
        margin-left: 0;
    }

    .contacts-icon {
        width: 44px !important;
        height: 44px !important;
        margin-right: 20px !important;
    }

    #contacts-title {
        font-size: 16px;
    }

    .contacts-item-main-info,
    #skype-link #contacts-address {
        font-size: 11px;
    }

    #catalog-title {
        font-size: 16px;
    }

    #catalog-select {
        width: 140px;
        height: 22px;
        padding: 5px;
    }

    #catalog-select,
    #contacts-address-value,
    .contacts-item-clarification {
        font-size: 9px;
    }

    #catalog-page-navigation {
        font-size: 15px;
        font-weight: 700;
    }

    #catalog-section-navigation {
        font-size: 11px;
    }

    #catalog-categories-mobile-title {
        font-size: 26px;
    }

    #catalog-categories-mobile-list {
        font-size: 13px;
    }

    #image-preview {
        width: 155px;
        height: 235px;
    }

    .edit-btn {
        width: 75% !important;
    }
}

@media (max-width: 204px) {
    #footer-copyright {
        font-size: 13px !important;
    }

    #footer-phone-number-text {
        font-size: 11px !important;
    }
}