Events
Inffinito Brazilian Film Festival celebrates contemporary Brazilian cinema with film screenings, discussions, and a concert.
By Trae DeLellis
August 30, 2024
Romantic comedy Magal & Magali opens the 28th edition of the Inffinito Brazilian Film Festival.Inffinito Brazilian Film Festival photo
Audio By Carbonatix
`,`
Related
- John Woo's Remake of The Killer Is Dead on Arrival
`,`
Related
- Blink Twice, Zoë Kravitz's Directorial Debut, Is a Style-Over-Substance Film
`,`
Related
- Alien: Romulus Is the Perfect Organism
`,`
Related
- Is Scarface the Quintessential Miami Film?
`,`
Related
- Miami Actress Natalie Martinez Stars Opposite Vince Vaughn in Apple's Bad Monkey
`,`
Related
- Five Horror Classics to See at Popcorn Frights Film Festival
`,`
Related
- What Movies to See in Miami Theaters in August
`,`
Related
- Attention Miami Singles: Love Is Blind Is Now Casting
`,`
Related
- Here’s Our 1996 Review of Twister From the Archives
` ];
Nearly three decades as part of the cultural fabric of Miami, the 28th edition of the Inffinito Brazilian Film Festival brings the best of Brazilian cinema and culture to South Florida. From August 30 through September 7, the festival will celebrate contemporary Brazilian cinema and its creatives with film screenings, discussions, and a concert. With events at O Cinema on Miami Beach, Silverspotdowntown, and the Miami Beach Bandshell, this year's Brazilian Film Festival continues connecting people and cultures.
This year's festival opens Friday, August 30, with the romantic comedy Magal & Magali when real-life singer Sidney Magal falls for Magali, a woman he must win over in 1979. The film follows a co*cktail reception and will feature a post-screening discussion with director Paulo Machline and producer Joana Mariani. Continuing on that theme, the festival features a concert by Brazilian pop icon Fernanda Abreu at the intimate open-air Miami Beach Bandshell on Saturday, August 31. The dual events demonstrate the musical influence on Brazilian culture and promise two unforgettable nights.
The festival returns to O Cinema Miami Beach for the rest of the week with an offering of contemporary Brazilian cinema. Carefully curated by a team of programmers, the nine competitive features screening Sunday through Friday showcase the depth and diversity of Brazilian cinema this year. From the sci-fi-tinged rom-com Traces of Love to the gritty crime drama Great Sertão, the selection of films captures the gamut of emotions.
Female filmmakers are front and center this year with Dandara Ferreira and Lô Polti's My Name Is Gal, Susana Garcia's My Sister and I, and The Sound of Night by Eva Pereira. Films like Aunt Virginia, Heavier Is the Sky, The Highjacking of Flight 375, and Cheers to Life! round out the main program and give a fleshed-out vision of today's Brazilian cinema. One of the festival's greatest attributes is the pairing of a short film to accompany each feature. For those looking for an even more comprehensive catalog of Brazilian cinema, the festival offers an online collection of films.
Turn It Up, It's Rock 'n' Roll is inspired by the true story of Maldita FM, the iconic radio station of Brazilian rock music.
Inffinito Brazilian Film Festival photo
Closing night forms the perfect bookend with a screening of Turn It Up, It's Rock 'n' Roll at Silverspot Cinema. Inspired by the true story of Maldita FM, the iconic radio station of Brazilian rock music, the film tells the story of Luiz as he falls in love with Alice, a married radio host. The screening also serves as a tribute to the film's producer, Renata Almeida Magalhães, and her contributions to Brazilian cinema and culture.
In an ever-increasingly competitive world market, festivals like this one strive to spotlight the creative work of a single country. The founders of Inffinito, Adriana L. Dutra, Claudia Duta, and Viviane B. Spinelli, have crafted one of Miami's most enduring film festivals fueled by "the satisfaction of seeing Brazilian cinema gain recognition both in Brazil and globally." Last year, the Brazilian government passed the Le de Cota del Telas or screen quota law as a guardrail to preserve "the presence of national cinema," and now the work of the Inffinito Brazilian Film Festival expands the reach of this vital commercial cinema the people of Brazil and beyond.
Inffinito Brazilian Film Festival. Friday, August 30, through Saturday, September 7, at various locations; brazilianfilmfestival.com/miami. Tickets cost $25 to $150.
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } // const insertionBlockClass = `fdn-paragraph-insertion-block`; const styleElementHook = `fdn-paragraph-insertion-styles`; jQuery(element).addClass(insertionBlockClass); if (jQuery(`[${styleElementHook}]`).length === 0) { jQuery('div.fdn-content-body, div #storyBody').append('
') const paragraphLineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() const styleElement = jQuery(`
`); const styleText = ` div.fdn-content-body br+.${insertionBlockClass}:not([hidden]), div #storyBody br+.${insertionBlockClass}:not([hidden]) { margin-top: ${paragraphLineHeight*2}px; margin-bottom: ${paragraphLineHeight}px; } div.fdn-content-body br+.${insertionBlockClass}[hidden] > div:last-of-type, div #storyBody br+.${insertionBlockClass}[hidden] > div:last-of-type { margin-bottom: ${paragraphLineHeight*2}px; } ` styleElement.text(styleText); jQuery('head').append(styleElement); } // } } jQuery(element).insertBefore(this.paragraphEndNodes[index]); } else { console.warn('Foundation.ParagraphTool.insertElemenAt: invalid insertion index', index); } } this.insertElemenAtEnd = function (element) { if (this.paragraphEndNodes.length) { let lastNode = this.getNodeAtIndex(this.paragraphEndNodes.length -1); if (this.isDoubleBrParagraphBreak(lastNode) || this.isBrParagraphBreakBeforeBlockElement(lastNode)) { if (jQuery(element).get(0).tagName.match(/SCRIPT/i) !== null) { jQuery('
').insertAfter(this.paragraphEndNodes[index]); jQuery('
').insertAfter(this.paragraphEndNodes[index]); } else { jQuery('div.fdn-content-body, div #storyBody').append('
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } } } } this.bodyContainer.append(element); } this.getNodeAtIndex = function (index) { return this.paragraphEndNodes[index]; } }
`); } var paragraphCount = myParagraphTool.getParagraphEndNodeCount(); // No need to insert if there aren't enough paragaphs if (paragraphCount >= parseInt(item.requiredCountToDisplay)) { // Matches specific paragraph insertion indexes if (item.insertPoint.match(/^\d+$/) !== null) { var insertIndex = parseInt(item.insertPoint) - 1; // Insert within content if (insertIndex < paragraphCount) { myParagraphTool.insertElemenAtIndex(componentElement, insertIndex); } // Append to the end if the insert point is beyond the paragraph count else { myParagraphTool.insertElemenAtEnd(componentElement) } } // Matches for 1/2, 1/4, 2/3, 5/6, etc else if (item.insertPoint.match(/^[1223456]\/[23456]$/) !== null) { var fractionMatch = new RegExp(/^([123456])(?:\/)([23456]$)/); var fractionPart = parseInt(item.insertPoint.match(fractionMatch)[1]); var fractionWhole = parseInt(item.insertPoint.match(fractionMatch)[2]); var fractionValue = fractionPart / fractionWhole; var fractionIndex = Math.floor(myParagraphTool.paragraphEndNodes.length * fractionValue) - 1; myParagraphTool.insertElemenAtIndex(componentElement, fractionIndex); } // Matches for every Nth insertion point else if (item.insertPoint.match(/^\d*th$/i) !== null) { var intervalIndex = parseInt(item.insertPoint.match(/^(\d*)th$/i)[1]); var startingIndex = parseInt(item.startingPoint) - 1; var insertionMax = parseInt(item.maxInsertions) || 100; var insertionCount = 0; for (var i = startingIndex; i < myParagraphTool.paragraphEndNodes.length && insertionCount < insertionMax; i++) { if ((i - startingIndex) % intervalIndex === 0) { let currentNode = myParagraphTool.getNodeAtIndex(i); const clonedComponent = componentElement.clone(); myParagraphTool.insertElemenAtIndex(clonedComponent, i); insertionCount++; } } } } }); Foundation.Content['21153746'].setupInlineComponents = function () { return true; }; if (typeof callback === 'function') { callback(); } }, 200); } Foundation.Content['21153746'].previewInsertionPoints = function () { var myParagraphTool = Foundation.Content['21153746'].paragraphTool myParagraphTool.paragraphEndNodes.each((index, item) => { const insertionPointPlaceholder = jQuery(`
`) myParagraphTool.insertElemenAtIndex(insertionPointPlaceholder, index); }); return 'Paragraph insertion placeholders applied.'; }