:root {
  --clr-primary-200: #efefef;
  --clr-primary-400: #40679b;

  --clr-neutral-100: #fff;
  --clr-neutral-900: #333;

  --ff-primary: Arial, sans-serif;
  --ff-accent: Times, Times New Roman, serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: var(--ff-primary);
  font-weight: 400;
  font-size: .95rem;
  line-height: 1.45;
}

body,
h1,
h2,
h3,
p {
  margin: 0;
}
a, a:active, a:visited {
	color: var(--clr-primary-400);
}
a:hover, a:focus {
	color: var(--clr-neutral-900);
}

h1,
h2,
h3,
h4 {
  color: var(--clr-primary-400);
  font-family: var(--ff-accent);
  font-weight: 900;
  line-height: 1.3;
}

h2,
h3,
p {
  margin-bottom: 1em;
}

img {
  display: block;
  max-width: 100%;
}

.text-center {
  text-align: center;
}

.m-wrap {
	white-space: nowrap;
	
}

header,
section {
  padding: 2rem 0;
  @media screen and (min-width: 40em) {
    header,
    section {
      padding: 3rem 0;
    }
  }
}

.container {
  margin-inline: auto;
  width: min(90%, 70.5rem);
}

.container--narrow {
  max-width: 50rem;
}

.container--narrow-2 {
  max-width: 26rem;
}

.container--narrow-3 {
  max-width: 23rem;
  padding: 3rem;
}

.bg-light {
  background-color: var(--clr-primary-200);
}

.bg-primary {
  color: var(--clr-neutral-100);
  background-color: var(--clr-primary-400);
}

.bg-dark {
  color: var(--clr-neutral-100);
  background-color: var(--clr-neutral-900);
  padding: .65em 0;
}

.bg-primary h2, .bg-dark h2, .bg-primary h3, .bg-primary h4 {
  color: var(--clr-primary-200);
}

.split {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 40em) {
  .split {
    flex-direction: row;
  }

  .split > * {
    flex-basis: 100%;
  }

  .split > * + * {
    margin-left: 2em;
  }
	
  .desktop img {
	width: 100%;
	max-width: 704px;
	height: auto;
	display: inline-block;
}
  .mobile img {
	display: none;
}
}

@media screen and (max-width: 39.99em) {

h1,
h2,
h3 {
	font-size: 1.15rem;
	line-height: 1.45;
}

h1,
h2,
h3,
p {
  padding: 0 1.15em;
}	

.bg-dark {
  padding: .45em 0;
}
	
  .desktop img {
	display: none;
}
  .mobile img {
	width: 100%;
	max-width: 494px;
	height: auto;
	display: block;
	margin: 0 auto;
	padding-bottom: 17px;
}

.bg-light-2 .container {
  width: min(101%, 71.5rem);
}
	
.container--narrow {
  max-width: 45rem;
}

.container--narrow-2 {
  max-width: 21rem;
}

.container--narrow-3 {
  max-width: 25rem;
  padding: 0 .9rem;
}

.bg-light-2 {	
  background-color: var(--clr-neutral-100);	
  padding: 1.5rem 0 1rem;	
}
}
