/* Impact Talents — reproduction of the Wix site (2020 design) */
:root{
  --yellow:#FCB707;
  --coral:#FF6161;
  --navy:#212832;
  --navy-deep:#191E2B;
  --cream:#FAF8F4;
  --text:#424242;
  --red:#E21C21;
  --gold:#FFCC00;
  --contact-yellow:#FFD55A;
  --impact:Impact, 'Anton', 'Haettenschweiler', 'Arial Narrow Bold', sans-serif;
  --helv:'Helvetica Neue', Helvetica, Arial, sans-serif;
  --futura:'Jost', 'Futura', 'Avenir Next', sans-serif;
  --kanit:'Kanit', sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:#fff;color:var(--text);font-family:var(--helv);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.container{width:980px;max-width:100%;margin:0 auto;padding:0 20px}

/* Header */
.site-header{background:#fff}
.site-header .container{display:flex;align-items:flex-end;gap:46px;height:116px;padding-bottom:0}
.logo{font:400 34px/1 var(--impact);color:var(--navy);text-decoration:none;letter-spacing:.2px;margin-bottom:16px;white-space:nowrap}
.menu{display:flex;list-style:none;align-self:flex-end;margin-bottom:0}
.menu>li{position:relative}
.menu>li>a{display:block;font:400 18px/60px var(--impact);color:var(--navy);text-decoration:none;padding:0 16px;text-transform:uppercase;letter-spacing:.2px;white-space:nowrap}
.menu>li>a:hover{color:var(--yellow)}
.menu>li>a.active{background:var(--navy);color:#fff}
.submenu{position:absolute;top:100%;left:0;min-width:270px;background:#fff;list-style:none;display:none;z-index:20;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.submenu a{display:block;font:400 16px/44px var(--impact);color:var(--navy);text-decoration:none;padding:0 16px;text-transform:uppercase}
.submenu a:hover{background:var(--navy);color:#fff}
.menu>li:hover .submenu{display:block}

/* German flag stripes */
.stripes{height:30px;background:linear-gradient(var(--navy) 0 8px,#fff 8px 10px,var(--red) 10px 19px,#fff 19px 21px,var(--gold) 21px 30px)}
.stripes.under{background:linear-gradient(var(--navy) 0 9px,#fff 9px 11px,var(--red) 11px 20px,#fff 20px 22px,var(--gold) 22px 30px)}

/* Hero */
.hero{position:relative;height:582px;background:url(../img/berlin-brandenburg.webp) center/cover;overflow:hidden}
.hero .portrait{position:absolute;left:0;bottom:-20px;height:560px;width:auto}
.hero .box{position:absolute;left:61%;top:72px;width:369px;padding:42px 22px 52px;background:rgba(255,255,255,.72);font:400 24.5px/25px var(--impact);color:var(--navy);text-transform:uppercase}
.hero .box p:first-child{max-width:265px}
.hero .box p+p{margin-top:47px}
.hero .box span{color:var(--yellow)}

/* Generic two-column blocks */
.headline{font:700 46px/50px var(--helv);color:#000;letter-spacing:-.2px}
.headline .c{color:var(--coral)}
.headline .y{color:var(--yellow)}

.intro{padding:52px 0 70px}
.intro .container{display:grid;grid-template-columns:437px 515px;gap:0}
.intro .container>div:first-child{padding-left:44px}
.intro .butterflies{width:300px;margin:42px 0 0 -12px}
.intro .text{font:300 italic 15px/21px var(--helv);color:var(--text);text-align:justify;padding-top:6px;letter-spacing:-.1px}
.intro .text p+p{margin-top:21px}

/* Slanted cream bands */
.band{position:relative;background:var(--cream)}
.band.slant-a{clip-path:polygon(0 12%,100% 0,100% 82%,0 100%);padding:170px 0 150px}
.band.slant-b{clip-path:polygon(0 18%,100% 0,100% 100%,0 100%);padding:180px 0 90px}

.focus .container{display:grid;grid-template-columns:1fr 1fr;gap:40px;width:1120px}
.focus ol{list-style:none}
.focus li{display:grid;grid-template-columns:80px 1fr;align-items:start;margin-bottom:38px}
.focus .num{font:700 40px/1 var(--helv);color:var(--yellow);padding-top:4px}
.focus .label{font:700 25px/30px var(--helv);color:#5f6360}
.focus .label b{color:var(--yellow);font-weight:700}
.focus .value{text-align:right}
.focus .value .headline{font-size:47px;line-height:50px}
.focus .value p{font:300 italic 22px/24px var(--helv);color:var(--text);margin-top:34px}
.focus .value p+p{margin-top:24px}

.clients{padding:40px 0 130px}
.clients .container{display:grid;grid-template-columns:400px 1fr;gap:0;width:1060px}
.clients .headline{font-size:44px;line-height:46px}
.clients .text{font:300 21px/28px var(--helv);color:var(--text);margin-top:34px;max-width:330px}
.clients .wall{background:#fff;padding:6px}

/* Facts + typical */
.facts .container{display:grid;grid-template-columns:560px 1fr;width:1000px}
.tags{position:relative;height:470px}
.tag{position:absolute;width:240px;text-align:center}
.tag h3{display:flex;margin:0 auto 18px;width:220px}
.tag h3 i{width:65px;height:66px;background:#000;color:#fff;font:400 30px/66px var(--helv);font-style:normal;text-align:center}
.tag h3 span{flex:1;margin-left:5px;border:3px solid #000;color:var(--yellow);font:700 22px/60px var(--helv);text-align:center}
.tag ul{list-style:none;font:300 16px/19px var(--futura);color:#000}
.tag.pos{left:0;top:0}
.tag.sec{left:255px;top:146px}
.tag.cou{left:20px;top:246px}
.typical{text-align:right}
.typical .headline{font-size:52px;line-height:55px}
.typical p{font:300 20px/22px var(--helv);color:var(--text);margin-top:34px}
.typical p+p{margin-top:22px}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;border-top:10px solid var(--navy);min-height:643px}
.contact .photo{background:url(../img/paris-eiffel.webp) center/cover;position:relative}
.contact .card{position:absolute;left:66px;top:210px;width:509px;padding:14px 28px 24px;background:rgba(255,255,255,.82);border-radius:30px}
.contact .card h2{font:700 25px/1 var(--helv);color:#5f6360;margin-bottom:22px}
.contact .card .row{display:flex;gap:16px;align-items:center}
.contact .card img.me{width:108px;height:108px;border-radius:50%;object-fit:cover;object-position:top;background:#cfd2d6;box-shadow:0 2px 6px rgba(0,0,0,.25);margin-left:-8px}
.contact .card .info{font:300 16px/20px var(--futura);color:#000}
.contact .card .info p+p{margin-top:12px}
.contact .card .li{display:inline-block;vertical-align:middle;width:17px;height:17px;margin-left:6px}
.contact .formside{background:var(--contact-yellow);padding:90px 110px 60px 123px}
.contact .formside h2{font:500 28px/33px var(--kanit);color:#000;letter-spacing:1.2px}
.contact .formside h2 span{color:#fff}
.contact form{margin-top:50px;display:grid;gap:12px}
.contact form .two{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.contact input,.contact textarea{width:100%;border:1px solid rgba(0,0,0,.1);background:#fff;padding:9px 5px;font:400 14px 'Times New Roman',serif;color:#000}
.contact textarea{height:150px;resize:vertical}
.contact button{height:45px;background:var(--navy);color:#fff;border:0;font:400 17px var(--helv);cursor:pointer}
.contact button:hover{background:#000}
.contact .sent{display:none;font:400 15px var(--helv);color:#000}

/* Footer */
.site-footer{background:var(--navy-deep);color:#fff;padding:58px 0 0}
.site-footer .container{display:grid;grid-template-columns:506px 1fr;width:900px}
.site-footer h4{font:400 23px/1 var(--futura);margin-bottom:32px;letter-spacing:.2px}
.quick{display:grid;grid-template-columns:163px 1fr;gap:9px 0;font:300 13px var(--futura)}
.quick a{text-decoration:underline}
.site-footer .coords{font:300 12.5px/2.5 var(--futura)}
.site-footer .bottom{display:grid;grid-template-columns:506px 1fr;width:900px;margin:80px auto 0;padding:0 20px 26px;font:400 12.5px var(--futura)}
.site-footer .bottom a{text-decoration:underline}
.torn{height:44px;background:
  linear-gradient(var(--navy-deep),var(--navy-deep)) top/100% 6px no-repeat,
  linear-gradient(var(--red),var(--red)) 0 6px/100% 26px no-repeat,
  linear-gradient(#fff,#fff) 0 32px/100% 2px no-repeat,
  linear-gradient(var(--gold),var(--gold)) 0 34px/100% 10px no-repeat}

/* Mobile */
@media (max-width:1000px){
  .site-header .container{flex-direction:column;align-items:flex-start;height:auto;gap:8px;padding-top:20px}
  .logo{margin-bottom:0}
  .menu{flex-wrap:wrap}
  .menu>li>a{font-size:15px;line-height:40px;padding:0 8px}
  .hero{height:auto;padding:30px 16px 0;display:flex;flex-direction:column-reverse;align-items:center}
  .hero .portrait{position:static;height:340px;margin-top:20px}
  .hero .box{position:static;width:auto;max-width:420px;font-size:20px;line-height:22px;padding:24px 18px}
  .hero .box p+p{margin-top:24px}
  .intro .container,.focus .container,.clients .container,.facts .container,.site-footer .container,.site-footer .bottom{grid-template-columns:1fr;width:auto}
  .headline,.focus .value .headline,.clients .headline,.typical .headline{font-size:34px;line-height:38px}
  .intro .butterflies{margin:20px auto 24px}
  .band.slant-a,.band.slant-b{padding:90px 0 80px}
  .focus .value,.typical{text-align:left}
  .focus .label{font-size:20px;line-height:25px}
  .clients .text{max-width:none;margin-bottom:24px}
  .tags{height:auto;display:grid;gap:30px;margin-bottom:40px}
  .tag{position:static;width:auto}
  .contact{grid-template-columns:1fr}
  .contact .photo{min-height:520px}
  .contact .card{left:16px;right:16px;top:80px;width:auto}
  .contact .formside{padding:50px 20px}
  .contact form .two{grid-template-columns:1fr}
  .site-footer .bottom{gap:10px;margin-top:40px}
}
