

/* ========================
   Universal Selector Setup 
   ======================== */

/* Target all tags except for the first one */
tag:not(:first-of-type) { /* Styles here */ }

/* Target a specific index (nth-child starts from 1, not 0) */
tag:nth-of-type(1) { /* Styles here */ }

/* Target the last element of a type */
tag:last-of-type { /* Styles here */ }

/* Target even or odd elements */
tag:nth-of-type(even) { /* Styles here */ }
tag:nth-of-type(odd) { /* Styles here */ }

/* Target the first child of any type */
tag:first-child { /* Styles here */ }

/* Target the last child of any type */
tag:last-child { /* Styles here */ }

/* Target elements with a specific attribute */
[tag-name] { /* Styles for all elements with the attribute "tag-name" */ }

/* Target elements with an attribute value */
[tag-name="value"] { /* Styles for elements where the attribute "tag-name" equals "value" */ }

/* Target elements with a partial attribute value */
[tag-name*="value"] { /* Styles for elements where "value" is part of the attribute value */ }

/* Target elements with an attribute starting with a value */
[tag-name^="value"] { /* Styles for elements where the attribute value starts with "value" */ }

/* Target elements with an attribute ending with a value */
[tag-name$="value"] { /* Styles for elements where the attribute value ends with "value" */ }

/* Target elements with an attribute containing a space-separated word */
[tag-name~="value"] { /* Styles for elements where "value" is a whole word in the attribute */ }

/* Target elements with a specific attribute and value within a list */
[tag-name|="value"] { /* Styles for elements with an attribute value that starts with "value" or is exactly "value" */ }

/* Target specific child combinations */
parent > child { /* Styles for direct children only */ }

ancestor descendant { /* Styles for all descendants, not just direct children */ }

sibling + sibling { /* Styles for the immediate next sibling */ }

sibling ~ sibling { /* Styles for all subsequent siblings */ }

@font-face {
    font-family: "Montserrat-Bold";
    src:  url("fonts/Montserrat-Bold.ttf") format("truetype");
}
@font-face {
    font-family: "Montserrat-Regular";
    src:  url("fonts/Montserrat-Regular.ttf") format("truetype");
}
@font-face {
    font-family: "Nunito-Light";
    src:  url("fonts/Nunito-Light.ttf") format("truetype");
}
@font-face {
    font-family: "Nunito-Medium";
    src:  url("fonts/Nunito-Medium.ttf") format("truetype");
}
@font-face {
    font-family: "Poppins-Bold";
    src:  url("fonts/Poppins-Bold.ttf") format("truetype");
}
@font-face {
    font-family: "Poppins-Regular";
    src:  url("fonts/Poppins-Regular.ttf") format("truetype");
}
@font-face {
    font-family: "Teko-Bold";
    src:  url("fonts/Teko-Bold.ttf") format("truetype");
}
@font-face {
    font-family: "Teko-Regular";
    src:  url("fonts/Teko-Regular.ttf") format("truetype");
}
@font-face {
    font-family: "DimeBoNFW0Regular";
    src:  url("fonts/DimeBoNFW0Regular.woff2") format("woff2");
}


:root {
	/* Shadows */
	--box-shadow-sm: 11px 20px 19px rgba(7, 6, 6, 0.3);
	--box-shadow-md: 0px 0px 48px rgba(0, 0, 0, 0.1);
	--box-shadow-lg: 5px 3px 6px rgba(0, 0, 0, 0.7);
	/* Fonts */ 

    --font-Montserrat-Bold: "Montserrat-Bold", sans-serif;
    --font-Montserrat-Regular: "Montserrat-Regular", sans-serif;
    --font-Nunito-Light: "Nunito-Light", sans-serif;
    --font-Nunito-Medium: "Nunito-Medium", sans-serif;
    --font-Poppins-Bold: "Poppins-Bold", sans-serif;
    --font-Teko-Bold: "Teko-Bold", sans-serif;
    --font-Teko-Regular: "Teko-Regular", sans-serif;
    --font-Poppins-Regular: "Poppins-Regular", sans-serif;
    --font-DimeBoNFW0Regular: "DimeBoNFW0Regular", sans-serif;

	/* Transitions */
	--transition-fast: 0.3s ease-in-out;
	--transition-slow: 0.5s ease-in-out;
}