
footer {padding-top: 40px; background-color: var(--_c-dark-900); color: #fff; --_c-dark-900: #242424; --_c-light-300: #c6c4c4; --_fs-xxl: 50px; --_c-light-400: #a0a0a0;}
footer .wrapper {border-bottom: 1px solid var(--_c-light-300);}
footer .wrapper.up {display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-block: 20px 40px; }
footer .main {max-width: 650px;}
footer .main > :first-child {font-size: calc(var(--fs-xl) + 4px); font-weight: 500; color: #fff; margin-bottom: 30px; font-family: var(--ff-secondary); }
footer .main span {display: block; margin-bottom: 20px;}
footer .main ul {display: flex; align-items: center; gap: 10px;}
footer :where(.main, .info) li:hover img {transform: scale(0.95);}
footer .info {width: 370px;}
footer .info > * {display: block;}
footer .info > :first-child {margin-bottom: 20px;}
footer .info > a {font-size: var(--_fs-xxl); font-weight: 900; margin-bottom: 50px;}
footer .info ul {display: flex; align-items: center; gap: 10px; margin-top: 20px;}
footer .wrapper.down {display: grid; grid-template-columns: minmax(400px, 495px) minmax(160px, 270px) 1fr; gap: 30px; padding-block: 40px;}
footer .logo {margin-bottom: 40px;}
footer .details > p,
footer .details li {color: #fff; margin-bottom: 15px;}
footer .details li svg {margin-right: 10px;}
footer .details > :last-child {display: block; margin-left: 30px;}
footer :where(.links, .newsletter) > :first-child {font-family: var(--ff-secondary); font-size: calc(var(--fs-sm, 18px) + 2px); font-weight: 500; display: block; margin-bottom: 40px;}
footer .links li:not(:last-of-type) {margin-bottom: 15px;}
footer .links li a:hover {color: var(--c-secondary);}
footer .newsletter {margin-bottom: 40px;}
footer .newsletter form {display: flex; align-items: center; gap: 20px;}
footer .newsletter form input {width: 225px; height: 40px; background-color: transparent; color: var(--_c-light-300); border: 1px solid var(--_c-light-300); border-radius: 10px; padding-inline: 10px;}
footer .newsletter form button[type="submit"] {width: 80px; font-weight: 500; padding:8px 12px;}
footer .payments > :first-child {display: block; margin-bottom: 8px;}
footer .copyright {color: var(--_c-light-400); padding-block: 10px; text-align: center;}
:where(footer, footer :where(.wrapper, .main, .main *, .info, .info *, .logo, details *, .links *, .newsletter, .newsletter *, .payments *, .copyright)) {transition: var(--transition);}



@media only screen and (max-width: 991px) {
footer .wrapper.up {flex-direction: column;}
footer .info > :first-child {margin-bottom: 10px;}
footer .info > a {margin-bottom: 25px;}
footer .wrapper.down {grid-template-columns: minmax(500px, 650px) minmax(175px, 280px);}
}

@media only screen and (max-width: 767px) {
footer {padding-top: 20px;}
footer :is(.wrapper.up, .wrapper.wrapper.down) {padding-block: 20px;}
footer .wrapper.down {grid-template-columns: 1fr;}
footer :where(.links, .newsletter) > :first-child {margin-bottom: 20px;}
}

@media only screen and (max-width: 575px) {
footer :is(.details > p, .details li, .links li:not(:last-of-type)),
footer :where(.links, .newsletter) > :first-child {margin-bottom: 10px;}
}

@media only screen and (max-width: 475px) {
footer .info {max-width: 100%;}
footer .info > a {margin-bottom: 10px;}
footer .info ul {flex-direction: column; align-items: flex-start; margin-top: 10px;}
footer .newsletter form {max-width: 370px; flex-direction: column; align-items: flex-start; gap: 10px;}
footer .newsletter form :is(input, button[type="submit"]) {width: 100%;}
}
.quote-form form > :nth-child(n+30):nth-child(-n+31){width:100%;}