/*
Theme Name: CompuMaster Classic
Theme URI: https://www.compumaster.de/
Author: CompuMaster GmbH
Description: CompuMaster website with native WordPress blocks.
Version: 0.2.2
Requires at least: 6.4
Requires PHP: 8.1
License: Proprietary
Text Domain: compumaster-classic
*/
:root{--cm-blue:#006bb0;--cm-ink:#182026;--cm-muted:#53606a;--cm-soft:#f2f5f6;--cm-max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;color:var(--cm-ink);background:white;font:17px/1.7 Arial,Helvetica,sans-serif;letter-spacing:0}
a{color:#0065a6;text-underline-offset:4px}
a:hover{color:#00446f}
/* Decorative icons also cover contact links added in the block editor. */
a[href^="tel:" i]::before,a[href^="mailto:" i]::before,.cm-fax::before{content:"";display:inline-block;width:1em;height:1em;margin-inline-end:.55em;vertical-align:-.12em;background-color:currentColor;mask:var(--cm-contact-icon) center/contain no-repeat;-webkit-mask:var(--cm-contact-icon) center/contain no-repeat}
a[href^="tel:" i]{--cm-contact-icon:url("assets/phone.svg")}
.cm-fax{--cm-contact-icon:url("assets/fax.svg")}
a[href^="mailto:" i]{--cm-contact-icon:url("assets/mail.svg")}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #df982e;outline-offset:4px}
img{max-width:100%;height:auto}
button,input,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4{line-height:1.16;overflow-wrap:break-word;letter-spacing:0}
h1{font-size:48px}h2{font-size:38px}h3{font-size:24px}
p,li{overflow-wrap:anywhere}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.screen-reader-text:focus{z-index:100;clip-path:none;width:auto;height:auto;padding:12px;background:white}
.cm-site{min-height:100vh;display:flex;flex-direction:column}
#content{flex:1;min-width:0}
.cm-header-wrap{position:absolute;z-index:20;top:24px;left:3.3%;right:3.3%;box-shadow:0 5px 20px #0003}
.admin-bar .cm-header-wrap{top:56px}
.cm-topbar{display:flex;justify-content:space-between;align-items:center;padding:4px max(24px,calc((100% - 1180px)/2));background:var(--cm-blue);color:white;font-size:13px;font-weight:700}
.cm-topbar a{color:white;text-decoration:none}
.cm-main-header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px;padding:14px max(24px,calc((100% - 1180px)/2));background:white}
.cm-brand{flex:0 0 150px;line-height:0}
.cm-brand img{display:block;width:150px;height:56px;object-fit:contain}
.cm-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:28px}
.cm-nav li{position:relative;display:flex;align-items:center}
.cm-nav a{display:block;padding:12px 0;color:#171b1e;text-decoration:none;font-size:14px;font-weight:700}
.cm-nav a:hover,.cm-nav .current-menu-item>a{color:var(--cm-blue)}
.cm-nav .sub-menu{position:absolute;top:100%;right:0;min-width:210px;display:none;background:white;box-shadow:0 8px 20px #0002;padding:8px 18px}
.cm-nav .sub-menu li{display:block}
.cm-nav li:hover>.sub-menu,.cm-nav li:focus-within>.sub-menu,.cm-nav li.is-expanded>.sub-menu{display:block}
.cm-sub-toggle{border:0;background:none;color:inherit;width:32px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;align-self:center}
.cm-sub-toggle::before{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}
.cm-menu-toggle{display:none;border:1px solid #ced7dc;background:white;border-radius:4px;width:44px;height:44px;font-size:25px}
.cm-hero{background-image:linear-gradient(#06497180,#06497180),var(--cm-hero-image);background-size:cover;background-position:center;display:grid;place-items:center;color:white;text-align:center}
.cm-page-title-band{min-height:400px;padding:180px 24px 64px}
.cm-hero-title{font-size:48px;max-width:1000px;margin:0;line-height:1.1}
.cm-content-wrap{max-width:var(--cm-max);width:calc(100% - 48px);margin:0 auto;padding:64px 0 80px}
.cm-content-wrap h2{margin:48px 0 20px}.cm-content-wrap h3{margin:34px 0 14px}
.cm-content-wrap>:first-child{margin-top:0}
.cm-content-wrap .wp-block-group.cm-section{padding:48px 0}
.cm-content-wrap .cm-inner{width:100%}
.cm-section{padding:88px 0;margin:0}
.cm-inner{width:calc(100% - 48px);max-width:var(--cm-max);margin:0 auto}
.cm-inner>h2,.cm-inner>h3{margin-top:0}
.cm-soft{background:var(--cm-soft)}
.cm-blue{background:var(--cm-blue);color:white}
.cm-blue a{color:white}
.cm-eyebrow{font-size:13px;text-transform:uppercase;font-weight:700;color:var(--cm-blue);margin:0 0 12px}
.cm-blue .cm-eyebrow{color:white}
.cm-lead{font-size:21px;line-height:1.6}
.wp-block-columns{gap:48px;align-items:center}
.wp-block-column{min-width:0}
.wp-block-image{margin:0 0 24px}
.wp-block-image img{display:block;width:100%;object-fit:contain}
.cm-photo img{aspect-ratio:4/3;object-fit:cover}
.cm-portrait img{aspect-ratio:1;object-fit:cover}
.cm-hero-cover{min-height:calc(100svh - 44px)!important;padding:190px 24px 100px!important}
.cm-hero-cover .wp-block-cover__inner-container{max-width:1180px;width:100%;text-align:center}
.cm-hero-heading{max-width:640px;margin:0 auto;font-size:80px;line-height:1.04;font-weight:800;text-transform:uppercase;color:white}
.cm-hero-cover .wp-block-cover__image-background{object-position:center}
.cm-values{display:flex;justify-content:space-around;gap:24px;margin:0;padding:26px 24px;list-style:none;font-size:24px;font-weight:700;background:var(--cm-blue);color:white}
.cm-band-cover{min-height:420px;padding:70px 24px;text-align:center}
.cm-band-cover .wp-block-cover__inner-container{max-width:900px}
.cm-band-cover h2{font-size:44px}
.cm-services{align-items:stretch}
.cm-services .wp-block-column{border-top:3px solid var(--cm-blue);padding-top:24px}
.cm-services h3{margin-top:0}
.wp-block-buttons{gap:14px;margin-top:28px}
.wp-block-button__link,.cm-button{display:inline-block;border:0;border-radius:3px;background:var(--cm-blue);color:white;padding:13px 25px;font-weight:700;font-size:16px;text-decoration:none}
.wp-block-button__link:hover,.cm-button:hover{background:#004b7c;color:white}
blockquote{margin:0;padding:0;border:0}
.wp-block-quote{border-left:3px solid var(--cm-blue);padding:0 0 0 24px;margin:24px 0}
.wp-block-quote cite{font-style:normal;color:var(--cm-muted);font-size:14px;font-weight:700}
.cm-contact-details{padding:28px 0;border-top:1px solid #d5dfe4}
.cm-contact-details a{overflow-wrap:anywhere}
.wpcf7{max-width:720px}
.cm-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.wpcf7 label{display:block;font-weight:700}
.wpcf7 input:not([type=checkbox]):not([type=submit]),.wpcf7 textarea{display:block;width:100%;border:1px solid #a9b8c1;background:white;border-radius:3px;padding:12px;margin-top:8px}
.wpcf7 textarea{min-height:170px;resize:vertical}
.wpcf7 input[type=submit]{background:var(--cm-blue);border:0;border-radius:3px;color:white;padding:13px 28px;cursor:pointer}
.wpcf7-list-item{margin:0!important}.wpcf7-acceptance label{font-size:15px;font-weight:400}
.cm-footer{background:#20272b;color:white;margin-top:auto}
.cm-footer-main{width:calc(100% - 48px);max-width:var(--cm-max);margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:56px;padding:64px 0}
.cm-footer h2{font-size:26px;margin:0 0 20px}.cm-footer h3{font-size:15px;text-transform:uppercase;margin:22px 0 16px}
.cm-footer p{font-size:15px;color:#dde3e6}.cm-footer a{color:white;text-decoration:none}
.cm-footer a:hover{text-decoration:underline}.cm-footer ul{list-style:none;margin:0;padding:0;font-size:14px}.cm-footer li{margin:10px 0}
.cm-footer-bottom{background:var(--cm-blue);text-align:center;padding:14px 24px;font-size:13px}
.cm-legaltext{min-height:150px}.cm-legaltext h1{font-size:32px}
.cm-content-wrap:has(.cm-section){max-width:none;width:100%;padding:0}
.cm-content-wrap:has(.cm-section) .cm-inner{width:calc(100% - 48px)}
.editor-styles-wrapper{font-family:Arial,Helvetica,sans-serif}
.editor-styles-wrapper .cm-hero-cover{min-height:640px!important}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){.cm-band-cover.is-style-parallax{background-attachment:fixed}}
@media(max-width:900px){
h1{font-size:38px}h2{font-size:32px}
.cm-header-wrap{top:0;left:0;right:0}.admin-bar .cm-header-wrap{top:32px}
.cm-main-header{min-height:78px;padding:10px 24px;flex-wrap:wrap;gap:0}
.cm-topbar{padding:5px 24px}.cm-brand{flex-basis:135px}.cm-brand img{width:135px;height:52px}
.cm-js .cm-menu-toggle{display:block}
.cm-nav{width:100%;padding:14px 0}.cm-js .cm-nav{display:none}.cm-js .cm-nav.is-open{display:block}
.cm-nav ul{display:block}.cm-nav li{display:flex;flex-wrap:wrap}.cm-nav a{flex:1}
.cm-nav .sub-menu{position:static;width:100%;box-shadow:none;padding:0 0 0 18px}
.cm-js .cm-nav li:hover>.sub-menu,.cm-js .cm-nav li:focus-within>.sub-menu{display:none}
.cm-js .cm-nav li.is-expanded>.sub-menu{display:block}
.cm-header-wrap:has(.is-open){max-height:100svh;overflow:auto}
.cm-hero-heading{font-size:60px;max-width:550px}
.cm-page-title-band{min-height:330px;padding:158px 24px 55px}
.cm-hero-title{font-size:38px}
.cm-section{padding:60px 0}.wp-block-columns{gap:28px}
.cm-footer-main{grid-template-columns:1.5fr 1fr;gap:28px}
}
@media(max-width:600px){
body{font-size:16px}h2{font-size:29px}h3{font-size:23px}
.cm-inner,.cm-content-wrap,.cm-content-wrap:has(.cm-section) .cm-inner,.cm-footer-main{width:calc(100% - 40px)}
.cm-hero-heading{font-size:44px;max-width:350px}
.cm-hero-cover{min-height:calc(100svh - 44px)!important;padding:170px 20px 70px!important}
.cm-page-title-band{min-height:300px}.cm-hero-title{font-size:34px}
.cm-values{font-size:18px;padding:20px;gap:16px;flex-wrap:wrap}
.cm-lead{font-size:19px}.cm-band-cover h2{font-size:31px}
.cm-footer-main{grid-template-columns:1fr;gap:16px}
.cm-section{padding:48px 0}.cm-content-wrap{padding:40px 0}
.wp-block-columns{flex-wrap:wrap!important}.wp-block-column{flex-basis:100%!important}
}
@media(max-width:782px){.admin-bar .cm-header-wrap{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
