diff --git a/backend/static/img/general/dog-paw-left.svg b/backend/static/img/general/dog-paw-left.svg new file mode 100644 index 0000000..3052879 --- /dev/null +++ b/backend/static/img/general/dog-paw-left.svg @@ -0,0 +1,37 @@ + diff --git a/backend/static/img/general/dog-paw-right.svg b/backend/static/img/general/dog-paw-right.svg new file mode 100644 index 0000000..0971981 --- /dev/null +++ b/backend/static/img/general/dog-paw-right.svg @@ -0,0 +1,31 @@ + diff --git a/backend/static/img/promo-section/promo-bg-desktop.png b/backend/static/img/promo-section/promo-bg-desktop.png new file mode 100644 index 0000000..e7d0e43 Binary files /dev/null and b/backend/static/img/promo-section/promo-bg-desktop.png differ diff --git a/backend/static/img/promo-section/promo-item-01.png b/backend/static/img/promo-section/promo-item-01.png new file mode 100644 index 0000000..40fef83 Binary files /dev/null and b/backend/static/img/promo-section/promo-item-01.png differ diff --git a/backend/static/img/upload/animal-cards/card-01.jpg b/backend/static/img/upload/animal-cards/card-01.jpg new file mode 100644 index 0000000..c00d9db Binary files /dev/null and b/backend/static/img/upload/animal-cards/card-01.jpg differ diff --git a/backend/static/img/upload/animal-cards/card-02.jpg b/backend/static/img/upload/animal-cards/card-02.jpg new file mode 100644 index 0000000..aff2791 Binary files /dev/null and b/backend/static/img/upload/animal-cards/card-02.jpg differ diff --git a/backend/static/img/upload/animal-cards/card-03.jpg b/backend/static/img/upload/animal-cards/card-03.jpg new file mode 100644 index 0000000..881f57b Binary files /dev/null and b/backend/static/img/upload/animal-cards/card-03.jpg differ diff --git a/backend/static/img/upload/animal-cards/card-04.jpg b/backend/static/img/upload/animal-cards/card-04.jpg new file mode 100644 index 0000000..1c656a1 Binary files /dev/null and b/backend/static/img/upload/animal-cards/card-04.jpg differ diff --git a/backend/static/img/upload/animal-cards/card-05.jpg b/backend/static/img/upload/animal-cards/card-05.jpg new file mode 100644 index 0000000..8bbffd4 Binary files /dev/null and b/backend/static/img/upload/animal-cards/card-05.jpg differ diff --git a/backend/static/img/upload/animal-cards/card-06.jpg b/backend/static/img/upload/animal-cards/card-06.jpg new file mode 100644 index 0000000..920f0ef Binary files /dev/null and b/backend/static/img/upload/animal-cards/card-06.jpg differ diff --git a/backend/static/img/upload/shelter.jpg b/backend/static/img/upload/shelter.jpg new file mode 100644 index 0000000..2ee1011 Binary files /dev/null and b/backend/static/img/upload/shelter.jpg differ diff --git a/backend/static/img/upload/test.webp b/backend/static/img/upload/test.webp new file mode 100644 index 0000000..9b21bf4 Binary files /dev/null and b/backend/static/img/upload/test.webp differ diff --git a/backend/static/styles.css b/backend/static/styles.css index 3eeefcb..376e97f 100644 --- a/backend/static/styles.css +++ b/backend/static/styles.css @@ -1,234 +1,1745 @@ -:root { - --white: #fff; - --black: #131313; - --brown: #cb914f; - --lightBrown: #f7f4ef; +@import 'https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'; +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +* { + box-sizing: border-box; } -/*===================== - Layout -=====================*/ +html { + line-height: 1.15; /* 1 */ + text-size-adjust: 100%; /* 2 */ +} -.page { - min-height: 100vh; - position: relative; - overflow: hidden; +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; + background: #f6f6f6; + color: #292a35; + font-family: "Mulish", sans-serif; } -.container { - max-width: 1200px; - width: 100%; - margin: 0 auto; - padding: 0 15px; +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1, h2, h3, h4, h5, h6 { + margin: 0.67em 0; +} + +h1 { + font-size: 120px; + font-weight: 900; + line-height: 1; +} +@media (min-width: 768px) and (max-width: 1023.9px) { + h1 { + font-size: 90px; + } +} +@media (max-width: 767.9px) { + h1 { + font-size: 60px; + } +} + +h2 { + font-size: 62px; + font-weight: 900; + line-height: 1; +} +@media (min-width: 768px) and (max-width: 1023.9px) { + h2 { + font-size: 48px; + } +} +@media (max-width: 767.9px) { + h2 { + font-size: 34px; + } +} + +h3 { + font-size: 26px; + font-weight: 900; + line-height: 1.2; +} + +h4 { + font-size: 24px; + font-weight: 700; + line-height: 1.4; +} + +h5 { + font-size: 14px; + font-weight: 800; + line-height: 1.5; + text-transform: uppercase; +} + +h6 { + font-size: 14px; + font-weight: 700; + line-height: 1.35; +} + +p, ul, ol { + font-size: 14px; + font-weight: 500; + line-height: 1.4; + margin: 1em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ } -.section { - padding: 120px 0; +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +/* stylelint-disable-next-line selector-no-qualifying-type */ +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: 700; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; position: relative; - margin: 0; + vertical-align: baseline; } -.section--colored { - background: var(--lightBrown); +sub { + bottom: -0.25em; } -.section-header { - text-align: center; - margin-bottom: 60px; +sup { + top: -0.5em; } -.section-header::after { - content: ''; - display: block; - width: 99px; - height: 7px; - background: url('./img/wave.webp') no-repeat 50% 50%; - margin: 0 auto; +/* Embedded content + ========================================================================== */ +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; } -.section-header__title { - margin-bottom: 1em; - margin-top: 0; +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ } -/*===================== - Header -=====================*/ +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { /* 1 */ + overflow: visible; +} -.header { - text-align: center; - padding-bottom: 60px; +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { /* 1 */ + text-transform: none; } -.header__title { - color: var(--brown); +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type=button], +[type=reset], +[type=submit] { + appearance: button; } -.header__content { - display: flex; - justify-content: center; - flex-wrap: wrap; - gap: 20px; +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + border-style: none; + padding: 0; } -/*===================== - Contact -=====================*/ +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring { + outline: 1px dotted ButtonText; +} -.contact { - display: flex; - align-items: center; +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; } -.contact__icon { - width: 35px; - height: 35px; - border-radius: 50%; - background: var(--lightBrown); - flex-shrink: 0; - margin-right: 15px; - display: flex; - align-items: center; - justify-content: center; - color: var(--brown); +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ } -.contact__icon svg { - display: block; - width: 16px; - height: 16px; - background: no-repeat 50% 50% / contain; +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; } -.contact__text { - font-size: 18px; - font-weight: 500; +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; } -.contact__text a { - color: inherit; - text-decoration: none; - outline: none; +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type=checkbox], +[type=radio] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ } -/*===================== - Section main -=====================*/ +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; +} -.section-main { - text-align: left; +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type=search] { + appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ } -.section-main__in { - display: flex; +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type=search]::-webkit-search-decoration { + appearance: none; } -.section-main__title { - margin-top: 0; +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + appearance: button; /* 1 */ + font: inherit; /* 2 */ } -.section-main__content { - flex-grow: 1; +/* Interactive + ========================================================================== */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; } -.section-main__content p:first-child { - margin-top: 0; +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; } -.section-main__photo { - flex-shrink: 0; +/* Misc + ========================================================================== */ +/** + * Add the correct display in IE 10+. + */ +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; +} + +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +/* ========================= + Layout +========================= */ +.page { + position: relative; + overflow: hidden; + display: flex; + flex-direction: column; width: 100%; - max-width: 500px; - aspect-ratio: 1 / 1; - object-fit: cover; - margin-left: 70px; + min-height: 100vh; +} +.page__header { + position: absolute; + left: 0; + top: 0; + right: 0; + z-index: 10; +} +.page__content { + flex-grow: 1; +} +.page__footer { + margin-top: auto; } -@media (max-width: 900px) { +/* ========================= + Container +========================= */ +.container { + position: relative; + width: 100%; + max-width: 1200px; + margin: 0 auto; + padding: 0 15px; +} - .section-main__in { - flex-direction: column; - } +.body-menu-opened { + overflow: hidden; +} - .section-main__title { - text-align: left; +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +/* ========================= + Header +========================= */ +.page-header { + position: relative; + padding-left: 60px; + padding-right: 60px; +} +@media (max-width: 1023.9px) { + .page-header { + padding-left: 15px; + padding-right: 15px; } - - .section-main__photo { - margin: 0 auto; +} +.page-header__in { + height: 90px; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); + display: flex; + align-items: center; + justify-content: space-between; +} +@media (max-width: 1023.9px) { + .page-header__in { + height: 70px; + } +} +.page-header__logo { + font-size: 26px; + font-weight: 900; + line-height: 1.2; + color: #00a9a6; + z-index: 2; +} +@media (max-width: 1023.9px) { + .page-header__logo { + font-size: 20px; } } -/*===================== - Section donate -=====================*/ +.page-menu { + display: flex; + gap: 40px; + margin: 0; + list-style: none; + align-items: baseline; +} +@media (max-width: 1023.9px) { + .page-menu { + position: fixed; + gap: 0; + padding: 0; + left: 0; + top: 0; + bottom: 0; + right: 0; + background-color: #292a35; + align-items: center; + display: flex; + justify-content: center; + flex-direction: column; + transform: translateX(-100%); + transition: transform 0.5s; + } + .page-menu--opened { + transform: translateX(0); + } +} +.page-menu__link { + display: block; + font-size: 14px; + font-weight: 700; + line-height: 1.35; + color: #fff; + text-decoration: none; + transition: 0.5s; +} +@media (min-width: 1024px) { + .page-menu__link { + line-height: 90px; + } +} +@media (max-width: 1023.9px) { + .page-menu__link { + display: block; + padding: 15px; + font-size: 18px; + } +} +@media (hover: hover) { + .page-menu__link:hover { + color: #00a9a6; + } +} +.page-menu__link:active { + color: #00a9a6; +} +.page-menu__donate { + margin-left: 78px; +} +@media (max-width: 1023.9px) { + .page-menu__donate { + margin: 20px 0 0; + } +} -.section-donate__title { - margin-top: 0; +.burger { + position: relative; + outline: none; + border: none; + background: none; + height: 32px; + width: 32px; + display: flex; + flex-direction: column; + z-index: 2; + cursor: pointer; + padding: 0; + justify-content: center; +} +@media (min-width: 1024px) { + .burger { + display: none; + } +} +.burger__dash { + position: absolute; + width: 100%; + height: 3px; + background-color: #f6f6f6; + transition: 0.3s; +} +.burger__dash:nth-child(2) { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.burger__dash:first-child { + top: 0; +} +.burger__dash:last-child { + bottom: 0; +} +.burger--opened .burger__dash:nth-child(2) { + transform: translate(-50%, -50%) scaleX(0); +} +.burger--opened .burger__dash:first-child { + transform: translateY(5px) rotate(45deg); + top: 30%; +} +.burger--opened .burger__dash:last-child { + transform: translateY(5px) rotate(-45deg); + top: 30%; } -.section-donate__in { +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +/* ========================= + Footer +========================= */ +.page-footer { + background-color: #292a35; + padding: 100px 0; +} +.page-footer__title { + font-size: 62px; + font-weight: 900; + line-height: 1; + color: #fff; +} +@media (min-width: 768px) and (max-width: 1023.9px) { + .page-footer__title { + font-size: 48px; + } +} +@media (max-width: 767.9px) { + .page-footer__title { + font-size: 34px; + } +} +.page-footer__wrapper { display: grid; - grid-template-columns: repeat(2, 1fr); gap: 30px; + grid-template-columns: repeat(2, 1fr); + margin-top: 60px; +} +@media (max-width: 767.9px) { + .page-footer__wrapper { + grid-template-columns: repeat(1, 1fr); + } +} +.page-footer__pic { + width: 100%; + height: 100%; + border-radius: 8px; + object-fit: cover; +} +.page-footer__content { + color: #fff; + margin: 0; + display: flex; + flex-direction: column; + align-items: baseline; + gap: 44px; +} +.page-footer__text { + font-size: 1.75em; + font-weight: 800; + line-height: 39.2px; + margin: 0; +} +.page-footer__contact-list { + list-style: none; + margin: 0; + padding: 0; + display: flex; + flex-direction: column; + gap: 1em; } -.section-donate__group { - padding: 30px; +.contact-row { + font-size: 1.125em; text-align: left; - background: var(--lightBrown); + display: flex; + align-items: flex-start; +} +.contact-row__icon { + flex-shrink: 0; + margin-right: 0.75em; +} +.contact-row__content { + font-size: 14px; + font-weight: 500; + line-height: 1.4; + font-size: 18px; + color: #fff; +} +.contact-row__link { + display: block; + text-decoration: none; + color: inherit; } -.section-donate__group-title { - margin-top: 0; +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.button { + position: relative; + display: flex; + align-items: center; + justify-content: center; + height: 54px; + padding-left: 38px; + padding-right: 38px; + border-radius: 4px; + background-color: #00a9a6; + color: #fff; + font-family: "Mulish", sans-serif; + font-weight: 800; + text-transform: uppercase; + text-decoration: none; + text-align: center; + border: none; + cursor: pointer; + transition: background-color 0.2s; +} +@media (max-width: 767.9px) { + .button { + padding-left: 28px; + padding-right: 28px; + } +} +@media (max-width: 374.9px) { + .button { + padding-left: 18px; + padding-right: 18px; + } +} +.button::before { + content: ""; + display: block; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.1); + border-radius: inherit; + pointer-events: none; + opacity: 0; + transition: opacity 0.2s; +} +@media (hover: hover) { + .button:hover { + background-color: #292a35; + } + .button:hover::before { + opacity: 1; + } +} +.button:active { + background-color: #292a35; +} +.button:active::before { + opacity: 1; +} +.button--size-s { + height: 40px; + padding-left: 28px; + padding-right: 28px; + text-transform: capitalize; +} +.button--secondary { + border: solid 1px rgba(255, 255, 255, 0.3); + background-color: #292a35; + transition-property: border-color background-color; +} +@media (hover: hover) { + .button--secondary:hover { + border-color: transparent; + background-color: #00a9a6; + } +} +.button--secondary:active { + border-color: transparent; + background-color: #00a9a6; +} +.button__icon { + margin-left: 5px; } -.section-donate__table { +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.icon--size-m { + width: 28px; + height: 28px; +} +.icon--size-s { + width: 18px; + height: 18px; +} +.icon--color-accent { + color: #00a9a6; +} +.icon--color-inverse { + color: #fff; +} +.icon--color-secondary-inverse { + color: rgba(255, 255, 255, 0.5); + fill-opacity: 0.2; +} + +.section-header__sup-title { + max-width: max-content; + font-size: 20px; + font-weight: 600; + color: #00a9a6; + margin: 0 auto 1em; +} +.section-header__title { + max-width: max-content; + margin: 0 auto; +} +.section-header__title::after { + content: ""; + display: block; + margin: 0.18em auto 0; + max-width: 350px; + height: 3px; + background-color: #00a9a6; +} +.section-header__title--center::after { + max-width: 52%; + margin: 0.18em auto 0; +} +.section-header__title--right { + margin: 0 auto 0 0; +} +.section-header__title--right::after { + max-width: 72%; + margin: 0.18em auto 0 0; +} + +.video-container { + display: block; + aspect-ratio: 16/9; + border-radius: 8px; + overflow: hidden; +} + +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.filter { + display: flex; + gap: 10px; + color: #292a35; + font-size: 14px; + font-weight: 700; + line-height: 1.5; + text-transform: uppercase; + list-style: none; + margin: 0; padding: 0; +} +.filter__item { + display: flex; + align-items: center; + gap: 8px; + cursor: pointer; +} +.filter__item::after { + content: ""; + width: 6px; + height: 6px; + background-color: #00a9a6; + border-radius: 50%; +} +.filter__item:last-child::after { + content: none; +} +.filter__link { + color: #292a35; + text-decoration: none; +} +@media (hover: hover) { + .filter__link:hover { + text-decoration: underline 2px; + text-decoration-color: rgba(41, 42, 53, 0.15); + text-underline-offset: 0.2em; + } +} +.filter__link:active { + text-decoration: underline 2px; + text-decoration-color: rgba(41, 42, 53, 0.15); + text-underline-offset: 0.2em; +} + +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.param-list { + display: flex; + gap: 10px; + color: rgba(41, 42, 53, 0.5); + font-size: 14px; + font-weight: 500; + line-height: 1.4; + text-transform: capitalize; + list-style: none; margin: 0; + padding: 0; +} +.param-list__item { + display: flex; + align-items: center; + gap: 10px; +} +.param-list__item::after { + content: ""; + width: 4px; + height: 4px; + background-color: #00a9a6; + border-radius: 50%; +} +.param-list__item:last-child::after { + content: none; +} +.param-list__link { + color: rgba(41, 42, 53, 0.5); + text-decoration: none; } -.section-donate__table td { - vertical-align: top; - font-size: 18px; - line-height: 1.73; +.animal-card-list { + display: grid; + gap: 50px 30px; + grid-template-columns: repeat(12, 1fr); + grid-auto-flow: row; + padding: 0; + list-style: none; +} +@media (max-width: 767.9px) { + .animal-card-list { + gap: 30px 15px; + } +} +.animal-card-list__item { + grid-column: span 4; +} +@media (max-width: 767.9px) { + .animal-card-list__item { + grid-column: span 6; + } +} +@media (max-width: 374.9px) { + .animal-card-list__item { + grid-column: span 12; + } +} + +.animal-card { + list-style: none; + transition: all 0.2s linear; +} +@media (hover: hover) { + .animal-card:hover .animal-card__preview-img { + transform: scale(1.4); + } +} +.animal-card:active .animal-card__preview-img { + transform: scale(1.4); +} +.animal-card__link { + color: inherit; + text-decoration: none; +} +.animal-card__preview { + margin-bottom: 15px; + border-radius: 8px; + overflow: hidden; +} +.animal-card__preview-img { + display: block; + margin: 0 auto; + max-width: 100%; + transition: transform 0.2s linear; +} +.animal-card__description { + display: flex; + align-items: center; + flex-wrap: wrap; + padding: 0; + margin: 0; + list-style: none; +} +.animal-card__description-name { + width: 100%; + font-weight: 800; + font-size: 28px; + line-height: 1.4; +} +@media (max-width: 767.9px) { + .animal-card__description-name { + font-size: 20px; + } } -.section-donate__table-label { - padding-right: 15px; +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.promo-section { + position: relative; + padding: 130px 0; + padding: 0; + background-image: url("./img/promo-section/promo-bg-desktop.png"); + background-color: #292a35; + background-size: cover; + background-position: center; + background-repeat: no-repeat; +} +.promo-section__container { + display: flex; + align-items: center; + min-height: 100vh; + padding-top: 110px; + padding-bottom: 40px; +} +@media (max-width: 767.9px) { + .promo-section__container { + flex-direction: column; + min-height: auto; + padding-bottom: 0; + } +} +.promo-section__content { + width: 100%; +} +.promo-section__title { + font-size: 120px; + font-weight: 900; + line-height: 1; + position: relative; + z-index: 5; + max-width: 564px; + color: #fff; + text-transform: capitalize; + margin: 0 0 0.3333em; +} +@media (min-width: 768px) and (max-width: 1023.9px) { + .promo-section__title { + font-size: 90px; + } +} +@media (max-width: 767.9px) { + .promo-section__title { + font-size: 60px; + } +} +@media (max-width: 767.9px) { + .promo-section__title { + max-width: none; + } +} +.promo-section__subtitle { + font-size: 24px; + font-weight: 700; + line-height: 1.4; + position: relative; + z-index: 5; + max-width: 564px; + color: #fff; + margin: 0 0 1.6em; +} +@media (max-width: 767.9px) { + .promo-section__subtitle { + max-width: none; + } +} +.promo-section__btn-list { + display: flex; + align-items: center; + gap: 0 30px; + max-width: 470px; + position: relative; + z-index: 5; +} +@media (max-width: 767.9px) { + .promo-section__btn-list { + max-width: none; + } +} +.promo-section__btn-list-item { + font-size: 14px; +} +.promo-section__accessory { + position: absolute; + width: 100%; + max-width: 606px; + right: -9%; + bottom: 0%; + z-index: 1; +} +@media (min-width: 768px) and (max-width: 1023.9px) { + .promo-section__accessory { + max-width: 43%; + right: 1%; + } +} +@media (max-width: 767.9px) { + .promo-section__accessory { + position: static; + width: 100%; + max-width: 400px; + padding: 0 40px; + } +} +.promo-section__accessory-img { + display: block; + max-width: 100%; } -.section-donate__table-value { - font-family: monospace; +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.about-section { + position: relative; + padding: 130px 0; +} +.about-section__header { + text-align: center; + margin-bottom: 30px; +} +.about-section__text { + font-size: 14px; + font-weight: 500; + line-height: 1.4; + font-size: 18px; + margin: 0 auto; + max-width: 600px; + text-align: center; +} +.about-section__video { + margin: 40px auto 0; + max-width: 900px; } -@media (max-width: 900px) { - .section-donate__in { - grid-template-columns: repeat(1, 1fr); +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.statistic-section { + position: relative; + padding: 130px 0; + padding: 60px 0; + background-color: #292a35; + overflow: hidden; +} +@media (max-width: 767.9px) { + .statistic-section { + padding: 100px 0; + } +} +.statistic-section__content { + position: relative; + z-index: 10; + display: flex; + flex-direction: column; + align-items: center; +} +.statistic-section__list { + width: 100%; + max-width: 668px; + display: flex; + align-items: stretch; + justify-content: center; + flex-wrap: wrap; + gap: 50px 100px; + margin-bottom: 60px; +} +.statistic-section__list-item { + width: 100%; + flex: 0 1 284px; + padding: 0 10px; +} +@media (max-width: 767.9px) { + .statistic-section__list-item { + flex-basis: 100%; + } +} +.statistic-section__list-item-value { + font-size: 62px; + font-weight: 900; + line-height: 1; + display: block; + text-transform: capitalize; + text-align: center; + color: #fff; + margin: 0 0 0.24em; +} +@media (min-width: 768px) and (max-width: 1023.9px) { + .statistic-section__list-item-value { + font-size: 48px; + } +} +@media (max-width: 767.9px) { + .statistic-section__list-item-value { + font-size: 34px; + } +} +.statistic-section__list-item-text { + font-size: 14px; + font-weight: 500; + line-height: 1.4; + font-size: 18px; + text-align: center; + color: rgba(255, 255, 255, 0.5); + margin: 0; +} +.statistic-section__cta { + display: flex; + flex-direction: column; + align-items: center; +} +.statistic-section__cta-title { + font-size: 46px; + font-weight: 900; + line-height: 1; + color: #fff; + text-align: center; + text-transform: capitalize; + margin: 0 0 0.86em; +} +@media (min-width: 768px) and (max-width: 1023.9px) { + .statistic-section__cta-title { + font-size: 34px; + } +} +@media (max-width: 767.9px) { + .statistic-section__cta-title { + font-size: 22px; + } +} +.statistic-section__cta-btn { + width: 100%; + max-width: 370px; + font-size: 14px; +} +.statistic-section__accessory { + pointer-events: none; + position: absolute; + width: 100%; + max-width: 230px; + height: 100%; + max-height: 225px; + z-index: 1; + opacity: 0; + background-size: 100% 100%; + background-position: center center; + transition: all 0.2s linear; +} +@media (min-width: 1300px) { + .statistic-section__accessory { + width: 100%; + max-width: 330px; + height: 100%; + max-height: 325px; + } +} +@media (max-width: 767.9px) { + .statistic-section__accessory { + width: 40%; + max-width: 200px; + } +} +.statistic-section__accessory:nth-of-type(2) { + top: 50%; + right: -6%; + transform: translateY(-50%) rotate(-46deg); + transform-origin: center; + background-image: url("./img/general/dog-paw-right.svg"); +} +@media (max-width: 767.9px) { + .statistic-section__accessory:nth-of-type(2) { + top: auto; + bottom: -40px; + transform: translateY(0%) rotate(-20deg); + } +} +@media (max-width: 374.9px) { + .statistic-section__accessory:nth-of-type(2) { + bottom: 0; + } +} +.statistic-section__accessory:nth-child(3) { + top: 58%; + right: 27%; + transform: rotate(-27deg); + transform-origin: center; + background-image: url("./img/general/dog-paw-left.svg"); +} +@media (max-width: 767.9px) { + .statistic-section__accessory:nth-child(3) { + top: auto; + right: 0; + left: 5%; + bottom: 20%; + transform: rotate(0deg); } } +.statistic-section__accessory:nth-child(4) { + top: -24%; + left: 29%; + transform: rotate(-46deg); + transform-origin: center; + background-image: url("./img/general/dog-paw-right.svg"); +} +@media (max-width: 767.9px) { + .statistic-section__accessory:nth-child(4) { + top: auto; + left: auto; + right: -10%; + bottom: 60%; + transform: rotate(-30deg); + } +} +@media (max-width: 374.9px) { + .statistic-section__accessory:nth-child(4) { + bottom: 50%; + } +} +.statistic-section__accessory:nth-child(5) { + left: -5%; + bottom: -5%; + transform: rotate(-27deg); + transform-origin: center; + background-image: url("./img/general/dog-paw-left.svg"); +} +@media (max-width: 767.9px) { + .statistic-section__accessory:nth-child(5) { + top: -5%; + left: 5%; + bottom: auto; + transform: rotate(0deg); + } +} +@media (max-width: 374.9px) { + .statistic-section__accessory:nth-child(5) { + top: 0; + } +} +.statistic-section__accessory-img { + display: block; + max-width: 100%; +} -@media (max-width: 600px) { - .section-donate__table td { - display: block; +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.animals-section { + position: relative; + padding: 130px 0; +} +@media (max-width: 767.9px) { + .animals-section { + padding: 100px 0; } } +.animals-section__title { + margin-bottom: 50px; +} +.animals-section__filter-list { + margin-bottom: 30px; +} -/*===================== - Gallery -=====================*/ +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.contacts-section { + position: relative; + padding: 130px 0; +} -.gallery { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); - gap: 30px; +/* ========================= + Colors +========================= */ +/* ========================= + Fonts +========================= */ +/* ========================= + Sizes +========================= */ +/* ========================= + Paths +========================= */ +/* ========================= + Responsive +========================= */ +/* ========================= + States +========================= */ +/* ========================= + Layout +========================= */ +/* ========================= + Helpers +========================= */ +/* ========================= + Typography +========================= */ +.ui-section { + position: relative; + padding: 130px 0; } -.gallery__item {} +.ui-element-group { + display: flex; + flex-wrap: wrap; + align-items: flex-start; + gap: 15px; + padding: 30px 0; +} +.ui-element-group__column { + flex-direction: column; +} -.gallery__img { - display: block; - width: 100%; - aspect-ratio: 1 / 1; - object-fit: cover; +.ui-inverse-block { + color: #fff; + background: #292a35; } + +.ui-inverse-block--icons { + display: flex; + gap: 15px; + background: #292a35; + padding-left: 5px; +} \ No newline at end of file diff --git a/backend/templates/general/base.html b/backend/templates/general/base.html index 2d0b3ba..752ad20 100644 --- a/backend/templates/general/base.html +++ b/backend/templates/general/base.html @@ -1,14 +1,23 @@
-