body { font-family: 'Open Sans', sans-serif; font-weight: 400; margin: auto; text-align: center; min-width: 240px; background-color: #FFF; background-image: linear-gradient(#FFF, #F5F5F5); background-size: 100% 220px; background-repeat: no-repeat; } h1, h2 { font-weight: 800; text-transform: uppercase; } h1 { font-size: 38px; margin: 40px auto; overflow: hidden; } h1 span { background-image: url(images/logo-n.svg); background-repeat: no-repeat; background-position: left center; padding-left: 120px; line-height: 100px; display: inline-block; } h2 { font-size: 25px; margin: 0 0 40px; } h2 span { color: #FFF; background-color: #FF00BF; display: inline-block; padding: 5px; } p { font-size: 15px; margin: 18px 0; } p a { color: #FF00BF; } a { color: #000; } .main { max-width: 960px; margin: 20px auto 80px; } .nav { text-align: right; font-size: 14px; margin: 20px; } .nav a { display: inline-block; padding: 5px 10px; text-decoration: none; color: #FF00BF; } .nav a.button { background-color: #FF00BF; color: #FFF; border-radius: 5px; } .section { max-width: 540px; margin: 50px auto 60px; padding: 0 20px; } .graphic-l img, .graphic-r img { display: block; margin: 30px auto; max-width: 80%; height: auto; } .info { background-color: #F5F5F5; padding: 30px 0; margin: 30px auto; width: 90%; border-radius: 20px; background-image: linear-gradient(#F9F9F9, #F5F5F5); } .info dl { font-size: 15px; margin: 10px 0 0; } .info dt { font-weight: 800; } .info dd { margin: 5px 0 20px; } .info .price { font-size: 30px; font-weight: 800; color: #FFF; background-color: #FF00BF; display: inline-block; padding: 0 5px; } .info .large { font-size: 18px; } .foot { padding: 20px; margin-top: 40px; color: #AAA; font-size: 12px; } .appstores { margin: 40px 0 60px; } .appstores .badge { display: inline-block; height: 34px; width: 114px; padding: 2px; overflow: hidden; border: 1px solid #AAA; border-radius: 6px; color: #AAA; font-size: 15px; vertical-align: top; } .appstores a .badge { text-decoration: none; color: #333; border-color: #333; } .appstores .badge .small { font-size: 10px; } @media all and (min-width: 840px) { body { background-size: 100% 200px; } .main { display: grid; grid-template-columns: 2fr 1fr 2fr; grid-auto-flow: dense row; padding: 0 20px; margin: 0 auto; } h1 { grid-column: span 2; margin: 60px 0; text-align: left; } .nav { grid-column: 3; align-self: start; } .graphic-l img, .graphic-r img { margin: 0 auto; max-width: none; align-self: center; } .graphic-r { grid-column: 3; } .section { grid-column: span 2; align-self: center; padding: 0; margin: 0; } .info { max-width: 960px; display: grid; grid-template-columns: 3fr 2fr; } .info dl { text-align: left; } }