/* Tokens */
@font-face {
font-family:Roboto;
src:url('roboto-400.woff2') format('woff2');
font-weight:400;
font-style:normal;
font-display:swap
}
@font-face {
font-family:Roboto;
src:url('roboto-700.woff2') format('woff2');
font-weight:700;
font-style:normal;
font-display:swap
}
@font-face {
font-family:Roboto;
src:url('roboto-black.woff') format('woff');
font-weight:900;
font-style:normal;
font-display:swap
}
:root {
--dm-red:#ed0020;
--dm-yellow:#ffd219;
--dm-ink:#121218;
--dm-font:Roboto,Arial,sans-serif
}
* {
box-sizing:border-box
}
body {
font-family:var(--dm-font);
font-size:16px;
line-height:1.5;
color:var(--dm-ink)
}
h1,h2,h3 {
font-family:var(--dm-font);
font-weight:900;
line-height:1.08;
letter-spacing:-.035em
}
a:focus-visible,button:focus-visible {
outline:3px solid var(--dm-ink);
outline-offset:3px
}
.dm-button {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:12px 20px;
border:0;
background:var(--dm-yellow);
color:var(--dm-ink);
font:700 16px/1.2 var(--dm-font);
text-decoration:none
}
.dm-button--red {
background:var(--dm-red);
color:white
}
/* Shared accessible brand components. */
.dm-skip-link {
position:fixed;
top:8px;
left:8px;
z-index:100000;
transform:translateY(-180%);
background:#121218;
color:#fff;
padding:12px 18px;
text-decoration:none;
font-size:16px
}
.dm-skip-link:focus {
transform:none
}
:where(a,button,input,select,textarea):focus-visible {
outline:3px solid #121218;
outline-offset:3px
}
:where(button,.wp-element-button,.wp-block-button__link) {
min-height:44px
}
.dm-core-header,.dm-core-footer {
padding:24px max(16px,calc((100% - 1040px)/2));
font-family:Roboto,Arial,sans-serif
}
.dm-core-header {
border-bottom:4px solid #ffd219;
background:#fff;
color:#121218
}
.dm-core-footer {
background:#ed0020;
color:#fff
}
.dm-core-footer a {
color:#fff
}
.dm-core-header .wp-block-site-title {
font-size:clamp(20px,4vw,30px);
font-weight:900
}
.dm-core-header a {
text-decoration:none
}
@media(prefers-reduced-motion:reduce) {
html {
scroll-behavior:auto
}
}
/* Dal Moros reusable contact form */
.dm-form {
background:#fff;
color:#ed0020;
border:1px solid #ed002026;
border-radius:24px;
padding:clamp(22px,4vw,44px);
max-width:900px;
margin:24px auto;
font-family:Roboto,Arial,sans-serif
}
.dm-form-heading {
margin-bottom:28px
}
.dm-form-kicker {
font-size:12px;
font-weight:700;
letter-spacing:2px
}
.dm-form-heading h2 {
font-size:clamp(32px,5vw,52px);
line-height:1;
letter-spacing:-1.7px;
margin:15px 0
}
.dm-form-heading h2 span {
background:#ffd219;
padding:2px 8px;
box-decoration-break:clone
}
.dm-form-heading p {
font-size:16px;
line-height:1.5;
margin:16px 0 0
}
.dm-form-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:20px
}
.dm-form-grid label {
display:block;
font-size:14px;
font-weight:700;
line-height:1.5
}
.dm-form-wide {
grid-column:1/-1
}
.dm-form .wpcf7-form-control-wrap {
display:block;
margin-top:8px
}
.dm-form input:not([type=checkbox]):not([type=submit]),.dm-form textarea,.dm-form select {
width:100%;
border:1px solid #ed002036;
background:#fff;
color:#b90019;
border-radius:12px;
padding:15px 16px;
font:400 16px/1.5 Roboto,Arial,sans-serif;
box-shadow:none;
outline-offset:3px;
min-height:54px
}
.dm-form textarea {
min-height:145px;
resize:vertical
}
.dm-form input::placeholder,.dm-form textarea::placeholder {
color:#ad5964;
opacity:1
}
.dm-form input:focus,.dm-form textarea:focus,.dm-form select:focus {
outline:2px solid #ed0020;
border-color:#ed0020
}
.dm-form-consent {
margin-top:22px;
font-size:14px;
line-height:1.6
}
.dm-form .wpcf7-list-item {
margin:0
}
.dm-form-consent label {
display:flex;
align-items:flex-start;
gap:12px;
font-weight:400
}
.dm-form input[type=checkbox] {
accent-color:#ed0020;
width:21px;
height:21px;
min-width:21px;
margin:2px 0 0;
cursor:pointer
}
.dm-form-bottom {
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
margin-top:24px
}
.dm-form-bottom>span {
font-size:12px
}
.dm-form input[type=submit] {
border:0;
background:#ed0020;
color:white;
border-radius:40px;
padding:17px 28px;
font:700 14px/1.3 Roboto,Arial,sans-serif;
min-height:52px;
cursor:pointer;
transition:background .2s
}
.dm-form input[type=submit]:hover {
background:#bd001b
}
.dm-form input[type=submit]:disabled {
opacity:.55;
cursor:not-allowed
}
.dm-form .wpcf7-not-valid-tip {
font-size:13px;
color:#bd001b;
margin-top:7px
}
.wpcf7:has(.dm-form) .wpcf7-response-output {
border:1px solid #ed0020;
background:#fff5cf;
color:#b90019;
border-radius:14px;
padding:16px 20px;
margin:18px 0;
font:400 15px/1.5 Roboto,Arial,sans-serif
}
.dm-form p {
margin-top:0
}
.dm-form .wpcf7-spinner {
margin:8px;
background:#ed0020
}
@media(max-width:600px) {
.dm-form {
border-radius:20px;
padding:23px 19px
}
.dm-form-grid {
grid-template-columns:1fr;
gap:17px
}
.dm-form-bottom {
display:block
}
.dm-form-bottom>span {
display:block;
margin-bottom:15px
}
.dm-form input[type=submit] {
width:100%
}
.dm-form-heading {
margin-bottom:23px
}
}
.dm-form-grid>p,.dm-form-bottom>p {
display:contents
}
.dm-form-heading h2 {
color:#ed0020
}
.dm-form :focus-visible {
outline-color:#ed0020
}
