/*=================================================
=            CSS Base and Reset styles            =
=================================================*/

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

@font-face {
  font-family: 'Editors Note';
  src: url('/wp-content/themes/rm-basetheme/css/fonts/EditorsNote-Regular.ttf') format('truetype');
  font-weight: var(--fw-regular);
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Editors Note';
  src: url('/wp-content/themes/rm-basetheme/css/fonts/EditorsNote-Italic.ttf') format('truetype');
  font-weight: var(--fw-regular);
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Editors Note';
  src: url('/wp-content/themes/rm-basetheme/css/fonts/EditorsNote-Medium.ttf') format('truetype');
  font-weight: var(--fw-medium);
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Editors Note';
  src: url('/wp-content/themes/rm-basetheme/css/fonts/EditorsNote-MediumItalic.ttf') format('truetype');
  font-weight: var(--fw-medium);
  font-style: italic;
  font-display: swap;
}

body {
	font-size: 15px;
	line-height: 1.67em;
	font-weight: var(--fw-regular);
	color: var(--default-color);
	font-family: var(--default-font);
	min-width: 320px;
	text-align: left;
	margin: 0;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

p {
	margin: 0 0 1em;
}

figure {
	margin: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
h6 {
	font-family: var(--secondary-font);
	color: var(--primary-color);
	font-weight: var(--fw-regular);
	text-wrap: balance;
}

h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
h6 {
	margin-top: 1em;
	margin-bottom: .5em;
	line-height: 1em;
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
	>sup {
		font-size: .65em;
	}
}

.hdng {
	font-family: var(--secondary-font);
}

h1,
.h1 {
	font-size: 38px;
	line-height: 1.1em;
	font-style: italic;
	text-align: center;

	/* Tablet Styles */
	@media (width >= 768px) {
		font-size: 55px;
	}

	/* Desktop Styles */
	@media (width >= 1024px) {
		font-size: 60px;
	}
}

h2,
.h2 {
	font-size: 34px;
	line-height: 1.06em;
	font-style: normal;
	/* Tablet Styles */
	@media (width >= 768px) {
		font-size: 38px;
		line-height: 1.05em;
	}

	/* Desktop Styles */
	@media (width >= 1024px) {
		font-size: 42px;
	}
}

h3,
.h3 {
	font-size: 20px;
	line-height: 1.1em;
	font-family: var(--primary-font);
	color: var(--secondary-color);
	font-weight: var(--fw-medium);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	/* Tablet Styles */
	@media (width >= 768px) {
		font-size: 22px;
	}

	/* Desktop Styles */
	@media (width >= 1024px) {
		font-size: 24px;
		line-height: 1.08em;
	}
}

h4,
.h4,
h5,
h6 {
	font-size: 16px;
	line-height: 1.25em;
	font-family: var(--primary-font);
	font-weight: var(--fw-medium);
	color: var(--secondary-color);
	text-transform: uppercase;
	letter-spacing: 0.05em;

	/* Tablet Styles */
	@media (width >= 768px) {
		font-size: 18px;
		line-height: 1.11em;
	}

	/* Desktop Styles */
	@media (width >= 1024px) {
		font-size: 20px;
		line-height: 1.1em;
	}
}

a {
	color: var(--primary-color);
	transition: all 0.3s;
	text-decoration: underline;
	font-weight: var(--fw-bold);

	&:hover {
		color: var(--primary-alt);
	}

	&:focus {
		outline: none;
		text-decoration: none;
	}

	sup,
	sub {
		display: inline-block;
	}
}

img {
	display: block;
	max-width: 100%;
}

ul,
ol {
	margin: 1em 0;
	padding: 0;
}

li {
	list-style-position: inside;
}

dd {
	margin: 0 0 0 40px;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

dl,
dt {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

.skipto {
	display: block;
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

#error_txt {
	padding-bottom: 100px;
}

section {
	padding: 20px;

	/* Tablet Styles */
	@media (width >= 768px) {
		padding: 20px 40px;
	}

	/*
@media (width >= 1024px) {
		padding: 20px calc(40px + (50vw - (var(--desktop) / 2)));
	} */
	/* Full Screen Styles */
	@media (width >= 1500px) {
		padding: 20px calc(40px + (50vw - (var(--full) / 2)));
	}
}

.contain,
.section-contain {
	padding: 0 20px;

	/* Tablet Styles */
	@media (width >= 768px) {
		padding: 0 40px;
	}

	/*
@media (width >= 1024px) {
		padding: 0 calc(40px + (50vw - (var(--desktop) / 2)));
	} */
	/* Full Screen Styles */
	@media (width >= 1500px) {
		padding: 0 calc(40px + (50vw - (var(--full) / 2)));
	}
}


/* ***************************************** */
/* --------------- Layouts ----------------- */
/* ***************************************** */


/* -----------------------
	Basic layout
----------------------- */

.container,
.container-full {
	position: relative;
}

.container {
	max-width: var(--desktop);
	margin: 0 auto;
	text-align: left;
}