diff --git a/src/Components/Firulas.js b/src/Components/Firulas.js
index 6a368a11cf553166280ec8d85dd9ede03562e781..c195149913060e3c8b544a2d1dba0a871444fbad 100644
--- a/src/Components/Firulas.js
+++ b/src/Components/Firulas.js
@@ -1,36 +1,34 @@
-import React, {useState} from 'react'
+import React, { useState } from 'react'
 import styled from 'styled-components'
 import Rating from '@material-ui/lab/Rating';
 import StarBorderIcon from '@material-ui/icons/StarBorder';
-import {LikeCounter, ButtonNoWidth} from '../Components/ResourceCardFunction.js'
+import { LikeCounter, ButtonNoWidth } from '../Components/ResourceCardFunction.js'
 import FavoriteIcon from '@material-ui/icons/Favorite';
-import {putRequest} from './HelperFunctions/getAxiosConfig'
+import { putRequest } from './HelperFunctions/getAxiosConfig'
 
-export default function Firulas (props) {
+export default function Firulas(props) {
     const [liked, setLiked] = useState(props.liked)
 
-    function handleSuccess (data) {
+    function handleSuccess(data) {
+        console.log(data);
         setLiked(!liked)
     }
-    const handleLike = () => {
-        putRequest(`/learning_objects/${props.recursoId}/like/`, {}, handleSuccess, (error) => {console.log(error)})
-    }
 
     return (
         <ConteinerFirulas>
             <Rating
-              name="customized-empty"
-              value={props.rating*10}
-              precision={0.5}
-              readOnly
-              style={{color:"#666", marginRight : "20px"}}
-              emptyIcon={<StarBorderIcon fontSize="inherit" />}
+                name="customized-empty"
+                value={props.rating * 10}
+                precision={0.5}
+                readOnly
+                style={props.contrast === "" ? { color: "#666", marginRight: "20px" } : { color: "yellow", marginRight: "20px" }}
+                emptyIcon={<StarBorderIcon fontSize="inherit" />}
             />
-            <LikeCounter style={{marginLeft : "-3px", display : "flex", alignItems : "center"}}>
-                <span>{props.likesCount}</span>
+            <LikeCounter style={{ marginLeft: "-3px", display: "flex", alignItems: "center" }}>
+                <span style={props.contrast === "" ? { color: "#666" } : { color: "white" }} >{props.likesCount}</span>
 
-                <ButtonNoWidth onClick={handleLike}>
-                    <FavoriteIcon style={{color : liked ? "red" : "#666" }}/>
+                <ButtonNoWidth disabled={true}>
+                    <FavoriteIcon style={{ color: liked ? "red" : props.contrast === "" ? "#666" : "white" }} />
                 </ButtonNoWidth>
 
             </LikeCounter>
diff --git a/src/Components/ResourceCardFunction.js b/src/Components/ResourceCardFunction.js
index 62aa64614e3427ad4f9617f1ac6ce3daf956ce28..edc957a0f3c60886db5ec9a553b09e400eff8163 100644
--- a/src/Components/ResourceCardFunction.js
+++ b/src/Components/ResourceCardFunction.js
@@ -286,7 +286,6 @@ export const ButtonNoWidth = styled(Button)`
     min-width : 24px !important;
     max-height : 24px !important;
     padding : 0 !important;
-    background-color : #fff !important;
     color : #a5a5a5 !important;
     border : 0 !important;
 
diff --git a/src/Components/ResourcePageComponents/Footer.js b/src/Components/ResourcePageComponents/Footer.js
index 98e7fcd119baab3a54029a86ada0860dc0526dd8..021001b7b188c06109d7853ae7b0828bb426bb6c 100644
--- a/src/Components/ResourcePageComponents/Footer.js
+++ b/src/Components/ResourcePageComponents/Footer.js
@@ -47,7 +47,7 @@ function ReportButton(props) {
     return (
         !props.complained ?
             (
-                <ButtonGrey onClick={props.userLoggedIn ? props.toggleReport : props.openLogin}>
+                <ButtonGrey contrast={props.contrast} onClick={props.userLoggedIn ? props.toggleReport : props.openLogin}>
                     <span className="button-text">
                         <ErrorIcon className="icon" /> Reportar abuso ou erro
                     </span>
@@ -55,7 +55,7 @@ function ReportButton(props) {
             )
             :
             (
-                <ButtonGrey>
+                <ButtonGrey contrast={props.contrast}>
                     <span className="button-text-report">
                         <ErrorIcon className="icon" /> Você já reportou este recurso
                     </span>
@@ -68,7 +68,7 @@ function DownloadButton(props) {
     return (
         props.downloadableLink ?
             (
-                <ButtonOrange onClick={props.enableDownload}>
+                <ButtonOrange contrast={props.contrast} onClick={props.enableDownload}>
                     <span className="text">
                         <GetAppIcon className="icon" /> Baixar Recurso
                             </span>
@@ -77,7 +77,7 @@ function DownloadButton(props) {
             :
             props.link ?
                 (
-                    <ButtonOrange onClick={props.toggleRedirect}>
+                    <ButtonOrange contrast={props.contrast} onClick={props.toggleRedirect}>
                         <span className="text">
                             <CallMadeIcon className="icon" /> Abrir Recurso
                                 </span>
@@ -172,7 +172,7 @@ export default function Footer(props) {
             {/*----------------------------------------------------------------------------*/}
 
             {/*-----------------------------BUTTONS----------------------------------------*/}
-            <OpcoesDiv>
+            <OpcoesDiv contrast={props.contrast}>
                 <StyledGrid container>
                     {
                         windowWidth > 990 ?
@@ -181,6 +181,7 @@ export default function Footer(props) {
                                     {/*Botao Reportar*/}
                                     <Grid item xs={3}>
                                         <ReportButton
+                                            contrast={props.contrast}
                                             userLoggedIn={state.currentUser.id === '' ? false : true}
                                             toggleReport={() => { toggleReport(true) }}
                                             openLogin={handleLogin}
@@ -190,7 +191,7 @@ export default function Footer(props) {
 
                                     {/*Botao Compartilhar*/}
                                     <Grid item xs={3}>
-                                        <ButtonGrey onClick={state.currentUser.id === '' ? () => handleLogin(true) : () => toggleShare(true)}>
+                                        <ButtonGrey contrast={props.contrast} onClick={state.currentUser.id === '' ? () => handleLogin(true) : () => toggleShare(true)}>
                                             <span className="button-text">
                                                 <ShareIcon className="icon" /> Compartilhar
                                     </span>
@@ -199,7 +200,7 @@ export default function Footer(props) {
 
                                     {/*Botao Guardar*/}
                                     <Grid item xs={3}>
-                                        <ButtonGrey onClick={state.currentUser.id === '' ? () => handleLogin(true) : () => toggleSave(true)}>
+                                        <ButtonGrey contrast={props.contrast} onClick={state.currentUser.id === '' ? () => handleLogin(true) : () => toggleSave(true)}>
                                             <span className="button-text">
                                                 <FolderIcon className="icon" />Guardar
                                     </span>
@@ -208,6 +209,7 @@ export default function Footer(props) {
 
                                     <Grid item xs={3} style={{ justifyContent: "right !important" }}>
                                         <DownloadButton
+                                            contrast={props.contrast}
                                             downloadableLink={props.downloadableLink}
                                             link={props.link}
                                             enableDownload={enableDownload}
@@ -221,7 +223,7 @@ export default function Footer(props) {
                                 <React.Fragment>
                                     {/*Botao Guardar*/}
                                     <Grid item xs={4}>
-                                        <ButtonGrey onClick={state.currentUser.id === '' ? () => handleLogin(true) : () => toggleSave(true)}>
+                                        <ButtonGrey contrast={props.contrast} onClick={state.currentUser.id === '' ? () => handleLogin(true) : () => toggleSave(true)}>
                                             <span className="button-text">
                                                 <FolderIcon className="icon" />Guardar
                                     </span>
@@ -230,6 +232,7 @@ export default function Footer(props) {
 
                                     <Grid item xs={7}>
                                         <DownloadButton
+                                            contrast={props.contrast}
                                             downloadableLink={props.downloadableLink}
                                             link={props.link}
                                             enableDownload={enableDownload}
@@ -257,7 +260,7 @@ export default function Footer(props) {
                                                 />
                                             </MenuItem>
                                             <MenuItem>
-                                                <ButtonGrey onClick={state.currentUser.id === '' ? () => handleLogin(true) : () => toggleShare(true)}>
+                                                <ButtonGrey contrast={props.contrast} onClick={state.currentUser.id === '' ? () => handleLogin(true) : () => toggleShare(true)}>
                                                     <span className="button-text">
                                                         <ShareIcon className="icon" /> Compartilhar
                                             </span>
@@ -277,10 +280,11 @@ export default function Footer(props) {
 }
 
 const OpcoesDiv = styled.div`
+    margin: 1em 0em;
     display : flex;
     align-items : center;
     height : 65px;
-    background-color : #fafafa;
+    background-color: ${props => props.contrast === "" ? "#fafafa" : "black"};
 `
 
 const StyledGrid = styled(Grid)`
@@ -298,15 +302,17 @@ const StyledGrid = styled(Grid)`
 
 const ButtonGrey = styled(Button)`
     &:hover {
-        background-color : rgba(158,158,158,0.2) !important;
+        background-color: ${props => props.contrast === "" ? "rgba(158,158,158,0.2) !important" : "rgba(255,255,0,0.24) !important"};
     }
     background-color : transparent !important;
-    color : #666 !important;
-    text-decoration : none !important;
+    color: ${props => props.contrast === "" ? "#666 !important" : "yellow !important"};
+    text-decoration: ${props => props.contrast === "" ? "none !important" : "underline !important"};
+    border: ${props => props.contrast === "" ? "0 !important" : "1px solid white !important"};
     outline : none !important;
     text-align : center !important;
 
     .icon {
+        color: ${props => props.contrast === "" ? "inherit !important" : "white !important"};
         vertical-align : middle !important;
         font-weight : normal !important;
         font-style : normal !important;
@@ -319,7 +325,6 @@ const ButtonGrey = styled(Button)`
         word-wrap : normal !important;
         direction : ltr !important;
         padding-right : 2px;
-        color : inherit !important;
     }
 
     .button-text {
@@ -349,17 +354,22 @@ const ButtonGrey = styled(Button)`
 `
 
 const ButtonOrange = styled(Button)`
+    &:hover {
+        background-color: ${props => props.contrast === "" ? "" : "rgba(255,255,0,0.24) !important"};
+    }
     box-shadow : 0 2px 5px 0 rgba(0,0,0,.26) !important;
-    background-color : #ff7f00 !important;
-    color : #fff !important;
-    text-decoration : none !important;
+    background-color: ${props => props.contrast === "" ? "#ff7f00 !important" : "black !important"};
+    color: ${props => props.contrast === "" ? "#666 !important" : "yellow !important"};
+    text-decoration: ${props => props.contrast === "" ? "none !important" : "underline !important"};
+    border: ${props => props.contrast === "" ? "0 !important" : "1px solid white !important"};
     text-transform : uppercase !important;
     outline : none !important;
+    /* max-height: 36px !important; */
     text-align : center !important;
-    max-height : 36px;
     margin-top : 5px !important;
 
     .icon {
+        color: white !important;
         vertical-align : middle !important;
         font-weight : normal !important;
         font-style : normal !important;
@@ -375,6 +385,7 @@ const ButtonOrange = styled(Button)`
     }
 
     .text {
+        color: ${props => props.contrast === "" ? "white !important" : "yellow !important"};
         font-size : 14px;
         font-weight : 600;
     }
diff --git a/src/Components/ResourcePageComponents/Sobre.js b/src/Components/ResourcePageComponents/Sobre.js
index 2de37ad9f73eb7abd78231d078a02c91e6ba350d..81db93694c786dfc5b8f46f4a738c7419708f1f1 100644
--- a/src/Components/ResourcePageComponents/Sobre.js
+++ b/src/Components/ResourcePageComponents/Sobre.js
@@ -16,13 +16,13 @@ GNU Affero General Public License for more details.
 You should have received a copy of the GNU Affero General Public License
 along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
 
-import React, {useContext, useState, useEffect} from 'react'
-import {Store} from '../../Store'
+import React, { useContext, useState, useEffect } from 'react'
+import { Store } from '../../Store'
 import styled from 'styled-components'
 import Grid from '@material-ui/core/Grid';
-import {Link} from 'react-router-dom'
-import {NoIcon} from '../ContactButtons/FollowButton.js'
-import {NoIconFollowing} from '../ContactButtons/FollowingButton.js'
+import { Link } from 'react-router-dom'
+import { NoIcon } from '../ContactButtons/FollowButton.js'
+import { NoIconFollowing } from '../ContactButtons/FollowingButton.js'
 import Collapse from '@material-ui/core/Collapse';
 import SdCardIcon from '@material-ui/icons/SdCard';
 import TranslateIcon from '@material-ui/icons/Translate';
@@ -43,7 +43,7 @@ function Alert(props) {
     return <MuiAlert elevation={6} variant="filled" {...props} />;
 }
 
-function AdditionalInfoItem (props) {
+function AdditionalInfoItem(props) {
     return (
         <span className="meta-objeto">
             {props.icon}
@@ -53,11 +53,11 @@ function AdditionalInfoItem (props) {
     )
 }
 
-export default function Sobre (props) {
-    const {state} = useContext(Store)
+export default function Sobre(props) {
+    const { state } = useContext(Store)
 
     const [collapsed, setCollapsed] = useState(false)
-    const toggleCollapsed = () => {setCollapsed(!collapsed)};
+    const toggleCollapsed = () => { setCollapsed(!collapsed) };
     const [loginOpen, setLogin] = useState(false)
     const [successfulLoginOpen, handleSuccessfulLogin] = useState(false)
     const [signUpOpen, setSignUp] = useState(false)
@@ -74,8 +74,8 @@ export default function Sobre (props) {
         if (reason === 'clickaway') {
             return;
         }
-  
-          handleSuccessfulLogin(false);
+
+        handleSuccessfulLogin(false);
     }
 
     var moment = require('moment')
@@ -85,58 +85,58 @@ export default function Sobre (props) {
     useEffect(() => {
         let aux = []
 
-        if (props.attachments && props.attachments[0]){
+        if (props.attachments && props.attachments[0]) {
             aux.push(<AdditionalInfoItem
-                icon={<SdCardIcon/>}
+                icon={<SdCardIcon />}
                 label={'Tamanho: '}
                 value={(props.attachments[0].size / 1000000).toFixed(2) + ' Mb'}
                 key={props.attachments[0].id}
-                />)
+            />)
         }
 
-        if(props.language){
-            props.language.map( (lang) =>
+        if (props.language) {
+            props.language.map((lang) =>
                 aux.push(<AdditionalInfoItem
-                    icon={<TranslateIcon/>}
+                    icon={<TranslateIcon />}
                     label={'Idioma: '}
                     value={lang.name}
                     key={lang.id}
-                    />
-            ))
+                />
+                ))
         }
 
-        if (props.mimeType){
+        if (props.mimeType) {
             aux.push(<AdditionalInfoItem
-                icon={<InsertDriveFileIcon/>}
+                icon={<InsertDriveFileIcon />}
                 label={'Formato: '}
                 value={props.mimeType}
                 key={props.mimeType}
-                />)
+            />)
         }
         if (props.createdAt) {
             aux.push(<AdditionalInfoItem
-                icon={<DateRangeIcon/>}
+                icon={<DateRangeIcon />}
                 label={'Data de Envio: '}
                 value={moment(props.createdAt).format("DD/MM/YYYY")}
                 key={"dateCreatedAt"}
-                />)
+            />)
         }
         if (props.updatedAt) {
             aux.push(<AdditionalInfoItem
-                icon={<UpdateIcon/>}
+                icon={<UpdateIcon />}
                 label={'Modificado em: '}
                 value={moment(props.createdAt).format("DD/MM/YYYY")}
                 key={"dateUpdatedAt"}
-                />)
+            />)
         }
         if (props.license) {
             aux.push(<AdditionalInfoItem
-                icon={<AssignmentIcon/>}
+                icon={<AssignmentIcon />}
                 label={'Tipo de licença: '}
                 value={
                     <div className="license-link">
                         <a href={props.license.url}>
-                            <img src={License} alt="license"/>
+                            <img src={License} alt="license" />
                         </a>
                         <p>
                             {props.license.name}
@@ -144,11 +144,11 @@ export default function Sobre (props) {
                     </div>
                 }
                 key={props.license.id}
-                />)
+            />)
         }
         else {
             aux.push(<AdditionalInfoItem
-                icon={<AssignmentIcon/>}
+                icon={<AssignmentIcon />}
                 label={'Tipo de licença: '}
                 value={
                     <div className="license-link">
@@ -157,7 +157,7 @@ export default function Sobre (props) {
                         </p>
                     </div>
                 }
-                key={"no-license"}/>)
+                key={"no-license"} />)
         }
         setAdditionalInfo(aux)
     }, [])
@@ -165,7 +165,7 @@ export default function Sobre (props) {
     let windowWidth = window.innerWidth
 
     const [followed, setFollowed] = useState(props.followed)
-    const toggleFollowed = () => {setFollowed(!followed)}
+    const toggleFollowed = () => { setFollowed(!followed) }
 
     return (
         <React.Fragment>
@@ -180,11 +180,11 @@ export default function Sobre (props) {
             />
             <SignUpModal open={signUpOpen} handleClose={handleSignUp} openLogin={handleLogin} />
             {/*----------------------------------------------------------------------------*/}
-            <Grid container style={{paddingRight : "15px", paddingLeft : "15px"}}>
+            <Grid container style={{ paddingRight: "15px", paddingLeft: "15px" }}>
 
-                <Grid item xs={windowWidth > 990 ? 9 : 12} style={{paddingRight : "15px"}}>
+                <Grid item xs={windowWidth > 990 ? 9 : 12} style={{ paddingRight: "15px" }}>
                     <Collapse in={collapsed} collapsedHeight={338}>
-                        <SobreDiv>
+                        <SobreDiv contrast={state.contrast}>
                             <div className="titulo">
                                 Sobre o Recurso
                             </div>
@@ -193,7 +193,7 @@ export default function Sobre (props) {
                                 <div className="tags-container">
                                     {
                                         props.tags &&
-                                        props.tags.map( (tag) =>
+                                        props.tags.map((tag) =>
                                             <span key={tag.name}>{tag.name}</span>
                                         )
                                     }
@@ -228,54 +228,54 @@ export default function Sobre (props) {
 
                         <div className="foto-autor">
                             <Link to={"/usuario-publico/" + props.id}>
-                                <img src={props.avatar} alt="user avatar"/>
+                                <img src={props.avatar} alt="user avatar" />
                             </Link>
                         </div>
 
                         <div className="nome-autor">
-                            <Link to={"/usuario-publico/" + props.id} style={{textDecoration : "none"}}>
+                            <Link to={"/usuario-publico/" + props.id} style={{ textDecoration: "none" }}>
                                 <span className="span-st">{props.publisher}</span>
                             </Link>
                         </div>
 
-                        <div style={{paddingTop : "0.75em", display : "flex", justifyContent : "center"}}>
-                        {
-                            (props.id !== state.currentUser.id) &&
-                            followed ? (
-                                <>
-                                <NoIconFollowing followedID={props.id} toggleFollowed={toggleFollowed}/>
-                                <ContactCardOptions followed={followed} followableID={props.id} toggleFollowed={toggleFollowed}/>
-                                </>
-                            )
-                            :
-                            (
-                                <>
-                                <NoIcon followableID={props.id} toggleFollowed={toggleFollowed}/>
-                                <ContactCardOptions followed={followed} followableID={props.id} toggleFollowed={toggleFollowed}/>
-                                </>
-                            )
-                        }
+                        <div style={{ paddingTop: "0.75em", display: "flex", justifyContent: "center" }}>
+                            {
+                                (props.id !== state.currentUser.id) &&
+                                    followed ? (
+                                        <>
+                                            <NoIconFollowing contrast={state.contrast} followedID={props.id} toggleFollowed={toggleFollowed} />
+                                            <ContactCardOptions followed={followed} followableID={props.id} toggleFollowed={toggleFollowed} />
+                                        </>
+                                    )
+                                    :
+                                    (
+                                        <>
+                                            <NoIcon contrast={state.contrast} followableID={props.id} toggleFollowed={toggleFollowed} />
+                                            <ContactCardOptions followed={followed} followableID={props.id} toggleFollowed={toggleFollowed} />
+                                        </>
+                                    )
+                            }
                         </div>
                     </MetasObjeto>
                 </Grid>
 
-                <Grid item xs={12} style={{paddingTop : "15px"}}>
-                    <CollapseControl onClick={() => {toggleCollapsed()}}>
+                <Grid item xs={12} style={{ paddingTop: "15px" }}>
+                    <CollapseControl onClick={() => { toggleCollapsed() }}>
                         {
                             collapsed ?
-                            (
+                                (
                                     <React.Fragment>
-                                        <span>VER MENOS</span>
-                                        <ExpandLessIcon/>
+                                        <span style={state.contrast === "" ? { color: "#666" } : { color: "yellow", textDecoration: "underline" }}>VER MENOS</span>
+                                        <ExpandLessIcon style={state.contrast === "" ? { color: "#666" } : { color: "white" }} />
                                     </React.Fragment>
-                            )
-                            :
-                            (
+                                )
+                                :
+                                (
                                     <React.Fragment>
-                                        <span>VER MAIS</span>
-                                        <ExpandMoreIcon/>
+                                        <span style={state.contrast === "" ? { color: "#666" } : { color: "yellow", textDecoration: "underline" }}>VER MAIS</span>
+                                        <ExpandMoreIcon style={state.contrast === "" ? { color: "#666" } : { color: "white" }} />
                                     </React.Fragment>
-                            )
+                                )
                         }
                     </CollapseControl>
                 </Grid>
@@ -306,6 +306,7 @@ const CollapseControl = styled.div`
 `
 
 const SobreDiv = styled.div`
+    background-color: ${props => props.contrast === "" ? "#f4f4f4" : "black"};
     padding-left : 3% !important;
     padding-top : 3% !important;
     .titulo {
@@ -315,7 +316,7 @@ const SobreDiv = styled.div`
         font-family : 'Roboto Light','Roboto Regular',Roboto;
         font-weight : 300;
         font-style : normal;
-        color : #666;
+        color: ${props => props.contrast === "" ? "#666" : "white"};
         font-size : 1.857em;
     }
 
@@ -331,12 +332,13 @@ const SobreDiv = styled.div`
                 text-transform : capitalize;
                 display : inline-flex;
                 border-radius : 15px;
-                background-color : #e5e5e5;
+                background-color: ${props => props.contrast === "" ? "#e5e5e5" : "black"};
+                border: ${props => props.contrast === "" ? "none" : "1px solid white"};
                 margin-right : 3px;
                 padding : 3px 7px;
                 line-height : 18px;
                 margin-bottom : 3px;
-                color : #666;
+                color: ${props => props.contrast === "" ? "#666" : "white"};
                 font-size : .8em
             }
         }
@@ -344,11 +346,13 @@ const SobreDiv = styled.div`
         .conteudo {
             font-size : 14px;
             .descricao-objeto {
+                color: ${props => props.contrast === "" ? "#666" : "white"};
                 text-align: justify;
                 margin-bottom: 20px;
                 margin-top: 20px;
             }
             .autoria {
+                color: ${props => props.contrast === "" ? "#666" : "white"};
                 margin-bottom : 30px;
             }
 
@@ -363,12 +367,14 @@ const SobreDiv = styled.div`
         display: inline-block;
         margin-bottom: 15px;
         font-size : 14px;
+        color: ${props => props.contrast === "" ? "#666" : "white !important"};
 
         .MuiSvgIcon-root {
-            vertical-align : middle
+            vertical-align : middle;
         }
 
         span {
+            color: ${props => props.contrast === "" ? "#666" : "white"};
             margin-left : 2%;
             font-weight : 700;
         }
@@ -378,8 +384,8 @@ const SobreDiv = styled.div`
             display : inline-grid;
 
             a {
-                text-decoration : none !important;
-                color : initial;
+                text-decoration: ${props => props.contrast === "" ? "none !important" : "underline !important"};
+                color: ${props => props.contrast === "" ? "initial" : "yellow"};
 
                 img {
                     vertical-align : middle;
@@ -407,6 +413,7 @@ const MetasObjeto = styled.div`
     justify-content : flex-start;
     padding : 20px;
     text-align : center;
+    color: ${props => props.contrast === "" ? "#666" : "white"};
 
     @media screen and (min-width : 990px) {
         border-left : 1px solid #e5e5e5;
@@ -415,12 +422,13 @@ const MetasObjeto = styled.div`
     .span-st {
         position : relative;
         font-size : 14px;
-        color: #666;
+        color: ${props => props.contrast === "" ? "#666" : "yellow"};
+        text-decoration: ${props => props.contrast === "" ? "none" : "underline"};
     }
 
     .enviado-por {
         font-size : 14px;
-        color :#666;
+        color: ${props => props.contrast === "" ? "#666" : "white"};
         font-weight : 500;
         margin-bottom : 5px;
         margin-top : 20px;
diff --git a/src/Components/ResourcePageComponents/TextoObjeto.js b/src/Components/ResourcePageComponents/TextoObjeto.js
index f19b82e1d1c55de62c7884e36c63827c7fe77b70..9f51afa47ed51653a957a8c993c6668bb34587db 100644
--- a/src/Components/ResourcePageComponents/TextoObjeto.js
+++ b/src/Components/ResourcePageComponents/TextoObjeto.js
@@ -102,7 +102,7 @@ export default function TextoObjeto (props) {
     }
 
     return (
-        <TextoObjetoDiv>
+        <TextoObjetoDiv contrast={props.contrast}>
             {   publisherDeletedObject &&
                 <Redirect
                     to={{
@@ -124,6 +124,7 @@ export default function TextoObjeto (props) {
                     {
                         props.stateRecurso !== "submitted" &&
                         <Firulas
+                            contrast={state.contrast}
                             rating={props.rating}
                             likesCount={props.likesCount}
                             liked={props.likedBool}
@@ -199,6 +200,7 @@ export default function TextoObjeto (props) {
 }
 
 const TextoObjetoDiv = styled.div`
+    background-color: ${props => props.contrast === "" ? "#f4f4f4" : "black"};
     padding : 20px 20px 0 20px;
     display : flex;
     flex-direction : column;
@@ -208,6 +210,7 @@ const TextoObjetoDiv = styled.div`
     align-items : flex-start;
 
     h3 {
+        color: ${props => props.contrast === "" ? "#666" : "white"};
         font-size : 26px;
         font-weight : 400;
         margin : 0;
@@ -215,6 +218,7 @@ const TextoObjetoDiv = styled.div`
     }
 
     .info-recurso {
+        color: ${props => props.contrast === "" ? "#666" : "white"};
         display : inline-block;
         width : 100%;
         font-size : 15px;
@@ -223,28 +227,31 @@ const TextoObjetoDiv = styled.div`
     }
 
     .info-cabecalho-recurso {
+        color: ${props => props.contrast === "" ? "#666" : "white"};
         font-size : 15px;
     }
 
     .dado-recurso {
+        color: ${props => props.contrast === "" ? "#666" : "white"};
         font-size : 15px;
         font-weight : 600;
     }
 
     .views-downloads {
+        color: ${props => props.contrast === "" ? "#666" : "white"};
         font-size : 15px;
         font-weight : lighter;
         margin-bottom : 12px;
     }
 
     .icon {
-        color : #666;
+        color: ${props => props.contrast === "" ? "#666" : "white"};
         vertical-align : middle;
         margin-right : 2px;
     }
 
     .alert-warning {
-        color : #8a6d3b;
+        color: ${props => props.contrast === "" ? "#8a6d3b" : "white"};
         background-color : #fcf8e3;
         border-color : #faebcc;
         padding: 15px;
@@ -262,7 +269,7 @@ const TextoObjetoDiv = styled.div`
             height : 32px;
             width : 100%;
             margin : 10px 0 8px 0;
-            background-color : #e5e5e5;
+            background-color: ${props => props.contrast === "" ? "#e5e5e5" : "black"};
         }
 
         .audio {
diff --git a/src/Components/ResourcePageComponents/VideoPlayer.js b/src/Components/ResourcePageComponents/VideoPlayer.js
index 57b1b06c0271db6a4d36133db6426159f7082255..b1c61b1d063ceb03968ffdb5f0a24a1ab27b86c2 100644
--- a/src/Components/ResourcePageComponents/VideoPlayer.js
+++ b/src/Components/ResourcePageComponents/VideoPlayer.js
@@ -69,7 +69,7 @@ export default function VideoPlayer(props) {
                                 </video>
                             </VideoContainer>
                             :
-                            <ErrorParagraph>
+                            <ErrorParagraph contrast={props.contrast}>
                                 Seu navegador não permite a exibição deste vídeo. É necessário baixar o vídeo para poder visualizá-lo.
                             </ErrorParagraph>
                     )
@@ -95,4 +95,5 @@ const VideoContainer = styled.div`
 
 const ErrorParagraph = styled.p`
     text-align: center;
+    color: ${props => props.contrast === "" ? "#666" : "white"};
 `
diff --git a/src/Pages/ResourcePage.js b/src/Pages/ResourcePage.js
index 47bd5b18b1c11bcd2eb60ba5608fbc23e3a7b6e4..9a8ba4093cca97439be9fd96a16bbae29271e431 100644
--- a/src/Pages/ResourcePage.js
+++ b/src/Pages/ResourcePage.js
@@ -202,16 +202,17 @@ export default function LearningObjectPage(props) {
             handleSnackbar(6)
           }}
         />
-        <Background>
+        <Background contrast={state.contrast}>
           {carregando ? (
-            <LoadingSpinner text={"Carregando Recurso"} />
+            <LoadingSpinner contrast={state.contrast} text={"Carregando Recurso"} />
           ) : (
               <>
                 <Grid container spacing={2}>
                   {recurso.object_type === "Vídeo" && !recurso.link ? (
                     <Grid item xs={12}>
-                      <Card>
+                      <Card contrast={state.contrast}>
                         <VideoPlayer
+                          contrast={state.contrast}
                           link={recurso.link}
                           urlVerified={false}
                           videoUrl={recurso.default_attachment_location}
@@ -222,7 +223,8 @@ export default function LearningObjectPage(props) {
                   ) : (
                       urlVerify(recurso.link) && (
                         <Grid item xs={12}>
-                          <Card>
+                          <Card contrast={state.contrast}>
+                            contrast={state.contrast}
                             <VideoPlayer link={recurso.link} urlVerified={true} />
                           </Card>
                         </Grid>
@@ -230,13 +232,14 @@ export default function LearningObjectPage(props) {
                     )}
 
                   <Grid item xs={12}>
-                    <Card>
+                    <Card contrast={state.contrast}>
                       <div>
                         {recurso.thumbnail && (
                           <img alt="" src={apiDomain + recurso.thumbnail} />
                         )}
 
                         <TextoObjeto
+                          contrast={state.contrast}
                           name={recurso.name}
                           rating={recurso.review_average}
                           recursoId={id}
@@ -255,6 +258,7 @@ export default function LearningObjectPage(props) {
                       </div>
 
                       <Footer
+                        contrast={state.contrast}
                         recursoId={id}
                         downloadableLink={recurso.default_attachment_location}
                         handleSnackbar={handleSnackbar}
@@ -268,7 +272,7 @@ export default function LearningObjectPage(props) {
                   </Grid>
 
                   <Grid item xs={12}>
-                    <Card>
+                    <Card contrast={state.contrast}>
                       {/*todo: change render method on additional item info*/}
                       <Sobre
                         avatar={
@@ -298,7 +302,7 @@ export default function LearningObjectPage(props) {
 
                   {recurso.state !== "submitted" && (
                     <Grid item xs={12}>
-                      <Card>
+                      <Card contrast={state.contrast}>
                         {/*adicionar funcionalidade ao botao de entrar*/}
                         <CommentsArea
                           recursoId={id}
@@ -373,7 +377,7 @@ const StyledAppBarContainer = styled.div`
 `;
 
 const Background = styled.div`
-  background-color: #f4f4f4;
+  background-color: ${props => props.contrast === "" ? "#f4f4f4" : "black"};
   color: #666;
   font-family: "Roboto", sans serif;
   padding-top: 30px;
@@ -405,8 +409,9 @@ const LearnObjectNotFound = styled.div`
 `
 
 const Card = styled.div`
-  background-color: #fff;
+  background-color: ${props => props.contrast === "" ? "#fff" : "black"};
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+  border: ${props => props.contrast === "" ? "0" : "1px solid white"};
   margin-bottom: 30px;
   margin-right: auto;
   margin-left: auto;