<!DOCTYPE html><!-- Last Published: Tue Feb 04 2025 15:00:16 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="%%PUBLISH_URL_REPLACEMENT%%" data-wf-page="657753793ea3993306ad9607" data-wf-site="6391c0af21c27966e0a10682" lang="en"><head><meta charset="utf-8"/><title>Not Found</title><meta content="Not Found" property="og:title"/><meta content="Not Found" property="twitter:title"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/css/studio-rodrigo-staging.3146300ac.min.css" rel="stylesheet" type="text/css"/><style>@media (max-width:767px) and (min-width:480px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b35"] {display:none;opacity:0;}html.w-mod-js:not(.w-mod-ix) [data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b3b"] {opacity:0;}html.w-mod-js:not(.w-mod-ix) [data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b42"] {opacity:0;}}@media (max-width:479px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b35"] {display:none;opacity:0;}html.w-mod-js:not(.w-mod-ix) [data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b3b"] {opacity:0;}html.w-mod-js:not(.w-mod-ix) [data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b42"] {opacity:0;}}</style><script src="https://use.typekit.net/luc0ndm.js" type="text/javascript"></script><script type="text/javascript">try{Typekit.load();}catch(e){}</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5655458baba5a68482f2f_Favicon-32.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5651532910a7157d77b84_Favicon-256.png" rel="apple-touch-icon"/><!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-W7MS2CBX');</script>
<!-- End Google Tag Manager -->
<style>
* {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</style>
<script>
window.markerConfig = {
project: '639fbf363b8d817b4037e8cc',
source: 'snippet'
};
</script>
<script>
!function(e,r,a){if(!e.__Marker){e.__Marker={};var t=[],n={__cs:t};["show","hide","isVisible","capture","cancelCapture","unload","reload","isExtensionInstalled","setReporter","setCustomData","on","off"].forEach(function(e){n[e]=function(){var r=Array.prototype.slice.call(arguments);r.unshift(e),t.push(r)}}),e.Marker=n;var s=r.createElement("script");s.async=1,s.src="https://edge.marker.io/latest/shim.js";var i=r.getElementsByTagName("script")[0];i.parentNode.insertBefore(s,i)}}(window,document);
</script>
</head><body class="background-color-black"><div class="page-wrapper is-404"><div class="global-styles w-embed"><style>
/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
margin-top: 0 !important;
}
/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
margin-bottom: 0 !important;
}
/*
Make the following elements inherit typography styles from the parent and not have hardcoded values.
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
color: inherit;
text-decoration: inherit;
font-size: inherit;
}
*/
/* Prevent all click and hover interaction with an element */
.pointer-events-off {
pointer-events: none;
}
/* Enables all click and hover interaction with an element */
.pointer-events-on {
pointer-events: auto;
}
/* Snippet enables you to add class of div-square which creates and maintains a 1:1 dimension of a div.*/
.div-square::after {
content: "";
display: block;
padding-bottom: 100%;
}
/*Hide focus outline for main content element*/
main:focus-visible {
outline: -webkit-focus-ring-color auto 0px;
}
/* Make sure containers never lose their center alignment*/
.container-medium, .container-small, .container-large {
margin-right: auto !important;
margin-left: auto !important;
}
/*Reset selects, buttons, and links styles*/
.w-input, .w-select, a {
color: inherit;
text-decoration: inherit;
font-size: inherit;
}
/*Apply "..." after 3 lines of text */
.text-style-3lines {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
/* Apply "..." after 2 lines of text */
.text-style-2lines {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
/* Apply "..." at 100% width */
.truncate-width {
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Removes native scrollbar */
.no-scrollbar {
-ms-overflow-style: none; // IE 10+
overflow: -moz-scrollbars-none; // Firefox
}
.no-scrollbar::-webkit-scrollbar {
display: none; // Safari and Chrome
}
/* Adds inline flex display */
.display-inlineflex {
display: inline-flex;
}
/* These classes are never overwritten */
.hide {
display: none !important;
}
@media screen and (max-width: 991px) {
.hide, .hide-tablet {
display: none !important;
}
}
@media screen and (max-width: 767px) {
.hide-mobile-landscape{
display: none !important;
}
}
@media screen and (max-width: 479px) {
.hide-mobile{
display: none !important;
}
}
.margin-0 {
margin: 0rem !important;
}
.padding-0 {
padding: 0rem !important;
}
.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}
.margin-top {
margin-right: 0rem !important;
margin-bottom: 0rem !important;
margin-left: 0rem !important;
}
.padding-top {
padding-right: 0rem !important;
padding-bottom: 0rem !important;
padding-left: 0rem !important;
}
.margin-right {
margin-top: 0rem !important;
margin-bottom: 0rem !important;
margin-left: 0rem !important;
}
.padding-right {
padding-top: 0rem !important;
padding-bottom: 0rem !important;
padding-left: 0rem !important;
}
.margin-bottom {
margin-top: 0rem !important;
margin-right: 0rem !important;
margin-left: 0rem !important;
}
.padding-bottom {
padding-top: 0rem !important;
padding-right: 0rem !important;
padding-left: 0rem !important;
}
.margin-left {
margin-top: 0rem !important;
margin-right: 0rem !important;
margin-bottom: 0rem !important;
}
.padding-left {
padding-top: 0rem !important;
padding-right: 0rem !important;
padding-bottom: 0rem !important;
}
.margin-horizontal {
margin-top: 0rem !important;
margin-bottom: 0rem !important;
}
.padding-horizontal {
padding-top: 0rem !important;
padding-bottom: 0rem !important;
}
.margin-vertical {
margin-right: 0rem !important;
margin-left: 0rem !important;
}
.padding-vertical {
padding-right: 0rem !important;
padding-left: 0rem !important;
}
@media screen and (min-width: 1440px) {
.collection-list.masonry{
margin-right: -1.25rem !important;
margin-left: -1.25rem !important;
}
}
.padding-top-0 {
padding-top: 0px !important;
}
.padding-bottom-0 {
padding-bottom: 0px !important;
}
.vimeo-embed {
pointer-events: none;
}
.project-video-embed {
pointer-events: none;
}
</style></div><a id="skip-link" href="#" class="skip-link w-inline-block"><div>Skip to Main</div></a><nav class="navigation-black is-about"><div class="navigation-wrapper"><a href="/" class="brand-link w-inline-block"><img src="https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63923c7322e79527276f7b82_Brand-White.svg" loading="lazy" alt="Logo" class="icon-brand"/></a><div class="navbar-menu is-mobile-align-right"><a href="/work" class="nav-item is-white is-mobile-hide">Work</a><a href="/about" class="nav-item is-white is-mobile-hide">About</a><a href="/contact" class="nav-item is-white is-mobile-hide">Contact</a><a data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b33" href="#" class="nav-item is-white is-mobile-menu">Menu</a></div></div><div data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b35" class="mobile-menu-wrapper"><div class="mobile-top-navigation"><a href="/" class="brand-link w-inline-block"><img src="https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/639c34cab98da120abfeed9f_Rodrigo-White.svg" loading="lazy" alt="Logo" class="icon-brand"/></a><a data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b39" href="#" class="nav-item is-white">Close</a></div><div data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b3b" class="mobile-menu"><a href="/work" class="nav-mobile-item">Work</a><a href="/about" class="nav-mobile-item">About</a><a href="/contact" class="nav-mobile-item">contact</a></div><div data-w-id="4e7f81ac-0666-7edb-dd19-33b37fbb7b42" class="mobile-down-navigation"><div class="footer-menu"><a href="/archive" class="footer-item is-white">Archive</a><a href="/posts" class="footer-item is-white">Posts</a><a href="/alumni" class="footer-item is-white">Alumni</a><a href="/ephemera" class="footer-item is-white">Misc ↓</a></div></div></div></nav><main id="main" class="main-wrapper is-case-footer-animation"><header class="section-404"><div class="padding-global"><div class="container-large"><div class="_404-wrapper"><h1 class="heading-56">Oops! We can’t find that page.</h1><p class="text-size-xxlarge">404</p><a href="/" class="button w-button">Back to homepage</a></div></div></div></header></main><footer class="footer background-color-black"><div class="padding-global"><div class="container-large"><div class="footer-bottom-wrapper"><div class="text-size-medium">© <span class="footer-year">2022</span> Studio Rodrigo</div><div class="footer-menu"><a href="/archive" class="footer-item is-white">Archive</a><a href="/posts" class="footer-item is-white">Posts</a><a href="/alumni" class="footer-item is-white">Alumni</a><a data-w-id="1bf34666-50a4-cc06-c7c1-33e2f800bf84" href="#" class="misc-button is-white w-inline-block"><div style="border-color:rgba(0,0,0,0)" class="misc-text">Misc</div><div style="-webkit-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0deg) rotateY(null) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0deg) rotateY(null) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0deg) rotateY(null) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0deg) rotateY(null) rotateZ(0) skew(0, 0);transform-style:preserve-3d" class="arrow">↓</div></a></div></div></div></div></footer></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6391c0af21c27966e0a10682" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/js/studio-rodrigo-staging.d632434f.5d7bd7bb0e4e9c36.js" type="text/javascript"></script><script src="https://player.vimeo.com/api/player.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/ScrollTrigger.min.js"></script>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W7MS2CBX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script>
//Initialise player variable
let player;
// Initialises the array to store all player instances
const players = [];
// Function to create player instances
const createPlayer = (element, options) => {
// Create player instance
const player = new Vimeo.Player(element, options);
/*
Code that governs the mute/unmute buttons
- Checks if the element has an element with the class '.vimeo-unmute-button'
- Very important that the order of the elements is not modified here.
*/
let hasUnmuteBtn;
const nextElement = element.parentNode.nextElementSibling;
if (nextElement && nextElement.querySelector('.vimeo-unmute-button')) {
hasUnmuteBtn = nextElement.querySelector('.vimeo-unmute-button');
} else {
hasUnmuteBtn = null;
}
if (hasUnmuteBtn){
let grandParent = element.parentNode.nextElementSibling.querySelector('.video-controls_mute-unmute');
const vimeoButtonUnmute = grandParent.querySelector('.vimeo-unmute-button');
const vimeoButtonMute = grandParent.querySelector('.vimeo-mute-button');
//If the buttons exist on the page, then set up their hide/show/on/off functionality.
if (vimeoButtonMute && vimeoButtonUnmute){
//Shows the unmute btn & hides the mute btn
const showUnmuteButton = () => {
vimeoButtonUnmute.style.display = 'flex';
vimeoButtonMute.style.display = 'none';
};
//Shows the mute btn & hides the unmute btn
const showMuteButton = () => {
vimeoButtonMute.style.display = 'flex';
vimeoButtonUnmute.style.display = 'none';
};
//Func that runs when the unmute btn is clicked: unmutes the video & shows the mute btn.
const onUnmuteButtonClick = () => {
player.setMuted(false);
showMuteButton();
};
//Func that runs when the mute btn is clicked: mutes the video & shows the unmute btn.
const onMuteButtonClick = () => {
player.setMuted(true);
showUnmuteButton();
};
// Two event listeners for clicks on each of the btns. Trigger the two click functions defined above.
vimeoButtonUnmute.addEventListener("click", onUnmuteButtonClick);
vimeoButtonMute.addEventListener("click", onMuteButtonClick);
}
}
/*
Code that governs the fullscreen options
- Checks if the element has a parent that has a last element sibling with the class 'vimeo-fullscreen-button'
- Very important that the order of the elements is not modified here.
*/
const hasFullscreenSibling = element.parentNode.parentNode.querySelector('.vimeo-fullscreen-button');
if (hasFullscreenSibling){
const fullscreenButton = hasFullscreenSibling;
const closeFullscreenButton = fullscreenButton.nextElementSibling
/* Event listener for when fullscreen changes, if entering fullscreen, this does nothing and
passes the code off to the fullscreen button click event listener below.
If leaving fullscreen, this assumes the audio will continue to play, so it switches the
position of the unmute/mute buttons so they make logical sense, i.e. the mute button is shown.
*/
document.addEventListener('fullscreenchange', (event) => {
if (document.fullscreenElement) {
return
} else if (!document.fullscreenElement) {
const vimeoButtonUnmute = document.querySelector('.vimeo-unmute-button');
const vimeoButtonMute = document.querySelector('.vimeo-mute-button');
vimeoButtonUnmute.style.display = 'none';
vimeoButtonMute.style.display = 'flex';
}
});
fullscreenButton.addEventListener('click', (e) => {
player.requestFullscreen().then(function() {
const iframeParent = e.target.parentNode
const iframe = iframeParent.firstElementChild.firstElementChild
// Change the audio status to unmute.
player.setMuted(false);
}).catch(function(error) {
// an error occurred
console.log("Error: " + error)
});
});
}
player.pause();
// Stores the player instance in the players array
players.push(player);
//Check if the element has a class called 'manual-play-pause'
if (element.classList.contains('manual-play-pause')){
// Set autoplay to false
player.setAutopause(false);
// Set muted to true
player.setMuted(true);
// get the play button and pause button elements
const playBtn = element.parentNode.parentNode.querySelector('.vimeo-play-btn');
const pauseBtn = element.parentNode.parentNode.querySelector('.vimeo-pause-btn');
// Wait for the player to be loaded
player.on('loaded', function() {
// Play Button Event Listener
playBtn.addEventListener('click', () => {
// play the video
player.play().then(function() {
player.setMuted(false);
});
// hide the play button
playBtn.style.display = 'none';
// show the pause button
pauseBtn.style.display = 'flex';
});
});
// Pause Button Event Listener
pauseBtn.addEventListener('click', () => {
// pause the video
player.pause();
player.setMuted(true);
// hide the pause button
pauseBtn.style.display = 'none';
// show the play button
playBtn.style.display = 'flex';
});
} else {
// Sets up ScrollTrigger for the element - outlines all the options
gsap.registerPlugin(ScrollTrigger);
ScrollTrigger.create({
trigger: element,
start: "top 75%",
end: "bottom 25%",
markers: false,
onEnter: () => player.play(),
onLeave: () => player.pause(),
onEnterBack: () => player.play(),
onLeaveBack: () => player.pause(),
});
}
};
// Selects all video elements on the page
const vimeoVideos = document.querySelectorAll(".vimeo-video");
// Creates a player instance for each video, sets the options and passes them to the player.
vimeoVideos.forEach((video) => {
// Vimeo player options for each video - uses data-url attribute to pass the specific video url.
const vimeoOptions = {
url: video.dataset.url,
muted: true,
autoplay: false,
loop: true
};
createPlayer(video, vimeoOptions);
});
</script>
<script>
/*
When an element with the class .video-embed is hovered over by the user, IF it has a sibling element with the class
'vimeo-controls', animate that class into view. When hovered away, animate that class out of view.
*/
const videoEmbeds = document.querySelectorAll('.video-embed');
videoEmbeds.forEach(videoEmbed => {
const vimeoControls = videoEmbed.nextElementSibling;
if (vimeoControls && vimeoControls.classList.contains('vimeo-controls')) {
const tl = gsap.timeline({paused: true});
tl.fromTo(vimeoControls, {
display: 'none',
opacity: 0
}, {
display: 'flex',
opacity: 1,
duration: 0.4
});
videoEmbed.addEventListener('mouseenter', () => {
tl.play();
});
videoEmbed.addEventListener('mouseleave', (event) => {
if (!event.relatedTarget || !vimeoControls.contains(event.relatedTarget)) {
tl.reverse();
}
});
}
});
</script>
<!-- Dynamic Footer Year -->
<script>
Webflow.push(function() {
$('.footer-year').text(new Date().getFullYear());
});
</script>
<script>
const html = document.querySelector("html");
const madeBy = document.createComment(" BUILT BY BETTER MISTAKES - BETTERMISTAKES.COM ");
document.insertBefore(madeBy, html);
</script>
<script>
/************************************************
Variables & Arrays
*************************************************/
// Arrays - Corresponding to each character & the defaults.
const rArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45164a994fbe148dd8_R_2.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f465af55d45479cf765_R_7.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f466b0a24588994c31e_R_6.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f46f70e343c378d6f1b_R_5.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f456b0a24f92694c31d_R_4.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f4533943e105f44e4ae_R_1.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f4543c5476509cb3d7a_R_3.svg"]
const oArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f456b0a24014994c31b_O_7.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f453eb659b33a283a23_O_9.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f453eb6593100283a22_O_8.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45c6cf6a77ebb16b35_O_4.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f455810581359e3a6a4_O_6.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f4543c54751f4cb3d79_O_3.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f4512ec1c7c128ab15a_O_5.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45f666f0acb8abbe1e_O_2.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45690e4a65f4a874dd_O_1.svg"]
const dArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f4543c54784aacb3d77_D_3.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45c33dfc7b696a586a_D_4.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45c6cf6a2630b16b26_D_5.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f446b0a24243b94c31a_D_2.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f44f6ec2ad2f13accc1_D_1.svg"]
const iArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45b9baec4169ca47ea_I_5.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45b9baecdfdfca47e8_I_4.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f4512ec1c8e8a8ab158_I_2.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f45650eb07bcc82d6d9_I_3.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f4482526481b59a94b1_I_1.svg"]
const gArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f44415c66877b4948c7_G_4.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f44403e4c502f265d3b_G_3.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f4430f9613b9319da21_G_2.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c18f443eb659c3d6283a21_G_1.svg"]
const defaults = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875d4177627e2d29e69a_R.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875bf4a7f8241bbc2096_O.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875b3486b63c4a44475f_D.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875b33943e0bc0446002_G.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875b403e4c341f25d9cf_I.svg"]
//Arrays with all symbols and default font characters.
const rFArr = rArr.concat("https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875d4177627e2d29e69a_R.svg");
const oFArr = oArr.concat("https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875bf4a7f8241bbc2096_O.svg");
const dFArr = dArr.concat("https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875b3486b63c4a44475f_D.svg");
const iFArr = iArr.concat("https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875b403e4c341f25d9cf_I.svg");
const gFArr = gArr.concat("https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c1875b33943e0bc0446002_G.svg");
// White SVG Arrays - Corresponding to each character & the defaults.
const rWArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5625e739f8d61a5ba578c_letter-R-Flowers.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5625ea9b6a0728e89ca4e_letter-R-Starburst.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5625d8ec26458f7650b6e_letter-R-Circle%20Blend.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5625d2378568dda704ca4_letter-R-Medium%20Dots.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5625d8c9bf2c01806654e_letter-R-Simple%20Filled%20Shapes.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5625df6343e8d42a27c41_letter-R-Clouds.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5625d32910a50d5d74c75_letter-R-Maze.svg"]
const oWArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622de9a211ae2e9ce868_letter-O-Cursors.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622d23785684677045d1_letter-O-Venn.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622d739f8d6f62ba5632_letter-O-Flowers.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622d7ae2254e1d6662d1_letter-O-Wavy.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622d9bcbb43ecf9eacc0_letter-O-Blur.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622d73b2b68248e93387_letter-O-Clouds.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622d3b2b764cf4c37fc9_letter-O-Square%20Negative.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622d965a123273a95362_letter-O-Starburst.svg"]
const dWArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c561f6e76650309df4e509_letter-D-Clouds.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c561f683c05e3b8d6ecd15_letter-D-Flowers.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c561f6d4a4c3da674b29c8_letter-D-Semicircles.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c561f55cdbb21da030e6a3_letter-D-Large%20Dots.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c561f586cd789ad688ae7f_letter-D-Simple%20Outlined%20Shapes.svg"]
const iWArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5621a9f1b45d182d5fce3_letter-I-Simple%20Outlined%20Shapes.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c56218ce5aa2124ef17dfe_letter-I-Flowers.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c56218ad4d63575b0d6ecc_letter-I-Starburst.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c562188cd0756df5277eca_letter-I-Maze.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c56218d06f10836c890142_letter-I-Clouds.svg"]
const gWArr = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5620bf6343e816fa2735e_letter-G-Simple%20Outlined%20Shapes.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5620bd3f6693a8e7f7560_letter-G-Maze.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5620b965a124e1ea95250_letter-G-Flowers.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5620b7ae22524fe666172_letter-G-Circle%20Blend.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5620be76650634df4e778_letter-G-Clouds.svg"]
const Wdefaults = ["https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5625d72da9e2e3534ac15_letter-R-Default.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5622de9a211284d9ce869_letter-O-Default.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c56218f8fb9d4be95cd9a1_letter-I-Default.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c5620b99f3af760f7b3e92_letter-G-Default.svg", "https://cdn.prod.website-files.com/6391c0af21c27966e0a10682/63c561f572da9e34cc34a17b_letter-D-Default.svg"]
// An Array of each of the non-default symbol arrays.
const arrOfArrays = [rArr, oArr, dArr, iArr, gArr]
// An Array of each of the full arrays.
const arrOfFArrays = [rFArr, oFArr, dFArr, iFArr, gFArr]
// Array of the element ids written as strings.
const arrOfIds = ['r1', 'o1', 'd1', 'r2', 'i1', 'g1', 'o2'];
// Mega array of all symbols and characters
let megaArray = [];
for (let i=0; i<arrOfFArrays.length; i++){
megaArray = megaArray.concat(arrOfFArrays[i]);
}
const footerSymbols = document.querySelectorAll('.f-symbol');
// Preset Delay variables - Change at will - Time in seconds.
var delayGlobal = 0.2;
var delaySlower = 0.4;
var delayFaster = 0.1;
var delayNone = 0;
// Preset Duration ranges - Change at will - Time in seconds.
var durationStandard = randomDuration(100,300);
var durationSlower = randomDuration(500,800);
var durationFaster = randomDuration(30,80);
var durationHugeVariation = randomDuration(30,2000);
</script>
<script src="https://cdn.jsdelivr.net/gh/bettermistakes/studio-rodrigo@remove-variables/animation-code.js" type="text/javascript"></script>
<!-- Skip-to-main script -->
<script>
$(document).ready(function () {
$('#skip-link').on('click keydown', function(e) {
if (e.type === "keydown" && e.which !== 13) {
return;
}
e.preventDefault();
var target = $('#main');
target.attr('tabindex', '-1');
target.focus();
});
});
</script>
<script>
//Footer Animation
let div1 = document.getElementById("footer-fixed-wrapper");
let div2 = document.getElementById("footer-animation-spacer");
div2.style.height = div1.offsetHeight + "px";
</script>
<script>
//Hero Image & Video Animation
let m1 = document.getElementById("multimedia-animation");
let spacer = document.getElementById("multimedia-animation-spacer");
spacer.style.height = m1.offsetHeight + "px";
</script>
<script>
//Misc Page Launching Animation
document.querySelector('.misc-button').addEventListener('click', function() {
setTimeout(function() {
window.location.href = 'https://www.studiorodrigo.com/ephemera';
}, 700);
});
</script>
<script>
//Misc Page Before Launching Animation
$('.misc-button').on('click', function() {
$('.before-misc-animation').click();
});
</script>
<!-- Beggining of Vimeo Autplay and Mute -->
<script>
/*
var player = new Vimeo.Player($("#vimeo-video")[0]);
$("[vimeo=unmute]").click(function() {
player.setMuted(false);
});
$("[vimeo=mute]").click(function() {
player.setMuted(true);
});
$("[vimeo=play]").click(function() {
player.play();
});
$("[vimeo=pause]").click(function() {
player.pause();
});
*/
</script>
<!-- End of Vimeo Autplay and Mute --></body></html>