:root {
    --font-family: "Plus Jakarta Sans", 'Helvetica Neue', sans-serif;
    --font-family-header: "hardcover-vf", serif;
    --font-weight: 300;
    --font-weight-bold: 700;
    --font-size-xxxx-large: 60px;
    --font-size-xxx-large: 50px;
    --font-size-xx-large: 30px;
    --font-size-x-large: 26px;
    --font-size-large: 20px;
    --font-size-medium: 18px;
    --font-size: 17px;
    --font-size-small: 14px;
 	--lineheight-text: 1.5;
    --lineheight-heading: 1.3;
    --lineheight-tight: 1;
    --margin-base: 1rem;
    --margin-large: 30px;
    --margin-xlarge: 40px;
    --margin-xxlarge: 50px;
    --margin-xxxlarge: 80px;
    --grid-gap: 20px;
    --grid-gap-small: 10px;
    --grid-gap-vsmall: 0px;
    --max-width: 92rem;
    --color-base: #cf314c;
    --color-accent : #352E2E;
    --color-accent-second : #333333;
    --heavy :  "opsz" 12, "slnt" 0, "wght" 900;
    --bold : "opsz" 12, "slnt" 0, "wght" 700;
    --medium : "opsz" 12, "slnt" 0, "wght" 700;
    --regular : "opsz" 12, "slnt" 0, "wght" 400;
    --inwardpadding: 16px;
}

@media (min-width: 768px) {
 :root {
   --font-size-xxxx-large: 60px;
   --font-size-xxx-large: 40px;
   --grid-gap: 40px;
   --grid-gap-small: 20px;
   --grid-gap-vsmall: 0px;
   --inwardpadding: 32px;
 }
}

@media (min-width: 1025px) {
 :root {
   --font-size-xxxx-large: 110px;
   --font-size-xxx-large: 70px;
   --font-size-xx-large: 44px;
   --font-size-x-large: 30px;
   --font-size-large: 22px;
   --grid-gap: 80px;
   --grid-gap-small: 40px;
   --grid-gap-vsmall: 0px;
   --inwardpadding: 64px;
 }
}

@media (min-width: 1200px) {
 :root {
   --font-size-xxxx-large: 110px;
   --font-size-xxx-large: 70px;
   --font-size-xx-large: 44px;
   --font-size-x-large: 30px;
   --font-size-large: 22px;
   --grid-gap: 80px;
   --grid-gap-small: 40px;
   --grid-gap-vsmall: 0px;
   --inwardpadding: 150px;
 }
}


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
	display:block; 
	zoom:1;
}

audio, canvas, video { 
	display: inline-block; *display: inline; *zoom: 1; 
}


@-ms-viewport {
    width: device-width
}

@-o-viewport {
    width: device-width
}

@viewport {
    width: device-width
}

html {
box-sizing: border-box;
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
background-color: white;
scroll-behavior: smooth;
}

*, *:before, *:after {
box-sizing: border-box;
}

body {
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	font-family: var(--font-family);
	color: #2d2d2d;
    font-size: 16px;
    font-variation-settings: var(--regular);
    background: url(../img/landing/sully_mob.png) center no-repeat fixed;
    background-size: cover;
}

body.ryan {
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    font-family: var(--font-family);
    color: #2d2d2d;
    font-size: 16px;
    font-variation-settings: var(--regular);
    background: url(../img/landing/re_bk_mob.jpg) top right no-repeat fixed;
    background-size: cover;
}

body.caio {
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    font-family: var(--font-family);
    color: #2d2d2d;
    font-size: 16px;
    font-variation-settings: var(--regular);
    background: url(../img/landing/caio_mob.jpg) top left no-repeat fixed;
    background-size: cover;
}

body.johnny {
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    font-family: var(--font-family);
    color: #2d2d2d;
    font-size: 16px;
    font-variation-settings: var(--regular);
    background: url(../img/landing/jh_mob.jpg) top left no-repeat fixed;
    background-size: cover;
}

main {
	display: grid;
	grid-template-columns: 16px 1fr 25%;
    grid-gap: 8px;
    padding-bottom: 100px;
}

.caio {
    main {
        display: grid;
        grid-template-columns: 0px 1fr 15%;
        grid-gap: 8px;
        padding-bottom: 100px;
    }
}

.johnny {
    main {
        display: grid;
        grid-template-columns: 12% 1fr 0;
        grid-gap: 8px;
        padding-bottom: 100px;
    }
}

header {
	grid-column: 1/-1;
}

article {
	grid-column: 2;
	background: rgba(0, 0, 0, 0.7);
	padding: 24px;
	margin-top: 400px;
    border-radius: 24px;

	h2, p {
		color: white;
	}
}

.caio article {
    margin-top: 50px;
}
.johnny article {
    margin-top: 50px;
}

.ryan {
    article {
        grid-column: 2;
        background: none;
        padding: 0px;
        margin-top: 0px;

        h2, p {
            color: white;
        }
    }
}

a.link {
    color: white;
    display: flex;
    align-items: center;
    margin: 32px 0;
}

::-moz-selection {
    background-color: #333;
    color: white;
    text-shadow: none
}

::selection {
    background-color: #333;
    color: white;
    text-shadow: none
}

strong, b {
    font-variation-settings: var(--bold);
}

h1 {
    margin: 0 0 var(--margin-base);
    font-family: var(--font-family-header);
    line-height: var(--lineheight-tight);
    font-variation-settings: var(--bold);
}

h1 {
    line-height: 1.1;
    font-size: 44px;
    margin: 0 0 32px;
    font-variation-settings: "wght" 600;
    font-style: normal;
    color: white;
}

h2, h3, h4, h5, h6 {
    font-family: var(--font-family-header);
    letter-spacing: 0px;
    font-variation-settings: "wght" 600;
    font-style: normal;
}

h2 {
    font-size: 20px;
    margin-bottom: 16px;
    line-height: 1.2;
}

h3 {
    font-size: 28px;
    margin-bottom: 6px;
    line-height: 1.3;
}

h4 {
    font-size: 23px;
    margin-bottom: 6px;
    line-height: 1.4;
}

ul {
    list-style: disc;
    padding: 0 0 0 20px;
    font-size: 17px;
    line-height: 1.5;
    max-width: 75ch;
}

ul + h2, ul + p {
    margin-top: 24px;
}


strong {
    font-weight: 700;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: var(--bold);
}

.small {
    font-size: 14px;
    font-style: italic;
}


p {
    font-size:  15px;
    line-height: 1.6;
    max-width: 70ch;
    color: var(--color-accent);
    font-family: var(--font-family);
    letter-spacing: 0px;
    font-variation-settings: "wght" 400;
}

p + h2 {
	margin-top: 48px;
}

article p {
  font-weight: 200;
}

header {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 24px 16px;

	a {
		font-size: 16px;
		color: white;
		text-decoration: underline;
	}

	a:hover {
		text-decoration: none;
	}

	.badge {
		max-width: 90px;
	}
}

header div {
	display: flex;
	align-items: center;
	gap: 8px;
}

.link {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ryan header {
    padding: 0 16px;
    margin-bottom: 50px;
}

.ryan main {
    padding: 32px 0 100px;
}



.badge {
    max-width: 100px;
    margin-bottom: 50px;
}

.sponsors_strip {
    display: grid;
    grid-gap: 16px;
    grid-template-columns: 1fr 1fr;
    margin-top: 60px;

    a {
        display: block;
        padding: 0;
        margin: 0 0 8px;
    }

    a:hover {
        background-color: unset;
    }

    img {
        max-height: 32px;
    }
}

@media (min-width: 768px) {

	body {
		background: url(../img/landing/sully.png) center no-repeat fixed;
    	background-size: cover;
	}

    body.ryan {
        background: url(../img/landing/re_bk.jpg) right -50px top no-repeat fixed;
        background-size: cover;
        height: 100%;
    }

    body.caio {
        background: url(../img/landing/caio.jpg) center bottom no-repeat fixed;
        background-size: cover;
        height: 100%;
    }

    body.johnny {
        background: url(../img/landing/jh_tab.jpg) center bottom no-repeat fixed;
        background-size: cover;
        height: 100%;
    }

	main {
		display: grid;
		grid-template-columns: 16px 1fr 40%;
	    grid-gap: 50px;
	    padding-bottom: 100px;
	}

    .caio main {
        display: grid;
        grid-template-columns: 0px 1fr 20%;
        grid-gap: 50px;
        padding-bottom: 100px;
    }

    .johnny main {
        display: grid;
        grid-template-columns: 20% 1fr 0;
        grid-gap: 50px;
        padding-bottom: 100px;
    }

	article {
		grid-column: 2;
		padding: 50px;
		margin-top: 0px;

	}

	header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 24px 50px;
		grid-column: 2;

	}

    .ryan header {
        padding: 0px;
        margin-bottom: 50px;
    }

}

p + p {
    margin-top: 32px;
}

.divider {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    grid-column: 1/-1;
    margin: 32px 0;

    &:before {
        content: '';
        height: 1px;
        background: #CACACA;
        width: 40%;
        display: block;
        position: absolute;
        top: 25px;
        left: 0;
    }

    &:after {
        content: '';
        height: 1px;
        background: #CACACA;
        width: 40%;
        display: block;
        position: absolute;
        top: 25px;
        right: 0;
    }

    
}

.divider .image {
    z-index: 2;
    width: 50px;
    height: 35px;
    background: url(../img/badge.png) center no-repeat;
    background-size: 80%;
}

@media (min-width: 1025px) {
    main {
        display: grid;
        grid-template-columns: 1fr 600px 3fr;
        grid-gap: 50px;
        padding-bottom: 100px;
    }




    body.ryan {
        background: url(../img/landing/re_bk.jpg) top right no-repeat fixed;
        background-size: cover;
    }

    body.caio {
        background: url(../img/landing/caio_wide.jpg) top left no-repeat fixed;
        background-size: cover;
    }

    body.johnny {
        background: url(../img/landing/jh_dk.jpg) top left no-repeat fixed;
        background-size: cover;
    }

    .caio main {
        display: grid;
        grid-template-columns: 25px 700px 1fr;
        grid-gap: 50px;
        padding-bottom: 100px;
    }

    .johnny main {
        display: grid;
        grid-template-columns: 1fr 700px 20px;
        grid-gap: 50px;
        padding-bottom: 100px;
    }

    .sponsors_strip {
        display: flex;
        grid-gap: 24px;
        margin-top: 60px;
        gap: 18px;

        a {
            display: block;
            padding: 0;
            margin: 0 0 8px;
        }

        a:hover {
            background-color: unset;
        }

        img {
            max-height: 32px;
        }
    }
}

@media (min-width: 1600px) {
    body.ryan {
        background: url(../img/landing/re_bk_wide.jpg) top right 0 no-repeat fixed;
        background-size: cover;
    }

    body.caio {
        background: url(../img/landing/caio_wide.jpg) top right 0 no-repeat fixed;
        background-size: cover;
    }

     body.johnny {
        background: url(../img/landing/jh_wide.jpg) top right 0 no-repeat fixed;
        background-size: cover;
    }
}
