Semear para Colher
Semear para colher
A Política de Sustentabilidade da Klabin norteia as práticas de responsabilidade socioambiental com foco nas comunidades onde a empresa atua, reforçando o desenvolvimento local com base na educação. Faz parte desse propósito o apoio à gestão pública na melhoria da aplicação dos recursos fiscais gerados na região, com a desejada elevação, a longo prazo, do Índice de Desenvolvimento Humano (IDH) dos municípios onde o grupo atua.
O Klabin Semeando Educação visa preparar os alunos para lidar com os desafios do mercado globalizado – objetivo que exige uma educação pública equitativa, inclusiva e de qualidade. Para isso, propõe o desenvolvimento de competências para gestores educacionais e escolares e mobilização social em prol da educação, ações que devem resultar na melhoria da aprendizagem dos alunos.
The following has evaluated to null or missing:
==> getSingleNode( "starter", rootElement )  [in template "2529288#2529327#311387326" at line 218, column 36]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign starter = getSingleNode("star...  [in template "2529288#2529327#311387326" at line 218, column 13]
----
	1<#assign themes = [ 
				2    {"name": "light__cream", "bg": "#E3DBCA", "color":"#3E3E3E", "path": "#fff", "circle":"#1C9344"}, 
				3    {"name": "green__white_2", "bg": "#00B25D", "color":"#fff", "path": "#3D4B14", "circle":"#D1E07C"}, 
				4    {"name": "gray__cream", "bg": "#F0D1B6", "color":"#3E3E3E", "path": "#009039", "circle":"#fff"}, 
				5    {"name": "gray__cream2", "bg": "#D7C795", "color":"#3E3E3E", "path": "#009039", "circle":"#fff"}, 
				6    {"name": "gray__orange", "bg": "#F6D698", "color":"#3E3E3E", "path": "#3E3E3E", "circle":"#E2E3BE"}, 
				7    {"name": "white__orange", "bg": "#C86C2C", "color":"#fff", "path": "#009039", "circle":"#E2E3BE"}, 
				8    {"name": "white__green2", "bg": "#8B9F37", "color":"#fff", "path": "#fff", "circle":"#009039"}, 
				9    {"name": "green__white", "bg": "#fff", "color":"#009039", "path": "#009039", "circle":"#E2E3BE"}, 
				10    {"name": "white__green", "bg": "#3D4B14", "color":"#fff", "path": "#fff", "circle":"#627331"}, 
				11    {"name": "green__cream", "bg": "#E3DBCA", "color":"#009039", "path": "#009039", "circle":"#FFFFFF"} 
				12] /> 
				13 
				14<style> 
				15    <#list themes as theme> 
				16        .collection__theme--${theme.name} .card__text{ 
				17            background-color:${theme.bg}; 
				18        } 
				19        .collection__theme--${theme.name} .card__text h1{ 
				20            color:${theme.color}; 
				21        } 
				22        .collection__theme--${theme.name} .card__text h3{ 
				23            color:${theme.color}; 
				24        } 
				25        .collection__theme--${theme.name} .card__text .card__content__path path{ 
				26            fill:${theme.path}; 
				27        } 
				28        .collection__theme--${theme.name} .card__text .card__content__circle{ 
				29            fill:${theme.circle}; 
				30        } 
				31        .collection__theme--${theme.name} .card__float__img{ 
				32            display:block !important; 
				33        } 
				34    </#list> 
				35     
				36    .main-cards-flex{ 
				37        max-width: 1360px; 
				38        margin: 0 auto; 
				39    } 
				40 
				41    .card__content__float__img{ 
				42        margin-bottom: -77px; 
				43        margin-left: -69px; 
				44    } 
				45    .card__text__float__img{ 
				46        position: absolute; 
				47        right: 0; 
				48        bottom: 0; 
				49    } 
				50    .card__content{ 
				51        margin-top: 60px; 
				52        margin-left: 60px; 
				53        margin-right: 60px; 
				54        /*max-width: 370px; 
				55        margin: auto; 
				56        position: absolute; 
				57        z-index: 2; 
				58        left: 50%; 
				59        top: 50%; 
				60        transform: translate(-50%, -50%);*/ 
				61    } 
				62    .card__content .card__content__path{ 
				63        z-index: 1; 
				64        position: absolute; 
				65        right: 9px; 
				66        top: 9px; 
				67    } 
				68    .card__content .card__content__circle{ 
				69        position: absolute; 
				70        right: 0; 
				71    } 
				72    a.card__content-link{ 
				73        text-decoration: none; 
				74    } 
				75    .card__text{ 
				76        width:100%; 
				77        min-height:320px; 
				78    } 
				79    .card__text h1{ 
				80        font-style: normal; 
				81        font-weight: bold; 
				82        font-size: 24px; 
				83    } 
				84    .card__text h3{ 
				85        font-style: normal; 
				86        font-weight: normal; 
				87        font-size: 16px; 
				88    } 
				89     
				90    .water-mark{ 
				91        top: 50%; 
				92        left: 50%; 
				93        width: 100%; 
				94        z-index: 1; 
				95        max-width: 593px; 
				96        opacity: 1; 
				97        transform: translate(-50%, -50%); 
				98    }         
				99     
				100    .water-mark--bottom{ 
				101        top: 7%; 
				102        left: -12%; 
				103        width: 92%; 
				104        z-index: 1; 
				105        max-width: 674px; 
				106        opacity: .3; 
				107    } 
				108    .water-mark--bottom{ 
				109        left: initial; 
				110        right: -12% ; 
				111        opacity: .7; 
				112    } 
				113     
				114    .img-highlight{ 
				115        width: 100%;     
				116        height: 100%; 
				117    } 
				118     
				119    .collection__theme div,  .collection__theme picture{ 
				120        flex: 1; 
				121    } 
				122     
				123    .card__content .float-right{ 
				124        margin-top: 60px; 
				125    } 
				126 
				127    @media (min-width: 1371px) { 
				128        .water-mark--bottom{ 
				129            top: 16%; 
				130            left: 20%; 
				131            width: 100%; 
				132        } 
				133        .water-mark--bottom{ 
				134            top: 25%; 
				135        } 
				136 
				137        .card__text{ 
				138            width:50%; 
				139            min-height:300px; 
				140        } 
				141 
				142        .card__image{ 
				143            width:50%; 
				144        } 
				145        .water-mark--bottom{ 
				146            top: 4%; 
				147            left: 19%; 
				148            width: 41%; 
				149        } 
				150        .water-mark--bottom{ 
				151            right: initial; 
				152        } 
				153    } 
				154 
				155    @media (max-width: 1800px) { 
				156        .card__text h3{ 
				157            font-style: normal; 
				158            font-weight: normal; 
				159            font-size: 16px; 
				160        } 
				161    } 
				162   
				163    @media (max-width: 1370px) { 
				164        .card__content { 
				165            position: relative; 
				166            left: unset!important; 
				167            top: unset!important; 
				168            transform: unset!important; 
				169            padding: 10px; 
				170        } 
				171    } 
				172     
				173     @media (max-width: 768px) { 
				174        .collection__theme:nth-child(odd){ 
				175            flex-direction: column-reverse; 
				176        } 
				177        .collection__theme:nth-child(even){ 
				178            flex-direction: column; 
				179        } 
				180    } 
				181</style> 
				182 
				183<#assign dlAppService  = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")> 
				184 
				185<#function getRootElement curEntry> 
				186    <#assign assetRenderer = curEntry.getAssetRenderer() /> 
				187    <#assign article       = assetRenderer.getArticle() /> 
				188    <#assign document      = saxReaderUtil.read(article.getContent()) /> 
				189    <#return document.getRootElement() /> 
				190</#function> 
				191 
				192 
				193<#function getSingleNode name root> 
				194    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='${name}']/dynamic-content[@language-id='${locale}']") /> 
				195    <#if !xPathSelector??> 
				196        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='${name}']") /> 
				197    </#if> 
				198    <#return xPathSelector.selectSingleNode( root ) /> 
				199</#function> 
				200 
				201<#function getNodes name root> 
				202    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='${name}']") /> 
				203    <#return xPathSelector.selectNodes( root ) /> 
				204</#function> 
				205 
				206<#function isExternal url> 
				207  <#return !url?contains(themeDisplay.getPortalURL()) && ( url?starts_with("http://") || url?starts_with("https://")) || url?contains(".pdf") /> 
				208</#function> 
				209 
				210<#assign count = 0 /> 
				211 
				212<#if entries?has_content> 
				213    <#list entries as entry> 
				214        <main class="position-relative overflow-hidden main-cards-flex"> 
				215            <svg class="position-absolute water-mark<#if count % 2 != 0>--bottom</#if>" style="<#if count % 2 != 0>transform: rotate(180deg);</#if>" fill="none" height="601" viewbox="0 0 674 601"> <path d="M673.059 520.17C673.059 520.17 607.281 102.893 417.062 23.2105C226.843 -56.4716 55.9711 91.3599 15.3674 206.217C-25.2362 321.074 19.6564 515.496 176.946 581.11C334.235 646.724 673.059 520.17 673.059 520.17Z" stroke="<#if count % 2 != 0>#fff<#else>#CEC8BE</#if>"></path> </svg> 
				216            <#assign count = count + 1 /> 
				217            <#assign rootElement = getRootElement(entry) /> 
				218            <#assign starter     = getSingleNode( "starter", rootElement ).getStringValue()?trim /> 
				219            <#assign nodes       = getNodes("theme__container", rootElement) /> 
				220 
				221            <#list nodes as nodeItem> 
				222                <#assign imageFile = nodeItem.selectSingleNode("dynamic-content[@language-id='${locale}']") /> 
				223                <#if !imageFile??> 
				224                    <#assign imageFile = nodeItem.selectSingleNode("dynamic-content") /> 
				225                </#if> 
				226 
				227                <#attempt> 
				228                    <#assign fileJson    = jsonFactoryUtil.createJSONObject(imageFile.getStringValue()?trim) /> 
				229                    <#assign fileEntryId = getterUtil.getInteger(fileJson.get('fileEntryId')) /> 
				230                    <#assign fileEntry   = dlAppService.getFileEntry(fileEntryId) /> 
				231                    <#assign adaptive    = "/o/adaptive-media/image/${fileEntryId}/diretoria-423x422/${fileJson.get('title')}"> 
				232                    <#assign urlImage    = themeDisplay.getPortalURL() + "/documents/" + fileEntry.groupId + "/" + fileEntry.uuid + "?t=" + .now?string["HHmmssSSS"]?string /> 
				233                <#recover> 
				234                    <#assign adaptive  = "https://via.placeholder.com/500x500?text=404" /> 
				235                    <#assign urlImage  = "https://via.placeholder.com/500x500?text=404" /> 
				236                </#recover> 
				237 
				238                <#assign selector   = getSingleNode( "theme__selector", nodeItem ).getStringValue()?trim /> 
				239                <#assign floatImage = getSingleNode( "theme__floatImage", nodeItem ).getStringValue()?trim /> 
				240                <#assign title      = getSingleNode( "theme__title", nodeItem ).getStringValue()?trim /> 
				241                <#assign subtitle   = getSingleNode( "theme__subtitle", nodeItem ).getStringValue()?trim /> 
				242                <#assign link       = getSingleNode( "theme__link", nodeItem ).getStringValue()?trim /> 
				243                 
				244                <#if getSingleNode( "includeGTagEvent", nodeItem )??> 
				245                    <#assign addGTagEvent   = getSingleNode( "includeGTagEvent", nodeItem ) /> 
				246                    <#if addGTagEvent?has_content> 
				247                        <#assign addGTagEventValue = addGTagEvent.getData()> 
				248                    <#else>     
				249                        <#assign addGTagEventValue = false> 
				250                    </#if> 
				251                    <#if addGTagEvent.getData() == ""> 
				252                        <#assign addGTagEventValue = false> 
				253                    </#if> 
				254                <#else> 
				255                    <#assign addGTagEventValue = false>     
				256                </#if> 
				257                 
				258                <section class="collection__theme d-flex collection__theme--${selector}"> 
				259 
				260                    <div class="card__text d-flex align-items-center justify-content-center position-relative" style="order: <#if starter == 'text'>1<#else>2</#if>">   
				261                     
				262                        <#if floatImage == 'topRight'> 
				263                        <svg width="45" height="42" viewBox="0 0 45 42" fill="none" class="card__float__img position-absolute d-none" style="opacity: .5;top:20px;right:20px;"> <path fill="#EEBF62" d="M0.134116 37.4527C0.134116 37.4527 3.15121 8.95447 15.7825 2.89927C28.4139 -3.15592 40.521 6.27006 43.6743 13.9117C46.8277 21.5532 44.4553 34.8806 34.0097 39.869C23.5641 44.8574 0.134116 37.4527 0.134116 37.4527Z"/> </svg> 
				264                        </#if> 
				265                         
				266                    <#if link?has_content>   
				267                        <a class="card__content-link" <#if isExternal(link)>target='_blank'</#if>>  
				268                    </#if>     
				269                       
				270                            <div class="card__content"> 
				271                                <h1> 
				272                                    <#if floatImage == 'center'> 
				273                                    <svg class="card__content__float__img card__float__img d-none" width="157" height="139" viewBox="0 0 157 139" fill="none"> <path d="M156.5 122.506C156.5 122.506 63.8053 156.19 26.0115 126.263C-11.7823 96.336 -0.903824 44.6626 17.9708 23.3754C36.8455 2.08828 81.646 -10.691 112.841 14.0863C144.036 38.8636 156.5 122.506 156.5 122.506Z" fill="#E2E3BE"/> </svg> 
				274                                    </#if> 
				275                                    ${title} 
				276                                </h1> 
				277                                <h3>${subtitle}</h3> 
				278                                <#if link?has_content> 
				279                                    <a <#if isExternal(link)>target='_blank'</#if> <#if addGTagEventValue?string=='true'>onclick="gtag('event', 'conversion',{'send_to': 'AW-433294911/RahdCPTVrqgDEL-czs4B'});"</#if> href="${link}" class="float-right position-relative"> 
				280                                        <svg width="49" height="13" viewBox="0 0 49 13" fill="none" class="card__content__path"><path d="M48.4091 10.1214C48.4708 7.95954 46.8422 7.86249 45.6765 7.28931C42.4136 5.68495 39.1378 4.10632 35.8958 2.461C35.1986 2.10373 34.5751 1.61798 34.0581 1.02929C33.4364 0.313808 32.8037 -0.0485495 32.0947 0.693315C31.3517 1.47088 31.8963 2.18106 32.5569 2.68289C34.0287 3.80079 35.5456 4.85907 37.2681 6.10342C34.7062 6.06541 32.2505 5.95759 29.7979 6.00634C23.111 6.13927 16.4261 6.38613 9.73887 6.48438C7.47764 6.47149 5.21874 6.33707 2.97195 6.08169C1.93715 5.98512 0.92612 5.74894 0.597203 7.08052C0.35127 8.07598 1.14575 8.73824 2.79768 8.7871C7.03595 8.91245 11.2771 9.05065 15.5159 9.02211C20.5428 8.98825 25.5687 8.79368 30.5945 8.65032C32.0597 8.55076 33.5303 8.56296 34.9936 8.68681C33.9838 9.70948 32.6328 9.72579 31.402 10.0514C30.9383 10.174 30.3575 10.1547 30.0384 10.4362C29.8865 10.6085 29.7716 10.8103 29.7011 11.029C29.6306 11.2477 29.6059 11.4786 29.6285 11.7072C29.7008 11.8784 29.815 12.0286 29.9607 12.144C30.1063 12.2594 30.2786 12.3363 30.4617 12.3676C31.0476 12.3653 31.6301 12.2779 32.1909 12.1081C36.8009 11.0007 41.3939 9.83289 46.2191 10.5787C46.9075 10.6851 47.674 10.287 48.4091 10.1214Z"/> </svg> 
				281                                        <svg width="35" height="35" viewBox="0 0 35 35" fill="none"><circle class="card__content__circle" cx="17.5" cy="17.5" r="17.5"/></svg> 
				282                                    </a> 
				283                                </#if> 
				284                            </div> 
				285                       <#--  <#if floatImage == 'bottomRight'><svg class="card__float__img card__text__float__img d-none" width="204" height="152" viewBox="0 0 204 152" fill="none"> <path opacity="0.2" d="M0.0547725 9.87584C0.0547725 9.87584 169.733 -23.7287 227.242 38.2497C284.751 100.228 252.08 186.888 213.672 218.74C175.265 250.592 94.1932 260.765 46.7453 209.477C-0.70263 158.19 0.0547725 9.87584 0.0547725 9.87584Z" fill="#737E57"/> </svg></#if>  --> 
				286                    </div> 
				287                    <#if link?has_content> 
				288                        </a> 
				289                    </#if> 
				290 
				291                    <picture class="card__image" style="order: <#if starter == 'text'>2<#else>1</#if>"> 
				292                        <source media="(min-width:768px)" data-srcset="${urlImage}" /> 
				293                        <img class="img-highlight lazyload" data-src="${urlImage}"/> 
				294                    </picture> 
				295                </section> 
				296 
				297                <#if starter == 'text'> 
				298                    <#assign starter = 'image' /> 
				299                <#else> 
				300                    <#assign starter = 'text' /> 
				301                </#if> 
				302            </#list> 
				303        </main> 
				304    </#list> 
				305</#if> 
		
                    pt
                
                    en
                
                    es