/*
* LittleLink
* https://littlelink.io
* Free to use under the MIT license
* http://www.opensource.org/licenses/mit-license.php
*/

/* Base Typography Settings
–––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
	font-size:16px;
}

/* Grid
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  .container {
	position:relative;
	width:100%;
	max-width:37.5rem;     				/* 600px */
    text-align:center;
	margin:0 auto;
	padding:3rem 1.25rem 0 1.25rem;
	box-sizing:border-box;
}
.container-left {
	position:relative;
	width:100%;
	max-width:37.5rem;
	text-align:left;
	margin:0 auto;
	padding:0 1.25rem;
	box-sizing:border-box;
}
.container-left p {
	margin-bottom: 1rem;  				/* 16px space between paragraphs */
  }
.column {
	position:center;
	width:100%;
	float:center;
	box-sizing:border-box;
}
/* For devices larger than 400px */
  @media (min-width:25rem) {            /* 400px */
    .container {
	width:85%;
	padding-left:0;
	padding-right:0;
}
}/* For devices larger than 550px */
  @media (min-width:34.375rem) {        /* 550px */
    .container {
	width:80%;
}
.column,.columns {
	margin-left:0;
}
.column:first-child,.columns:first-child {
	margin-left:0;
}
}

/* Base Styles
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  body {
    margin:0;
    padding:0;
    background:
        radial-gradient(circle at top left, #dcbbd1 0%, transparent 50%),
        radial-gradient(circle at top right, #cfdfd1 0%, transparent 50%),
        radial-gradient(circle at bottom left, #aca9cb 0%, transparent 50%),
        radial-gradient(circle at bottom right, #d1bcaf 0%, transparent 50%),
        #e0dfe5;
    background-attachment:fixed;
    color:#1a1a1a;
    font-family:"Roboto",system-ui;
    font-size:var(--scale-1);           /* 20px */
    font-weight:400;
    line-height:1.6;
    position:relative;
}

body::before {
	content:'';
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.20'/%3E%3C/svg%3E");
	pointer-events:none;
	z-index:1;
}

body > * {
	position:relative;
	z-index:2;
}

/* Typography
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  h1 {
	margin:0 0 0.5rem 0;
	font-size:3rem;         		/* 48px */
    font-weight:800;
	line-height:1;
	letter-spacing:0;
	word-wrap:break-word;
	overflow-wrap:break-word;
	hyphens:auto;           		/* Delete this to remove automatic hyphen on line break */
}
.container p {
	margin:0 0 2rem 0;
}

/* Base Typography Settings
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Base size - 16px browser default */
:root {
  font-size:16px;           /* Using a 1.25 modular scale for typography */
  --scale-0:1rem;           /* 16px */
  --scale-1:1.25rem;        /* 20px */
  --scale-2:1.563rem;       /* 25px */
  --scale-3:1.953rem;       /* 31px */
  --scale-4:2.441rem;       /* 39px */
  --scale-5:3.052rem;       /* 49px */

  /* Spacing units */
  --spacing-xs:0.5rem;      /* 8px */
  --spacing-s:1rem;         /* 16px */
  --spacing-m:1.5rem;       /* 24px */
  --spacing-l:2rem;         /* 32px */
  --spacing-xl:3rem;        /* 48px */
  --spacing-xxl:4rem;       /* 64px */
}

/* Avatar */
.avatar {
	width: 4rem;             /* 64px */
	height: 4rem;
	border-radius: 0%;
	object-fit: cover;
	background-position: center;
	margin-bottom: var(--spacing-s);
	margin-left: auto;
	margin-right: auto;
	display: block;
  }

/* Typography Scale */
h1 {
	margin:0 0 var(--spacing-s) 0;
	font-size:var(--scale-2);           /* ~25px */
  	font-weight:800;
	line-height:1.1;
	letter-spacing:+0.02em;
	word-wrap:break-word;
	overflow-wrap:break-word;
}
body {
	font-size:var(--scale-1);           /* 20px */
  	line-height:1.6;
}
.container p {
	margin:0 0 var(--spacing-xl) 0;
	font-size:var(--scale-1);
	line-height:1.6;
}

/* Container spacing */
.container {
	padding:var(--spacing-xl) var(--spacing-m) 0 var(--spacing-m);
	text-align:center;
}

/* Footer */
footer {
	margin:var(--spacing-xxl) 0;            /* 4rem (64px) top and bottom */
	font-size:var(--scale-0);
	font-style:italic;
}

/* Responsive adjustments */
@media (max-width:34.375rem) {              /* 550px */
  h1 {
	font-size:var(--scale-4);
}
body {
	font-size:var(--scale-0);
}
.container p {
	font-size:var(--scale-0);
}
.avatar {
	margin-bottom:var(--spacing-m);
}
footer {
	margin:var(--spacing-xl) 0;         	/* 3rem (48px) top and bottom */
}
}

/* Links
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  a {
	color:#000dff;
	text-decoration:underline;
}
a:hover {
	color:#7364ff;
}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,button {
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	width:24rem;                    	/* 448px */
 	min-height:3rem;                /* 48px */
  	padding:0.75rem 1.25rem;        /* 12px 20px */
  	font-size:1.125rem;           	/* 18px */
  	font-weight:600;
	text-decoration:none;
	white-space:normal;
  	background-color:rgba(255, 255, 255, 0.15);
	backdrop-filter:blur(40px) saturate(200%) brightness(1.1);
	-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(1.1);
	color:var(--button-text,#000000);
	border:1px solid rgba(255, 255, 255, 0.4);
	box-shadow:0 2px 4px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.3);
	border-radius:0.75rem;
	cursor:pointer;
	box-sizing:border-box;
	hyphens:auto;
  	margin-bottom:1rem;
	text-align:left;
	line-height:1.3;
	transition:background-color 0.2s ease, border 0.2s ease;
}

.button:hover,button:hover {
	background-color:rgba(255, 255, 255, 0.22);
	border:1px solid rgba(255, 255, 255, 0.55);
}

/* Icons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.icon {
	width:1.25rem;
	height:1.25rem;
	margin-right:0.5rem;
	flex-shrink:0;
}

/* Avatar
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
.avatar {
	width: 4rem;             /* 128px */
	height: 4rem;
	object-fit: cover;
	background-position: center;
	margin-bottom: var(--spacing-l);
  }

   /* Modifier for no avatar rounding */
   .avatar--none {
	border-radius: 0%;
  }

  /* Modifier for rounded avatar */
  .avatar--rounded {
	border-radius: 50%;
  }

  /* Modifier for slightly rounded corners */
  .avatar--soft {
	border-radius: 0.5rem;   /* 8px rounded corners */
  }

/* Theme System
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Light theme is default above */

/* Dark theme */
:root.theme-dark {
	color-scheme:dark;
}
:root.theme-dark :focus-visible {
	outline: 2px solid #4899F7;
	outline-offset: 2px;
}
:root.theme-dark body {
	background:
		radial-gradient(circle at top left, #3d2b4d 0%, transparent 50%),
		radial-gradient(circle at top right, #1e3a3a 0%, transparent 50%),
		radial-gradient(circle at bottom left, #2a2654 0%, transparent 50%),
		radial-gradient(circle at bottom right, #3d3028 0%, transparent 50%),
		#1a1a2e;
	background-attachment:fixed;
	color:#f0f0f0;
}
:root.theme-dark body::before {
	opacity:0.12;
}
:root.theme-dark a:not(.button) {
	color:#7AB8FF;
}
:root.theme-dark a:not(.button):hover {
	color:#a8d4ff;
}
:root.theme-dark .button,
:root.theme-dark button {
	background-color:rgba(255, 255, 255, 0.08);
	backdrop-filter:blur(40px) saturate(180%) brightness(1.05);
	-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(1.05);
	color:#f0f0f0;
	border:1px solid rgba(255, 255, 255, 0.15);
	box-shadow:0 4px 12px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
:root.theme-dark .button:hover,
:root.theme-dark button:hover {
	background-color:rgba(255, 255, 255, 0.14);
	border:1px solid rgba(255, 255, 255, 0.25);
	color:#ffffff;
}
:root.theme-dark footer {
	color:rgba(255, 255, 255, 0.6);
}

/* Auto theme */
:root.theme-auto {
	color-scheme:light dark;
}
@media (prefers-color-scheme:dark) {
	:root.theme-auto body {
		background:
			radial-gradient(circle at top left, #3d2b4d 0%, transparent 50%),
			radial-gradient(circle at top right, #1e3a3a 0%, transparent 50%),
			radial-gradient(circle at bottom left, #2a2654 0%, transparent 50%),
			radial-gradient(circle at bottom right, #3d3028 0%, transparent 50%),
			#1a1a2e;
		background-attachment:fixed;
		color:#f0f0f0;
	}
	:root.theme-auto body::before {
		opacity:0.12;
	}
	:root.theme-auto :focus-visible {
		outline: 2px solid #4899F7;
		outline-offset: 2px;
	}
	:root.theme-auto a:not(.button) {
		color:#7AB8FF;
	}
	:root.theme-auto a:not(.button):hover {
		color:#a8d4ff;
	}
	:root.theme-auto .button,
	:root.theme-auto button {
		background-color:rgba(255, 255, 255, 0.08);
		backdrop-filter:blur(40px) saturate(180%) brightness(1.05);
		-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(1.05);
		color:#f0f0f0;
		border:1px solid rgba(255, 255, 255, 0.15);
		box-shadow:0 4px 12px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
	}
	:root.theme-auto .button:hover,
	:root.theme-auto button:hover {
		background-color:rgba(255, 255, 255, 0.14);
		border:1px solid rgba(255, 255, 255, 0.25);
		color:#ffffff;
	}
	:root.theme-auto footer {
		color:rgba(255, 255, 255, 0.6);
	}
}

/* Button Text Color Override
    –––––––––––––––––––––––––––––––––––––––––––––––––– */
    .button:hover,button:hover {
	color:var(--button-text);
}

/* Responsive Typography
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  @media (max-width:34.375rem) {            /* 550px */
    h1 {
	font-size:1.75rem;                      /* 28px */
	}
	body {
	font-size:0.9rem;                    	/* 14.4px */
	}
	.button,button {
	width:100%;                             /* Full width on mobile */
	max-width:24rem;                        /* But cap at original size */
	font-size:1rem;                         /* 16px */
	padding:0.625rem 1rem;                  /* Slightly tighter padding */
	}
}

/* Privacy Page Styles
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
nav {
	margin:var(--spacing-l) 0;
	text-align:left;
}
section {
	margin:var(--spacing-xl) 0;
	text-align:left;
}
h2 {
	font-size:var(--scale-3);
	font-weight:700;
	margin-bottom:var(--spacing-m);
}
h3 {
	font-size:var(--scale-2);
	font-weight:600;
	margin:var(--spacing-l) 0 var(--spacing-s) 0;
}
ul {
	list-style:none;
	padding:0;
	margin:0 0 var(--spacing-m) 0;
}
ul li {
	margin-bottom:var(--spacing-xs);
}

/* Privacy page specific responsive adjustments */
  @media (max-width:34.375rem) {
	h2 {
	font-size:var(--scale-2);
	}
	h3 {
	font-size:var(--scale-1);
	}
	section {
	margin:var(--spacing-l) 0;
	}
}

/* Font Face Definitions
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:400;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:600;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:700;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:800;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg');
}
