{"id":1734,"date":"2023-11-08T14:24:22","date_gmt":"2023-11-08T19:24:22","guid":{"rendered":"https:\/\/acemaingenieria.com\/?page_id=1734"},"modified":"2026-01-27T08:05:52","modified_gmt":"2026-01-27T13:05:52","slug":"contactanos","status":"publish","type":"page","link":"https:\/\/acemaingenieria.com\/en\/contactanos\/","title":{"rendered":"Contact us"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#FFFFFF\u00bb background_enable_image=\u00bboff\u00bb background_blend=\u00bbmultiply\u00bb custom_margin=\u00bb0px|0px|0px|0px|false|false\u00bb custom_padding=\u00bb0px|0px|0px|0px|true|true\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row disabled_on=\u00bbon|on|on\u00bb _builder_version=\u00bb4.22.2&#8243; _module_preset=\u00bbdefault\u00bb disabled=\u00bbon\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.22.2&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.23.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbMontserrat||||||||\u00bb text_text_color=\u00bb#FFFFFF\u00bb text_font_size=\u00bb40px\u00bb text_line_height=\u00bb1.4em\u00bb header_font=\u00bbMontserrat||||||||\u00bb header_text_color=\u00bb#FFFFFF\u00bb text_orientation=\u00bbcenter\u00bb text_font_size_tablet=\u00bb40px\u00bb text_font_size_phone=\u00bb26px\u00bb text_font_size_last_edited=\u00bbon|phone\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p><span data-metadata=\"&lt;!--(figmeta)eyJmaWxlS2V5IjoiZ05WN3YzaDV4RDhMcTliMmxHNzRpVyIsInBhc3RlSUQiOjE5MTk1OTAxMjQsImRhdGFUeXBlIjoic2NlbmUifQo=(\/figmeta)--&gt;\"><\/span><\/p>\n<p><span data-metadata=\"&lt;!--(figmeta)eyJmaWxlS2V5IjoiZ05WN3YzaDV4RDhMcTliMmxHNzRpVyIsInBhc3RlSUQiOjE5MTk1OTAxMjQsImRhdGFUeXBlIjoic2NlbmUifQo=(\/figmeta)--&gt;\"><\/span><span data-buffer=\"&lt;!--(figma)ZmlnLWtpd2kuAAAAsEEAALWde5hkSVXgI25m1qOrX9PzHmaGNyoizothQESyMm9VZne+Jm9mdfeok2RV3upKOiuzzJtV0826LgIiIiIioiIisoiILiIiIiIiIiIiIiKiIiKi67Iu67ouy7Kuu78TEfeR1T3oPzvfNx0nTpw4EXHixIkTJyJv\/YxXD6OofyHsXN4Llbr2dLPa6AWdYruj+K\/RLPu9UqXYWPcDsrob+O1M3jPUfqMMnAuq641iDSgfdM7XfICCAXqBL7wWDK3h3AvOVFu9tl9rFqXmYqPZqa6d7wWVZrdW7nVb6+1iWeovObBXbjYkvxzn2\/5a2w8qoI4EJb\/h90C3Kr37u377PMiVLLLtt2qCPFqurq2RHivVqn6j01tt03qpGEjfjmf6drrZbTMOX3p2Iui0\/WLdlpA\/6fJ2xNdUGx2\/XSx1qhsMslalY1Y0lJ0qXhpGCOgcsJLmdXFrC0GDgkO512yYTimTOduudqSSbkwGYWunH4WQlSjqmF5AVG9uGFCfHY4Hw\/GF9v5IaBrNxgN+u0mBapZNuXCwM\/l4Cn1QqtwsdeuMGFCXio2NYgDkrbeb3RZAbq1drAtdfrXZrPnFRq\/ZYlCdarMBsrDhlzrNNtCCyIB0sVY1bJf8Wq3aCgRcbkPEuM2cH2n7691asd1rNWvn1w2TFZpqlP0yU5HSHe3456RLxxBcSRDHg\/P11aboz4lqg8YaBovEq6UzIqprgkqx5ffOVjuVnqt7qtRsNOBpOnhtSXR1tdYsnSF33dlqed3o3fXwqstIb6j75WoR4MZKdb1S438pvimAgR3szQ7sIex2rSiN3nK2GFSqvQ4tk3vERrFdLa6a\/t\/accBtBuiVkAe522MSp\/WPZHhGlx9VDIJqwIT24NzsStmjr9Qfv+a7qXpMwkh606YQ5GPrzXLXtPq4YKe\/F54dznY64aWZnfHbg\/u7xbZPqaIzbnI0Y643jb56HTiK+FliZHNJttw8K+PPX22eCq1iu1irsVZZTvVe24ltYR5d89cEu+g31nvlIhIpmsaXJM+q7EpmWTJrVcP1iIGbtbIvU7fSYaX6DzSr0sujrbZf9tfQsnKv1W6W\/ED09RjT4Nek\/Hisz72g6vp4IkHVu7VOtWWQJ+vFRrdY61UbLSPtayr+uaJVyFOlir\/RNuC1Lao59HVNhm1BURrp2Q2tWleav7HYbjfPxsO8yeZiWdwcdOt1+tI73W0wmYbBLUYnHxG0fL9U6a12V5lJELeaKce8YFKa7aIxFbetjsLxoM7Cle6gJr1OhZlYF\/OGAW7XjVHV5WL7jC+sPTdI0c+crEYW2yo2i2y+1Kw1k1zB6LipsxBgTgxk1i81yk3WB\/klWyXOLou2oaGAR4LmWqdneJBbqRTb6K7LGWPqt327SI\/550rIyY78eMXM9omg2OkmduSkaQXgmloXUTWDakeaONXqD8dOe5eCJksApEKjylWmhdakq2B0gpLUyAMDBigoNFUMDrhcgoPIKX2+WrdiLmBET1cBFjZYTGIzF6u77HvBVn8UWumzcbX9TskIfq0q49Toq2mtY\/U2529vh1uux\/kq1qfNtlVkAVGoyu1mK83qtSa2kJlslDFLXemgt1osnZlH5WT9lozJX2iiUVWUA7TqtjDDpLrWPGsAutCxfQjQiFqvVGyJZubTHAuqXTLbREGYlsOtybQ\/G07G1Ik3A1pmfpErsGa41TN+qm1eLezL7tKZDnfJxXXg3av4buZ1Y393M5x2x8NZBN92UYaqWtVzfi0A0PSazVcovdJkHM2m6QwvMvPglZSbIel6UfZHj344seeCElsvQH4NjuWerVFwGUO9EMymk4thcTS8MKZCwkyxazCxABrz6kDPEpf6e2hkPB6Ga1RDJ\/bSswta5CKDyNmsf3+3WmMPxtCBzDudEhNmvYMC4kP5MKAJaiG7tSymm0fvTvJLmfxd5Jcz+bvJH8nk7yG\/ksk\/hfzRTP5e8sdK1XYp2\/pxO9rTk6FIpo5T0QarVv0NX0ag44F7q5PJKOyPm3thrCD5bsOuVMRINdkJgXXQXcU2G9g7Zxaw0Vcj\/MpkOnzuZDzrj6juLGNmbtFlIwXvdJc9fK1qepjW3ginsyFLT3DNFkWZqqvNTqdZB\/Lqk\/0oLO1Po8kU+bAtFLF9FKhSuxmw0qptYO2f92XpoXrkPFww01SryFCwhSVUnHweS09SIClVa0ALdbGoUmWRKcaxBVpK5s9klzdY7JNpfTidSgeSVWRmnVQbAAuEZWRH64gKe+V+tGPtiVdiFwalUgXXxubY9ZBvNdZBqdMtX1IdbEjitcripub8S3uT6ezwGsrh8mDS2fzcQlExAofHtK9jRLJkvVr\/8mR\/tj4dDiyTvF1WGYmnHfTsKsuldVr92SycjimCqtoyKwQbbWy1NvO5P5u0w2j4XFgnIjLdMZJJ+qETyJNqnen+eMupn1euBuLsCE+Fd81uCqCD2eVRGIRu7ExdO2g6+9jBDyfRJbTL6gpHAlyNRkk2llzHr7fYYM1xIB+zQZizMJHkFfsNoI53CwxHf+uincZkTBUM9ANI1\/RAs1HimxrYUhu9prkrpGtF6q2iZGJigHOmQmmyT4emrt7Cw9VD7G5ycsVuR3aufIZVwbA6vR\/NhtuXyT4sl1axhIO54duTR87mV\/3OWesYICX4BHYWjcEFydEjqD7g9zpNrIwR0BwCpWOSq\/UWPjw5KYHGSqM1iYYyuewnoFzHVXEVsXftaceQnZ2KbWav4RRUbIFWLrXFWRG56YM65nZ4DBqSMUuWZu0kL8VThymwfpecaMnrbttM3CobMmmuVGsajzWP296LXW\/yhW4Lf9bvmbNDr91tdKrmtLTAKitXxbsxCrBYpWvTfqblk5wjWP6Guyqu0XpPqrI1kdf1JidpXFNgz8K2IEetirhgwHlbgDMhZAWbM577AlR4ycYx5vBsRrhUxp0kXabsjH8+rnaE7EbTnrBWgO04KmYujyZ5Vhz5Y7aJWHGO2yxnwg2pfaIz7Y\/tlNoR3sKGyzGh02OHYOsVWUCmWMlMsami1zisk3r2cLPWbiYnhVwGFe8U+QzO7gmFDCbZFBZa3aBicY7ZYoqJeS2lKMtqOUUknI7IsdriHKeVFBNzOpqiLCfEFCMSTsdtR5lEiGJmJ+aQMb+Tc1jL8po5XML1lGnJYR3Ta7O4mOd1WaRleX0WlXC8AfNWLfWkjNyN+I5EPIoNrJ5ZkjdxTGjiTaaYm\/1+xAq2M36cIEmpu1otUaCEdZzRuPSZrCemyXrk1JAllhTlhW4OU7B153AL1qon+cWg1bZbwtI66smWmyCWHWmCOGIhs0BYy3Z1rMwjO2fFfBw9hKxwRAJ9LNiaTkaj8nBqLQmddmvsK2wASNgYaFsXMzQTaxAOMGKzkHL\/XIu90NrUEhzEqTI5vd5lF9JeRHCIxoAXlR5N8IwM6JUmI1wPnZ+qZaUv8I+3yT+5Pv\/krXdC5Uvk9GX+8dqgoE4RD\/FPbod\/8oZTMJvsUWFLYPVspfeclYbAq\/dn0+ElpRd277iDvN69404Sb\/eOu0hyu3cKMr97pyALu3cKcqHVn2KRq+NBSD3vwv5woB7MMF1Rnj0uUHjQH+2H1NH75uhwq\/LWkFKjvxsqndvu7w5Hl6HXkezVAB5MZtHWdLg3I5cT2o3+dNinyv5uOB1urQ0v7E8RLbuzOyIr1I75BNBEFkzsEdg0M1812OtvodRzdQk14DCIETN5TQzDnSqvwmBNJlcGmOWAISV4YGD8KdTZzG+2dqm\/F6HMaRXWnzleapJenPFaPkc96XoORC\/JiYtOvFLAAigGuw64kOHfiuWe7RYuPP\/iyeM9AZj+BEbITE5CVUWnzVLTQbgLq+HW2XB4YWc2R0R4ToaUkFTx\/YdbcyQpHw4XZqNYC\/szM1F\/rVucJClSpbtahsSNxiu1AsHnZFSkZqCkBRfbXCDQIy7xYrNdbpAuFdfaUr5cbhijdqTRrcvQVnDcJb53lH1XRHOsbNPj4tGTnuDgK+nJYtEcIq4p2fQUpyhJrw1s\/rr2homfXC8LnPSG4KyJNd9YCs5KehOTLPibSyUTWLwlsN7ZIyoE+EhvdX7Qbc12Q\/p3uwiF9JHskyK\/R5U75qz86LVaUcbxmPp6W9yExwboLOnjOJVI+49fw4kmfULFpl9Vse1+dcfmv+Z+mz6xZdOvlZMW6ZNqa6uS\/7pmy6RPbndM+vUtW\/+O1pmGyOnOGmaI9C5S6efd7U5N8veQSv4pxdX2Bum9xdUNyT+VVPp934bl87QNOkT69NXaWZmfbyAVumeQCt03Fs9UZBzPLJ02J8hvKq2ZBfWsUsvki6VuW+hWcRkkX8JISlpes\/x9goDSnzXSu0jXSe8mrdCstFclFf6nK3Y8tLYu\/alVmqdFb\/CEjZ\/TqOKQkDZPt556H2nrdOs+4XP\/6dbT7iBtn27dcQ9pUDtdl3odYshC32V3lHnZECeJ9Cyp9ONc\/Uxd8OcbNePePdDonumQfjMbifTrW0gD0m\/dQOCkD7aCjuB7pIJ\/dvtMW\/L9dqsi6Wa7uyrzvhXgSJMOOrYfYadhzjjbTJPM34UNQmqkOxu2fLhhx\/2cjTNGXy5utDtt0hHpXaS7QYAFV2pMKvkJ6d2ke6T3kH4b6VNIp6T3kkakTyWdkYqc9kmfRnoQBNh+pR4iFX6XSIXfZVLh91xS4fdvSIXft5MKv39LKvy+g1T4\/TtS4fc8HQR3CcPv1KUN08PnCyAsXyCA8HyhAML0uwQQri8SQNh+twDC98UCCOPvEUA4vwTAdPV7BRDOLxVAOH+fAML5ZQII5+8XQDi\/XADh\/AMCCOdXCCCcf1AA4fxKANPnHxJAOL9KAOH8wwII5x8RQDj\/qADC+dUCCOcfE0A4v0YA4fzjAgjn1wLcLZx\/QgDh\/DoBhPNPCiCcXy+AcP73AgjnNwggnH9KAOH8RgGE808LIJzfBHCPcP4ZAYTzmwUQzj8rgHD+OQGE838QQDi\/RQDh\/PMCCOe3CiCcf0EA4fw2gKcI518UQDi\/XQDh\/EsCCOd3CCCcf1kA4fxOAYTzrwggnN8lgHD+VQGE87sB7hXOvyaAcH6PAML51wUQzu8VQDj\/hgDC+X0CCOffFEA4v18A4fxbAgjnDwA8VTj\/tgDC+YMCCOffEUA4f0gA4fy7AgjnDwsgnH9PAOH8EQGE8+8LIJw\/CnCfcP4DAYTzxwQQzn8ogHD+uADC+Y8EEM6fEEA4\/7EAwvmTAgjnPxFAOP8pgDFRfyaAcP6UAML5zwUQzp8WQDj\/hQDC+TMCCOe\/FEA4f1YA4fxXAgjnz+nD8SVctBnbtbpH6dhV88Q3rff39sRZ0t72dLIr7t1swr\/e6miyqbTevDwLI5XTNrClvBzXlzuSH4tnhx836M\/6hnZR5TaGg3CiPC+mie7uTkdCtDYccX4uiVdaHDyHWIbSSzPpFP5itNMfTB6KAL0dXBIiATv4j3ikg3DWH46A8iFjicTJwDM9IFIQErECXpiFuybEaYsWD4abnGG3BF4yNw+2WXcBrrwj\/3+b3MLzmvYZ27Ja3pwKzzEtkztiOqO8G8wEnFR6SwShnq28iXiqM3HkcwfDaLiJ16ZVnsRdGB1XhQiPPlLbegHe42h7Mt1VO2pxaGbjxVotGaizgxs+lq6DWu6PQXI4qUqRYE5aDK4jni3TtqiuIZ+9GzmljljMzmR\/NChJ\/+r9MQj6c8N0wimHynRzJZIqAEe3jWwNpZvSl2p1bE9GumaKsMTqeLg7ec6wRAstgtbIeFGfODBK8hKtThFgvjAccxKSls8OBzMGpq6dw1asl7qortuSlnCE1avz6npxcuvMVRnlU17hYnhZjZXeBlsbjuNKzK5gysMLIb3LcQohZ13j56q8ZJwPXOAGghzMh3acXq7P9X6nf4GGtYANkRp6HK8cE+e2jV+7tdOX40I4jaDQSc40VC3LkL1I4OZBOCXcGnb6zK96q6dzIxODNSG5TWadS6IRvY\/YMnThwujy3k7EXqEXBslFT8ROoRc3OT5e\/Lb9iSzMN2h90rLZoAOQ0OOlbQaTSOcVWi9v90ejTaJtaxREaqyP7KCIUxq7uDq5BJdXa71CDuhVOX10lgRuOd1O3emvoI45fDhI5Ht8NLkgQX5D0pmU4rE3t7ejcIZlUcv6xO4wjuwl9a7ZJQd\/2\/prtD414Nh1EA5qphM\/ktPXli0ilfNRO0wnLT0nLS+VFkt4TlospjlpFbbpS1Y4C1fKYtGNFB5zElhy+IwElv8VEjhyeLQrAzu4muk\/oz1ayfRBeflNoqKDSA04TFv76U7euZ2YjgNBgQhiwphFkFaK0k4TYcCWxHBuGG1wpIOEg76te4als6gKq06cylvC7tlTJlJ+yCxKFpKUnQfICZCMPi+5YrQFK3KLmMnJNKxlLhmxitvDaTRL5CJt0aFsfmFdJk95i1uT3d0+Q1i1u0kaZthUdgUxaMYgE2i0gPavZN4fHDh7vHCl7VksJ8rBLjUlloK8NPKKmcuu57QFI3Dg7rBWsTrIzKDr\/SmT5CSd7ZYN1hitkpqSaYSzhyaQu\/EgnF2k\/1yiRvyTjOpKuyDbMrcyyETLxEfqQa2Dy7ubk5FjH5kM7bJbWzhmEgkDjxCMbBQBfQ\/XEA2bDVMXs0UrzY7veWgCHPbA4UxyzEdW6+FYtjck5NqaZDnr\/ShcY87XxaVgHJfHJtCicQOG29vN8ehyG6kf9EeGOle2el7d3d2fyejM7mP5evN8yTjr5RUjVk51QC8ZP5o1HULzdq21K\/BBXYZBX7KivlhdA1cHuKCufjvchuSiLY2Zs5BMIYRevKRsVSF\/B3UDNjoGN9nfq34FGiat+vDFZj6qD1tudhlkwez9CxRN+i0Sqg7+JcqAMZUfjqizE+5+hdYC7AH+AzRuYmYCQ\/8BPSe5gFUmMy6jo25IYJBl5i1vD0fhGSvnyBRSFffR1az08QSJ70nTLfSMWRXdiziYYJqdb1kYDfGippdFQTuTYH9T4oKbkAmCo6JewDTsTcbh2M334v54eyTXlnL7lGW5NIy6cVHIklXLttuluH69H2Eo7EhzWzHWctV7+5ujYbQDM2lYutuZdML+bi3tnjTiHW4kV8XJFqsTz1gwk2Gna0dYNbeDh+gpq8ERy5LDE5zrwvyquDrfjbv+VZwxZP1RkJmRuIplbR+6KO+Y8Umvk57gXxmf1GxdmKfcFEO+Lw5sPnVOCySJc7oQ7U3D\/gCKxWhn8hCyxq1eDZHgQGwJ5EuWB4oqftuyacRljtjKLrdyyQFHLzvgWEccXrMDVMfbcqwwXd1QerBvLRTtei2c04kUlMOD4VZ88x4H9CVSY14H6BKxMxNN9AyOGL\/EgsljpKRiO\/ZxMYOucql0tmdOZ\/pQI+zQkuGIh847U85YkFp1wFQOt4fsRSg9tSzPT7LfNhE\/LkzLbWodYaCWkmtcxbVOfAekBU5KPMnFN0E5LiIYR0yZd9mEuOAQMf2CfSUHtOg6sIofeAELJ14BS4Hdgd7QSjJquSnlWsXebsoNk3tro69gYMeQ1CQKVy334pdgV5IX0VF2alFQz9tM0IbLZxBliiqJmoguNvqcvYwMDZUqNIobBIFNvFxxyeWesungrIk8e5L2CM4bgpy77TJ3yXmfA52ch+HMdIrVgiJ+WAiBCtrrJpJOtLIF217r7t7GPSA8WzPgBIhliDhGRvvb21ykYDGGckYxXWNRbuFyzmRjnBHwUrno4ILYGXN0YP7JVstm3XyeVUSuuT8T90k8XMoxcUwHbopsouQXoVibTLdY8\/LmB7t1MQK9xAZc3Iwmo\/1Z6NwQjNxWdlR\/o9UR1+WNddek8qprvYbvuxuqYu1s8XwAoGvGqZZnILEpuJf9gROP8rDhyarPjfd3A+wFExEpHE9nIzgbRxYbyDLA57qwj1WcuhweHf1iHpf2xFhOx+o+tZzh5Bb6EcvN5VYiWyo8HOpoytVhjq2zn6BG5pxGV7VlQZvxJpdrYRkheAhbxLSZB9VLCis352NaDwz7iAMXCNgREcgVjlVpeXpFwn1Pu3lGMJ57mpzz19bsG6o8Ue1mW6CCezSzgB1kzzH8Mjulbcva+XhjddtjvLkKATPNWEVz6H0kGFclYkZj60Hek8m2Re5WEsPLckHgIIzmywwzhHN+uXe24rOiK9Vauddc69liLpi45ravwxkhq\/28K5GKXnG6lfSC8wRCLI4vIEXiJ+wAmaw3HOMzto2hJ5uzm06NUwp196dDeqgHw2hv1L9sFsOKeIsma3Sf\/rdG+xz5XWt7JoMkqYYnyXmbChftQFumrB2O+hzEdmyF\/J5B2gq7oY31UMVNNSDHnnI4Cjm3ocr5+v5oNpTWw+naMBwNNuxUMEFbLChkjzLo7HUtd7QMULzoel8CQUolz07cQxUx2CSes8o5a4SB8rEdLiQWekHq9OZumheTBvzxYE8OK4ghdKBspHQDt20vnvxNLm1tT17oqVxSGQBbMWpJLUaTIbcrmmqQWFqRfAAk5dwMV8tlLt3pF7bT6DKXKzHKPh6Jn97YqvWh7RzNRCCFy0u87CpMqFEDTBhajFj82mrzrLVALKiiEw1bc9v++iGtZZehl2xe5vIVVQXSxfHY7atYPI7Ds8uW+ka3WIW3XayaezNzbe8lL9NyXBr1YnReMklRoV48lxSxb55LixYty6R0qcTVn9\/ucW9T7cpiWU7MwRExEIjRXk6vmBxXpus0lJ3yo2tAvbVivWpeax0zWXeveNxkzsaNn2Ch+mlfTtb8DprUk7dRrGAw1zBp7NQp4pRFtIpl99DuWouo27dR19mc6ZXb\/K5vSmVzO3nDlfJVnp6JiF\/BFKelzP2ovxlKfELvWUo5qb2S82dKVA\/7EkWVYIMociBWW+XtclHJMtFu4XjxcsldlQMxAmPbtUSqhR2wN5s4KBdjTSM\/4qn8bBL0d22WLddYqabRUDEgM06maOoC21+MXhtewkSwbzmHvz45CJ3rORkNzhgTxGkZ+7yW2F4vQ1sZEqydXq4SI6ZKNNln+5YOVU2nbb50yOHHowxHIjzTJxMTuohNG9tqtLedNjWizFlQicNc7JrgUP7scHAhZGtgPWK8POIMpi5N+oMhcSAZQH42xDTO+rt71Why373cysEaX2IKoXBmUEIcDooSbM1t4ZnHmbwUxEsyV\/bld2BMkTpbqXb81WaxLUtXmxdOshQ8NrCLjrhYa1XkBlMeE4kWA2nzAwH36x8P54SN2VE3nFENUFpMT\/ySz\/wcIs55AfYBrQhQDnYbPERXabXL3kaq5wjs4HVkMurn0N8GwiFgNGaP8F5gjqUiKEltuPcpezv9KFQLyjOARd67x\/Ycv4N5jsplspbgqTMZwhFUjtSi7hvbmSpIalFPG0Yte8SUQzs6+RbNcYyz7p70GNr3eKNUm0zfX+Op52WRTsXUaz39o25T\/HXjCRTlTF\/FHXybVv\/XuhrsGovqTgfaHoTDKJhsz9xuGEgR3XirJsI9GXf3Bky669ovgFsbjkYxzY+Tt65ojPlJMM0De6aUVPaFuOxLtgcdpKH+QXOtabLlucH+euwEAf+sRiZX8YC+qDlwZ4pSd+ofNVeah1yi93qT53BkDPZZTqjBNDQ2x2zywulP2KsO6pPJeDTkmmB0OW7hUzgwO0SqWP9uvEjuQeLKDp0Ztil4fVyQjNigfzpGO+c7KXhTUmDO3GnBz8QF4n+n6DfH6Ex\/OArYblD+KzoyyAFIIeFSVX3YCtzgLGFc8nuZEumw4D6SwdlOCfb3M1jpkeA+mjmotfpYmIjrdP0b+qo9XE1I6eX7UI+AdWfDaejEX9LtONuy+wVHffy75nSAIqiX5\/QX4rk2HmQ62R\/S6rlwM9j5FfRvgJIK2UjQt2cLNuBvVeQ7LDqxwhld+7Dmhj8y9POK+nK9H4d74J5t5A1cOWHTuw9T\/Lk4ooSYxBR8Is6baf5jOYzYXpwxC\/mTSKx0F4P6k5guTJzTFe6K7cVYab7SP6VcRKjlcDtS\/+Dpl+DMZtCIMlJ\/5+nv9dwAZcBv1urb0qw1EDIVbIxOboKXaNG\/nRyYdU50wxaYAXz\/fNNYIC4AZJ+O1N97+qWERLi5LE7D1f1NJkt8719IglCBRLLUR7T+kp5DEdz6qNZfNgbZnOAIZU3ijO3iXlyhJlunKqjf8HbTbeTNnvpnc+0np0X28utj2FauYrr7F6b9vR2x3rgUy+qGQyhLeDrBxq8Jl9WNh3GW9MyMZVXkEjn7k5mvVo+6CtpW6CQlGywCuWFQT1SPvgJpibuCL7EVqRvUY2LYFm1INnOlcZN67DzGkp3FV4jvbOhYmrPF3yISarBJcYX6NTFsi77VsBMleJVWT4wztuxBpykdh2XxqP9oJM8ZfdgfE2rZ3Z2MaxK\/wX+TOMW\/myvFW7k02+9zUEwpnseCSkjKQ1ZhKONg88tSfWeWyu6IIq8syfOzJBgYuVAG\/YIsOsDrYYk9EE4nFL0wW9TYt+9A7RvUPfVdVyl0OqCm6kVXKeWqw\/ghaqa+O1tckjeiB1zKZ3DJFnZJfY9mZ8YixcxH6qcsZWIHPgRFn\/HYC7Zb1Ps88WbItzgSI0\/DSKs\/iNE15EP+DzkyXqox9RK\/+Qt2QtM71pxzjD4zjzLOx1s89VeezFIXR7FmIkVxPxbV7+rZ5AIBgEFz3Oy4R6ARE6h\/LyngRmiu5CM6ub9Ub8upv9BiLITbO3Lq46nqCIpzhNYvNI2vDgfDtNkfNriOvYgV1DNw9fHUKv1Bu1PrUMZg35AJXS040Grt0wmLXzS2aNFCFv0N6UOMJQfagmdQMwl3LycZW\/iNEXaFY\/WKpBb1TQQAk1ca3KS7jC181gCFw5Axv2PuhY9lspaguIvvTN9OSmpRZQGrUdMGCyk7NYewRGuCM+bvTZ76tcyW3bRjYVjXXoG0VdexFZyLkujNddm8JalExqFwjyWW1S3ZvCVpWJQxX+pR6rZM1hLcbzFov3qMuj3J2MK2zZvfNT5OPTLN2eJgGy8jdT6ekGZt+QO2gkUJxVdlEZbmm0Pj5kTqY1p\/rYNtSS8VTMmFK+86hLKE29LuejjZDeX+8e+1vjuLsDQXbMsxUqjumUdZuh25e2Z9opaTvVq4jTlMpY6If0BnCdoi6EMUr0gpViez2WT3Klx+8DDN1Ri9MiVKS4ayFe6h7CxQdO6HDtN0JvgAlKYkrzIxAPxe1mSEcWfUiN+stB+Wg2Zx81DQ+vne5kS8DcZXMZ4FuJ9wONvbBP06h5YhJsifdEgzpgT7eodlcnHZUXRZMm90SJqySsuwf9rhbFMJ+k0OLU0lyJ9xSNNUgn2zwwZmfi0au5kVys96O2xNdutPZDJTt6tbr4a3qtGK5HdxYmTUqsJ2u4wtfI7Jy7iw7PThYjZvSUYG1eoPZI+AZDebtyQ0CKrETGB6zCJVa+qSQZ7et78zrKjLJm9LyzhlJltJuu0Y0sAf2CJMtPFa0oKP2QLCE\/hxp9Uf2qx1Pch\/3OZbbGPs78HwuVLrtPrrObRpv0pAJaJLf2OLsh23RWX1H13RznA0cFXXpxP5cczf2hLXLTOFYP\/THNYqAejPW7RhY\/gH4Wgb4fydxccbNVVUTX0f5yWQbdzQaRQ+IFN\/iUn\/fos2P3xsqN+0OddnN1O09H5vdzhm0KF6Y179lmzOceYDczVML9ARThcz1VJ\/zOVzMEa31\/u7rKX+VBbYJz0UyF2VyonXeOffKwvS3loGEr9PCl6aFqzSzoXUzmH6vk+nrIwP8HGtfjSD61CLK9hXZ1Dl9Db2xzTBOsZnqM6p12SoWvgA4fQgDMxVBZ3+JU4PROSMz2Ho2+odGZT8fnNF\/XLaVwJlcvX6p1q9U7NY4pvLDkWqo34101SHUNdkX2b53VnKep8M\/xub9GuaTFySGcF7JCLDXYfJs8sytaO+3Me9N9NAYB5JBijZrGgeVoqR+f20q9WUdaRen9OfTYvMVCAhE61TP5dT\/0vb6wvjQv+z1h92eQkH4uPYO47nefrPYtnI+R4e6kUekZUE53PmBvPfU0yNkZqjuXqZR7QkwZvabL3sw\/8jxVLf4r6Y4kpoHZNluhqpF3v6\/6Rl4mgllwAv9dT\/zRQxTPVyT\/0Pr58EcSP1Kk\/\/N28X9cAZFLcvUq\/29PNyHMcPfebmqPpv2mC76IszFsvqfzIv5rhxlbdEb9UI7mGLN1ic9ID9Rn3MG7MIDr1weotml94Cz5Xg1sUam9y+XCC9JKde4I3wVFHcg2H4kKF9d45xmM45BxS\/VjMQ5zqXEJgMLdmNfgw\/dBBOWqjQJktNvc3D1Y4kCmvYvSun\/kNcl2YkgCdL7iN5TvAPmaCuPLDiMI4QQ\/UuT\/1ABl2yX01YJCpvkWUrgWB\/czYN448qvNNTP+jKS\/0tTjtFGEbMEjsloXpbUh3v7c+S28Pn5dSPuwLZ5rkrYyG+1mEqkwOsmFGrd3jq32ONzhp8gO2\/KHJn1D+FiGSBIAbXDS61LZmpDsnfOnb1cNYfiCien0N9Lc4\/EBlyitff7TAtPAt2l8v1cLxvDf6Lc\/p7PDPP7clDsVWOiIKpt1s09mx\/dzxX8ku2hApWqyKCWwzCIC35WdmpDPqXCQm6NYzJkhdSzO320Fzoy0T89yvKW6yq4dZwj+NcTPSP2adU\/9uLhKwjGEPwQa3+D\/egEk\/YpTJjrg6wzv+ZWLwctNqTyYzs5102HglT8XdxrZopkZtts3D+xlNfiIscQ7Mj\/a2n\/muMt1Va\/f0IK\/h5jzgNIWnUvTwURZWZ+Sc7Mo7L\/nh\/d43ljLqol+bU\/7YWkwLpflzwspz6TkJNbFVo4hEDWB\/jmX3z1YgxqxCux9OcLV6V9WC3Hn8sMyBG+cQVSEtcCk1ElSkwy6tpX0hccyXWkvsRJq6KNZqaB5BYj5vmMZastjtkPLUhCSQ3k7icLa7PxCIxxRcx1xA8Ipu3JM1N1sfcd1aeoB53GGdJz6H36EfW3cMNfPyVWEt+nsP7gEi4+TAJ7aknqycdQlnCZ1shBAQNwEV4O\/rr5lGWDgNCdMlMQiR+xtPVk+cxlmxzZBREor\/EC7X++kzeUmzZp62iA+qNWt2RZm35YBs1kxD+RcI3Zg6ZqugKpCXGUJm2J2vMgVZsDUnWEhzYsawidasXcX2oH5KwIAb4C1q\/RCM5o5uiBZS9TEfGz0h\/5P2A+gmsvJxdgl2W1g6iYVJf5+gIVURcXG8yJNtiR4QTBRvrAsDw5x0hE8U8bZnLE2SqvoX7lq0UR+9h8otc2nGTaLzIaTiOF9eKervjktjaL2n1Lt13Dy2+rNVvxvuYDbMKumZmYMPtYgX1fj2mLpEusmbdf06r3zJB1NGh12Wf0hgeVyDuhNiqmIBe\/nZclkq3KlJkJELwaY2JuoKimL7h+qxWv2MIUA5zQ\/mg+iMjiz6ex5RLGJGju0OSE1JxjJcpEyB75qesQ12CJ00iN5mP0+rPUwZyjSMcHobBp\/XF8DIhsAsXkOxbc+oz+mCCf+jL5tHamRIjRd5\/paWnst0RZtlZDbcnU\/xIImwywAf1f3bh\/hrbfEQkXf8XPWO6JWImklevyKn\/yoTQ0Z0mlwGsUzqKZzHBLhI+BKYj34WXEM1Sx\/7FXri7GQ4Mg3fmcL4IBu7UQwywQb04j2+EUjDPMst0z2kSG8YPedFwd2\/E+St+ydnqj8ORDPc1Xn+LkZhIVqVTr8nyeFOeCJ0EzNpYHPXmvPr5DFHNXc2\/1TsQEjCm+VfncUJiTAmrs7\/LyMQ53uP2Uf1iUiZnztXLAVs0Je\/31LuTEsFRGKnX5PU7s1g2uvdr9SsJqh1y5EeXjTK+NM8I4xLpirn6idRr8+pXE3yHWR43MBV0\/NMJNtia7EH5+rz+S7YaLgouoyKX1Ac9trxNlAi5b8Sk9GIgvfhfh0tAfzSvvsx+x14\/skbBv8TOMZBSJPyduSl2ISY\/gz6v4JWI0Z1sbwdM0X5kRJFX\/8ljx6RevJYE\/XFP\/bZDxz6NoP\/Uo5u7Q7ZeIbRc1M\/l1e\/Qj8xFLM1\/yENF2LHx\/97gqd9loBzIcHy25erobXn1R55VRNTF6CzjeY9Wn\/C2xMi0bUQ4tXbvyNP01GKtF7Ci\/swbTLYIThODzvJ+e179Oby5SkHK2VcIEXEX\/VnrthRhe2Cdl9pw0wrnc0b3irPZdLhJYCdS78mrvzajMBNmhvKBvPoveLi7eEXJFwe+XX0xQbkvDHyH+p8IBH3hNimiIaYRkbwgt0HTqffs5fpsV3tkKdS7tNSvTeRzF8rD6TdSzNUFK71FCGpZ3nEq\/msVu4G8EtCd5ro8LRB8L0Z6dfu9oly34aC8I5NsL8EWzFdt15rts\/bJw4LJrxZLZxxi0SDMg7AlXEkcV+PuWm\/ZW0DaBEeGuCoSo8T+iU1LEdnfAuK9rSXUVhh5cEGmisUWhlHTVrP5Bdtu2W0ic0cBD6ljGzjWyrsADK0xvYBe5kWcKG36q4t3e1rPF\/qUXIbVRaMC6fu8eN2UneKnPN4Lj0OlPkUwyclpzN7O05+DDI2YqWT5W4r3eSq3MYdRj6xXA3krgrzV4QdZWr5fut6WDwSn76K8FFltlO3Lp1z8tCt+X5W3r6PSWgWLcK+p4pfX8r3cDNa+aFqcR8avmZbm0cmzp+WNalBdrYly2Wdj5WJHnsusxO\/Mjiavvo4l32yVpkwneofHfHyexrR+BdGJlMj24+q8Tl5BdnV216w222UQ0mAiwlMO6Wom+Gsd3rSYYK9zWNtAgr7efKWr0enJl1v8dqfqS3s3WFGWml15TpmZpRvr1fRh303yei\/O3CwliSBvkaIk9wjz1C55hnerycaP924zOdONTrXZkOZvj1VQdsBke0yV\/QMZZc+S+JSj8YlOg2UVsk8lai\/UoB5UXgnIbnFUzPD+ELznynwKhCmLc4Zns6vekBd+bkV2hCuHXYw9R9vsXpWy\/AgsH5bOh0jYDwf0Kn18egVr8YMgz7D92BVsHY0PQcoyAom184pm22y5BiDLsPoErK4o9ylM2ey5AumZJa0SIzBOhzwPM8\/G1GrNfjfaMcvu0Wljn0oay5T7FKaNCRLXJG4ppsO8j\/vGbbEvJT8JBUdOTHGDGTPzmpsRluQQyq74GU\/lDyYzu0V+1lOF3f2IvVByn\/PUgmXdScg9PRO4Fo4vEEjHVFqCjZiDh+s7w5nDnqel9YQldn+CF1CWzkV0ataBWz2C1CtnowJJIEGkZh\/VdewXs7Sjy0YVdPzQfk7+jtAydGEGYQcTdd4sYFQ482akHW4rrzBGRtam0\/1BuE1fWQfPnexuDsO1vv3pcsOKN7eVrd5IKn4BkWZfeRdKV6dT+dTmqqzN1fJrkna1zLbQC8yXynt0g85XGxW\/XcVIVGs1axpsQW6uhfTxC\/KOh+AW4z+iDHPEZRn1kpXe2I6LqAtC7I824ho5tuxs1Ce\/Z4TvqlelbmEms\/VFNCY78sW9qbyb4nRheEXqS55ammve4Nl+JVJhYeyQHHxs5lXa\/ojC5lDcucodaVN+d2Q+uWNESKLjX\/0gLix0o+T35Kc4IOZrtw71Dd1k6YmXbrIrWg\/dyUd+0uawX\/a0V82g55nAYyZ9+idPyZEQUX0F4o5QMhvNegsVNw6Aor+4efLVZumvth6UL+dI9n77jUT3sUVlfhJFqmXYPb+MWtjX8V6xw75U8ctoCCTyccmgZ\/9YgBTjZHTZtaSlbhbvnu7Ox19Vzn0hk+XXbZSKHR\/QvoJ1b2g9Wy01PnO\/mbDwBsdkNMegXBi1YVUtd9bkZDqIPiVBVSuaxWJJ9joaUYEv7lLHTGs6v2V2YyeOnEH2Ar+Gr2BKneMMVKCrIinnkGYb40qNU8pkKkdqVNvD8TUAXZ+hkTibgG6I2XrSSeUt7zmUG022zhAKM4wX5lRuuGV45i33SL0opwuRaTocNA2OUlZOxz5WYQ0sciu\/DXIJk8PGxU3oZJftiynRall23vkbAnWyc77lB6V21XzVSpVaMmnafezJKwVi7nKnixvFhCYvR3fSwunAyHjBOKP3C2qxdb5TMcildTGXy4FBHwnOVo2\/uXKmKU+ogY62u4Fgjq0WzWfLjnOakc+fmoV4oipOPYEwPxO9xbjZt9FxYRmtiQvZXUiMdSwSXpLPsj7sI00ma88hkZM1b7JqvQ7Wo0YYRBgrLz8CRPPgtrnPYdte7Lwyxwyxd+C9iPTj13vykj1s7BMzmZLLr6YVVN44hmalqG4jzejEe2dr6dXs18Vytg9je4DwlkeAhs2rcwqrckW77IryHj85M3MQZVSvyanlwTzqtSjTPErEiHV4XU7lB5OHxux4eGVyysMsF1QBxYsQQDjeupxiF0QmyHY6a9pYY0EtygvraWQ63dyuUY6iLZXt2W1+NHq+A9InLaVmgKpgNAAZKCejWCY6kVqM8YwjdH+3aaxKruIXKQbKB1eThoo\/SKxq5stjum0+4Mc2P0\/m2WJli3EXssVOWpjluv2OMCTKP5fA6a9rhTIOP3qFoexxmtmi8hvQHVsQqTfn9PwPuiImFu9SvlazC7GzfAi4kHD2DRdvcZi20AHNxTGqkaDmbojR1aQgc0GcY4\/ppGFH\/Lgroo4FosFogFQQVwtPiHoLuxKZqBDYBkV+MenbhjsBdIy\/yFwz8PeyI5cmY2IpMOmPiqYXsl32HYQQOME7AnNcTvgVDYnybkm7If4P6xFxprgOpNzkeykmO0ouatmWDc05lU9ppPd2QJlRBua679B9uPygVS6EKTds2vJz0Bhjb\/eXJDwyumpwevnKIPeRtEE2dS6HiRNtTQnm0diK7e8al7JSrpb1UdbPtG8J3IrbVMdmRsaxxI1Ijs\/jNsSmqZfl1QkzYU6Yb\/fUSdi55tu0PrOxqbjHXEdhF8fd6ag6boQPcfoBdWqetXpjTl07jzKrm9m7zjQWXBzudSYiYuR7fYJavVzcNc79sroBEdo55\/48r29MsqmOvCmnbzrUVSuFTF9vPkRQjVX9IEzcNYk635IoVUC\/5TqpZS78Cd243Zc4cOalfPqbQ9wMt0rKXJ9vhRipM\/75+NdCWPMzDZwIzvENwi+1mrFB+txq81wPvwzYawX3kOTY\/jqlisQAyOXPpGvPhKBkU45UQaPWBuvaegvWokKn7UtTz9s3v5Myb8qZcK\/O6OijtXg0lf2zA83W+V65K7Yp9rsssdgOqax3bT4cdNHA6gC+XoJavZwgc9vEVs8YdzQf2YbenuOgF5NawiqyPCGmwWFjBha\/6LMp2osE75gbQzTd6hrImw1nqBQtzeJvf9mC\/ENyi42uFHZsvBXbEwqjDhKhfDGhr+5iMSv9SH6BvLTNekObsjhxtQ7Qcrm5OsKd44Uhaib7EvkVBJ+Z+KOmhQ1reY0AjqEx7pmDl9s3owIrJ1W0KHCBSEFxAoAwHTuoXI15Y40n7y68pX0zNh0PWtyQuGu5+a7krzq+wlXGtzBPedbJ7bCAYikubdAduZHCwdnqjw\/6kVz6hO5BI1vGHpd+I9dtFo9n8uVQFpqJ6tpK61YL83X50xdsc1s2OvskpW25YVqbbPXNeDaVl0EHbHqsUvvFp8FhjpZTxTw+aWMQqb7IQZgA+0WO69Bwut4z6xeuwSGbYJ7GwMXdUCYm0+sw8SwtnOYDFpTE3s3HR4Bcu3pnMiNwP3NZL+LU5eDYBiSV7WwWJjbnqL4SA+bZGqBqbKImY1eWd9VWMdh7HCJn1YH8WqSQtBmkdrZoKtrWzW8r8X7XcArRxc5kb3eCa7ZFpFw0kv5g6zI2GhwKN48znFC9qbviivESxcMhJsqAck4CcUxKXCFdsBW8guXSgAqutDSMWsiBXoi+JJlAVApMjhmVQ7\/sCMRrdL5vhiFPW81GHMnKYVbxc7DiCGgQSItYvE08ETeisrTjBB6pD+Zw1hPjnzhqWMH0YkO1fWIh5m5EIx3jMEvPNgnD2NFgDSds+Kaxj+CKjsOHkox3xbSUZVpyQPEEgmH6hlHFUlbHjfChQ0NgHgdJ5z6a46AWn+lnIme5zhWui9UUHYsaMUeSM63ow83G3Qvm+NC7KOaTQefNb0DVn2K5xe6VzALDnkXz69CtXKeX5gcKMsUubw4mQVwD0UUxTG3mdYAn9xXrSz6I67TNEDcxc2CFqjktcRndJ35EkG\/b1UHRGEYpHI0IwVYFs5BgONIazOL8nLbMUFVOPqpMwNsctFSR2LwFiQDU69WOzXjzVdnnzAMPJLNnuCAwefJ4gTmVJ+bsVbGyYgYDmRwCq\/IzOVZjZDoWS1yP+tEsVjrLXX0MpboSHcCGy9RPcTrLss+j9tivhH9uc14P46VQ5UQon8TzIkOf2LtcPDT7a1im68qmpUdX6WiQ9MgxdZ2I1Gc4ssx10phhQrqpmecmL+a2JrK0LFkHC1RK5BWpT+f0ImUEf+yHLoh+oQiYHATOzsOm0rF5b0NOJmmMSI4L4n2HgxLxDTSAKpUQr24z7M+YUta\/L0EwE89Sq9yyJDndZWemUemQd3tEy\/QZcS6i+TFTeuo5p5AYrQRNns0Slw3U+voF2RXN7vkeVvMu\/QzVe3MqXQzqQb002aShA8aJsVsehOzYYcPyPIItwDyYzSxS78vpFSvieAOL1Ptz8uVKZ\/qbdpK5kMnpYzQ1pbcr6riZs5imYg0BK+HEHL51lS2H6g\/KCcCRxOzLIllM6jV75FKlidRnc\/rUVmaWPofnfzA3H3+TU9ex7M9OCVohu+vlO7Rr+N8Bs40SaXVDxiTFpi1SH8\/pG2dMsDNFn8ipmyQbJFL8ZE7dnExK0WwdARN1yzZ3\/1Fz3IHY1dXqETvJ\/P9tTt2aDC9IN7qi4VqWHn8op287GF5lW\/twTt+eyIoRyIMBfxSKV2upWOXJHOj+eDK+LPPfjVHG9QDC1GEwOH1Eli\/baMCkE4zq7+3cvx9OL6cx0nmnvdEh\/sE9IFes5q876UP1MAMRW6+4ng3aoiUOLntYHNb\/ZszzC1gSKbV9jpKZ8vTmCMU0ETJnJlB8K0TcLMaM2Dm1G123bqpI3d3dLLGr23sQbM8MfDvctcbaXsGgajjV4E02NwMSqSyqPA2tyvmhgCMn1zeLxJDQ0zYLASkPArAdqBnY7p6pvBiB6spH6vDn6+n9D6Yl7QIVRCMhonGpAMSS\/cqc2auD2WQPLx0WibcxbUx2ORLY8XtzZmEYlUR1CeVJDWITrobt0DztOOXyZUwnSxzS1emkP9iiU9yszVFvzcv9H6kxo69T9UWmby9uR\/0ToZm9eCG3smh72aa+hBWqwxhZKO9RQiV6k23KYz0bwLxTcFqh3uppo8xx\/vOElYfCWzp0VeX\/u5x6lNEg9SKtFwRa7UcYF7v\/3C73Rv2RM3OL\/a0tuqDyaimS0GGAs2hLluN8R7r6THUkzpfY\/WnMoJ+lVsznSeh2QR01oNNYYh8mu5YcS4\/bhlv9yyNEDeJENLdo5EL073P6ZGbwyZL4h5y6ZhtOG\/bAxzBOGe5VFI1Vxv5yubk\/i0QU460RJprQjGxq6MK1hlDeHLMFPaiuQ1MIJ2EAR+yFo+54IOZl66J6Xl7fYFDtMIO6cTPWi0j9M4GOabhlbV0Qftt+iMa5QPKiutm0szpFDXfwpzmAr9FhO\/RbTJlP5IQYuMjtjZ56xJ4cAi6Pt4rMIyYIsluTX+Fzuxea44l8ivU2HNPZZXkFWLV3djW6xAgeWR5ub5d29iXksJKRGnuZtm7RQvLhqwbFqBJbpfH8jCjyFnbzXbC5alRleiVmTwsLW8I9KpqfLyLTzg7SExRNLG4SARPxowuVIeo43dq5TBN6ae9K3PLViOPxHdm7On5FxherC\/fdDCEeISytkRQVZ4xODpF6fl7nJLsq7QlZflOglmmhMc+hsHc17EI7fj5pZkp57m9XlXskxtir+O+96oS0LErqEZgBrtjDvp7GhYbPi\/I4SH27xwm1Qapludb0iw2YqbVasyjbiw468lekgLxirWr+uLa9+AKQb7+1\/cD9ZdxC3VzbLWSvjxfNGxJzbUxuKW6yHdpzY9r0wlduOmnRtlHItrEQcy2O7V2N8pYf5m53RXnbzJ\/L4YwToe9HEm7OG6fN4p+tCuGlvSmGiJVgUa\/I47S5G1n1qjx7jXuFaDHv4eJiG0MUiFGyqB\/Jq2U\/4ZJEZtUpeQWV3DG6vz9qsxpZyp+Ws29u7AWPufd0fwy5XJWpBsr793eLNZmKQqPJHazkyCxw6yp\/XdlIcTHJ9LikjEmW1tvyZ9fbpoD8cjafJTxi\/5bPipH6UVohOWbno7omvTlOrYb9A5Qn6K\/5uFav1myeMdfIJxu++0zlNakQUMkwySQSeXleyaNzhy5OL+zL5mHiu4mK1mPRm7An02jv3qBJ1Rga3BCDj9Qr8+lDpLV4YqhNIAk3DwebmrofrYkyCJxwEY3EXTJsJAyuByCMir4EKjo5r7cvzafP8gKupFm81B6KPdNja8nwMuZeMiT0wmRD2uFiI3mD87pMx1MCn1K8OPnQh2xuMD\/I0MwNwDw+lfmT5xrEc31RE\/NOwUSb7b0hp9n5d2yeeS2WPgzLrZt1lhcu8vJDaApr7WLdN1lyC4H5e\/Uut2gacJkl9KRpvkBnro3ZVWb9Sy3uOLbllRYX8L58aFShYW37N9H1sCkNePZeuj\/awL7jkbrZZPPWcnEsb75VLb6RK7Y71ZKxKlr+mq9dQV6juEGSK7pvtuYr8kdFCpW7+Hehcjf\/Llbu4d+livwhkeXKvfx7pCIHPRntSnIdeHStyQ2hQMdYrizLAPC40JyoCPYkZo\/kmrnbxFPmSci1Xfn3urrf6JJeX5O\/rHRDWXA3ljv8e1NZRnzzWnW9a3jcAlQqttwAHlHHkye9lbVOcps8zbndr\/PvI0Woxhg+KqgzLQCPll49hltE4fPY+\/nnceU1qf344uqqdPMJ7jL+q9rS8le3ZQBf4x78PFH+XCfp15ZYuKRPYhGTfF1QNH\/068ln7N\/UwkKR3BEYAd0pg7lLEHfL4O5xf0DqKavm70fdu1qWmXlq0DKm5T7ThaedNcnTW9VSxw74G4Jmt20+f\/aMal3G840cvWWEz6wVV80fcv6m+G\/aP2u12+kYuRTtKwugVem\/u81FvTvx5JWBrQx90cUidg14rdntWF7r3KFg7MxMVurQSLfk7zbXyvYTyadr\/rp9zXJGzG9bflSgnh2rW8Pey9xTbNnLEdvU7atF+RvpQCXiQ62az7TTtMi87FZbtbEmDHw3yDU3wetoqnzJ1\/KpEHuwUDXwi23z59ZOZx+gHEvV\/ZHshd16I9HVx3IU5PTnOD2uXJWnq03ThyeU0+\/7flUsqCdJTcw44NfZCXiyE+cdkqJN0s87cTKkF3dh+qXVp6Dx2c9GP7Vt\/gj8fSQx46cBC2\/Tq6d35BEQwDM7bOyrRreKyXTqUsUvneG6C9iTz8aWfKPRuZp9NpOn013Xk0IMZ+osxDgxYCLexWT2l+J5tm0uxxRHglKbmzaLXTGf6xPoeNCqNpJ+naDXJNeQoMRGGU+JNtlWr+20fV9aBb6O+V5tWvz1MgLSG0R+FnWjdJD0JkltmzebnsTCuoUmhBzwEcKW9FZJHavbRGps\/ICrRa4Hhe5MrSmzVasX2\/d3TY26fVEFhJ7VzXiahrpcLVriVgLdbxXLdu+ovVcEOjlnwh6VWqJHuyl5TJmV53CP9+utCrZVWvzqNd\/EQr8G+2UX9hNZPn7b\/GnDr602Arpha319vNruFn02T37I3BvE9uwbsDFMjn0i9AwsDcH3OPuN1BRxf5OMj\/RZsdfbFk1Di81fng\/izF1kOnHmbjLdOHMPmY048xQyRlUlcy+Zc5IxfTyfWP4HZA+xU\/fN6Q7zLbJ+3dIm+60yjX7PyepBdtF1Y0x69UM\/evH0IBqU5JeR5mNw5juMJqRi3ZaQDV62\/7ey\/WeLfPBs\/MmHGrcFz\/HOBITrE84WQwIWhw9\/uZI4sy33Cxcuu+ynvVX6aW8yukxITFyteeIcZrBo\/sj4Vb4ITs4rXfUXN8SOrIVU5nV7J\/3jvdoAgpESEF4R85r8biZ12gtzTntEuXsYidN0yG0fjh1cIE5kCIvTad8xWtGFuRbERTLOmnwdPjlkoH7MPoCOjxte1UxpzpbEL4byV\/DCD5sJu3fhHR6YFt+J\/zVHZn4qlc7qe5nVK8p9Cplarx8jGabj9274VQ798iomjzVhJ1uu3uJdWSPTgffRAZ\/zvnEObRBKh3GeChJU\/mCWxuAgikz6oWwRfTDD\/zDDH7lf2XlJaUeK1EK1scEmLfYB1zPgBOh3jNnTXewCqdeqddfNRpgLzgfWpOax2p1esSW+RCGwetXC45b3GdLjHKGIkTz9PaE40u3u4VBKEOUEETCXa1iPO\/Gwq4MmRzoLS8xafqlJjfR3CGTei67F2QzN+7Ty\/h8+EAAA7Vh3dFVV1t\/3nuSRhDQSQoeESNWRJgLCu+cSCAgKooQPxIYBQpMUSegkEFJeEGmC4og41DgZiggMIiRxCIp0MeQTERV1VMQC0gQ+RL792\/cl3Flr2r+z1rgW7l\/uPmfvc3Y\/zzBMUhT68Y2q4vDwsQ8N7TrlnnH3TkvsNuDZ+0Z2mnh\/187jh1E01X3kalgMNaamFBBgEJkUYAQmpo+anJqSlkUeI2g2EQVTKAj\/JySSykwig0Q+NacAM\/Dh5LEpcR3\/2fpowAhjKjaasjEeG\/unZaVMSkueGDcobeL0uN7JaVOSM8lD\/1rMQoMPMLg4HKIMPkNYYMXqxL0lE5LT0jPjsiZnxo1OzkrPbB5XsXpIStyo9LSs5FFZyZNSUvkbxeQT9YzjXW0KiBabbQcyOzNl0qTkLOqVPnE03f57cHpqctrd8vFO4+8rCPl7GgJ8RCtYeFGgaWQTZeUP3tnF9FHfV9S4upvvD2D9RbX4fx0CyRNDRi79ZX5BmydG8Io1C1X+b7d8rhUxntbkacVGq5ajCNyevDX7tfOtyTDMubQq280xPDkzzhazf8x82j\/WzTE9ORlRvclQZgFVNXBzlCe7y1PdyQhgztf93ZwAT07amR5kBDJn3UY3J9CTU3EwmQyPWUgXw9wcjyfnzicGkVGLOU\/1cnNqeXK8pyPICGLO5xPdnCBPdsXB5mQEM6cwz80J9mQXZ5SREcKcB4rdnBBPzrTyEY6eLp+5ObVr9PjolHJzQv16ajOnfYSbE+bJqRo4Ejbw0Zd3ujnhfhsEM2dJbzcnwn82D3P6D3FzImts4KPZaW5OHf\/ZQpnzTp6bE+X3KU49aJGbE+0\/NZnV0VLNifHvCTPzKCPCzannyZkzwUtGOMdBkNfNqe+PgyD26WXTzWng1xPBnMQObk5DT87C5e1w0wLavsDNaeS\/KSLk+V\/cnMb+CIFPX+rk5jTx2y2AOY\/9j5vT1G\/rCOaE+NycZv4TQNq5HW5OrEva1pNuTpxfWiRbdF6gm9Pckx316Nuwjo8y67k58X7r1GHOG+3dnDs8sxPnh8IGPjo03M1p4bcBvG1kuTktXd5OmOfmtHI8F2wYtyuOU4HInD0yspuqO1PrBpGmd1nQUDW0RfOG03OvvPFKAAVeC6FQk0OBSyTLoloUJGXV\/WeYET6b63lEa5pLNCmfvhhdQE\/XL6CMfgXUYUMhdQsrpHUJhdRiYiEdnltIi9cX0qxPfZSjfFQZ7qP8O33UubePfkzyUXyaj0bm+ejiQpQwCByeT4tD8imjqoCKWOi1rAI69hkLbVVIv\/YrpI0zWOCfCmnIkULa\/puPEiN9NKetj15lYZWpPorKi+bj85G5tBtzDCPXoLkG5RmUb1CBQYUG+QwqMmieQev5XgeNjnTICDhi0FFeYtJy0\/AYfEv0gmCqXV1rnW7Bm5+QhsEgP8zpGo3wd1OzGcVSK4MFzgoJDs5OS03N6ZWQAJbC\/7jxGdSalhvUhMKNhrn8qTG1pN9RO6PAJPJE7THIOHY1SeuQ5drsuyNTt9vatNy8fHOIJeC7GyWWsKrXkPHVjLr6j\/tq2yo6r6eAyvjHdYfPAmz15\/1TdOqZGxr0zUnfaflQK\/d\/NVa06bhfy5Z+X+7SkAGqNlyotAC+Xr\/CkhXdt\/ezsAVUZABAKFaIFmyBWsgAZcuRgXPy3UgO3Pmee2zzi0FHNICqfULZAJuaNLI5Mm310MgO9gs\/NeF\/XnvvlSBbfTStv\/3djbMatPM927R8aHFqunZWtNGyJeLurRZkvBfXwRKhrI6ghYmjlyn7v9+XM3TrjkHaHND1gAA1LPwnAbkvKvvbY\/FaJX8TaR+YovWoyAb2x2sztDo3K9bOHLdEg8oJAGAGrJhV95yzBfvx71krxBah37eqY0MLqAm9NQDqyBdAxvglm3R6lCpVL\/w0S0C2fa\/u9fQ3XtW4\/WdWelSe1faJRVZLj6EVc61u8xKwyhqxa57zAaf5YtACi62uVWX8Kf5wSbMJ9JOLTFvFb5kkPriWtFaoKtl3SECnoB8hx1Zjx3jsHPuK5mphX75ZpVWdRxva2fafNWj37UXOh2UN8nVRvYZ26pmZWv1W5Vhl8tIG9tgxY7QJm9WAPQdXaxNWEIAQ+eDqUq0APppWoqeWn2bRb2ulQ05o2CZm8\/u68IcPtfrxkZ0ciKd07RNrhSq+uIBPr+c4K55LeFq21D\/5kL5VtVOrdRmW3nvljxr0Txde0CbAz68XOhwsT\/7mYeGqXk+ncIg21sUr8llGMPQv19tWnre2rXxDqDq0+j0BDQM+0m83C9Rqxtlv9ctpUfqZ0st6WPjd2ty2MgK3stTnLTz2wwvq897z7KsUL2Ie5iyt9iYZsMfjoxvbJq71XEJP2zTvqmUL+LXkTYdVvYZ2cobwNosvVs5ezdsNwArKfn69bznsUHZull1+YEp5GXu23ORLld0sebZMFa94t3Rq+R\/KFldM9oKq4fd1tgA4OazxS1LLFI47tTy2DJSDn0yAEbuCbRMerAGss7sCmDOhtIxHMn2Xr165WtYgALYurz4aGa++G8dJ1wQpedYCQNJdS7rDVnwEltvWBkU2y4fgjV5ZkR7V29mCxIUMUHXk8AABb04ap68l8YoHQufCWTboB1dZBsB3N9r6V9xhq4uVA0U\/ZIDSN4qMi5X+HAfgsLLM7tv3az60FsA3RpXaz6beLWEzYtcBlJASTt6PORbmCeVEGCPg8dE9OGqOaZU5ro5+1jqon594xmLTa\/OjaeOttX1+0ar+yaN8JWVPP9uKubWQRGMkqxDpoBIPAIsrrugWp65rtbt\/qP1Lm081aOP2K7UJwGd2Ds2UCxOqO4stVWw\/AYhCrvReNbPuZi4DERbcWpa11FIcG1ZKj9MW6OCdzbR88J4epGH1Z0qztOoUtNE6cvh5vkEI22S5VqhnMAUuDGq+nFZ5G+AGZuEPSwSo2IJnBDQMGKrRWBTKTvW\/IX9t6XzggOaiMJx9eNZSHI+cefusi5ULhCLyBCDaYwt+sHjLHlYezJ1jv55Zt53mJlaFPyw2zmEOPK+FssNtxKt63vuaGKDaIlTICYJVsKlUVoBrScpmE6FhRNrrM27qT47Wt6sGfqVVSo9YG3UFtN1WtjYAm5jMhcvPibUFoKIrgOZbtkphenJRBfz+Iad9JXfJHUK5l6wV8NWMZWzOg5orRYEsZXdoDm8E03gxJWjrjkUSKo4aeIupAyTdeNjnCPQDddf72jy0uo\/uee\/nWl1PGsUyr6Oe66aPcStFbcNNq69OmzjcXzv\/uhhFfXJ0qgCEi3QMRARnMofKv+oYWIEYlS3oGJAhHQNCoQpaQFVZ1nEBCGVZ0SkolHvgJQ61GBtM6YV9d2yT5ihaAKAWK+Qc2IKDQYacFPv4LKXQAurcitmWSj2zWwA61ReDwrT6ev0pdk4sjzBfS\/wp9Numj43WoKIPAObHCrhStsx9ca+GjCOHD2sRiroOLaAKmQqAxiYrUGKwhfPNkfHkol4iFFS0AEAtVsg5sAUHgww5KYTi6NACSmXc4LvNy5UrKo5wAeAw9SJqOEUPezm+vFwLLYkRyS54JXBouEY\/fevSTYub1TD9xv1fWuheoNwKVwmILdiAkc5S7z\/4ln6pd20Nim3yYU2fLpxqm9kzNjrger5Ify7tL6GqaxWz2SfZjWxHHnOR7MeB+BTbsYWkv4Lztq1MlzyOzpuj1Uu951soIDjuqMiXteIaYE0\/W4xaIEVSPkxe+jEfO9tKnP+j5muXWs8lEPollw7OVu5eElAPjVwsVCXO3ygAdbn7dp730HgPrQ60uzz1f3z0W9pEbvIZtIwvSEVc7nc+9iMGG8wIEAYqpQtgw4XBfDmOTnQztrIGRQmSD9hfsu9BJ3tx5WHhm9iOM7nblGhuTM9rXAplqOlj67R6L26LPj5wjX4gtILn75VaQXJRvd9rVBuoVt+3uiCZjyNj6OLyZ9gon6DoE\/IBrWT4fZf1wwuWWwrRWpYVbaFQyRARZm6QAKmOGH6qVPH0Xyv3RflTwXkAvImHpDssvskua02fHRYo901tArTu2MY2MUzWAPE+QPDGJjxu+TSqMLthsR6\/5Cfr1XdXCVVIYYCWnj0SSSYMzDXaq1D0WKkXzZNrGSkEOE5SfTSZXrze0x9oE+Dn1z02g73sMz+oYQFINYf1+EOp4jFFwPsPdmUlS73c9E2NOQatgZ1uKS6H1jt\/aMQ5toAnrnTNT4cFXM64hCJIa0Dui3lOF0eiwoZ7DjbHy2Axu83UMC6oWpdRJgChhBavNjX5RJbCl9iqbuR8z24frUE54LUJIGoat2\/KUeoHbAinjTB1AELcnDPhV264JyxpLJxR3LCPs7vWehXMh5tWX51+4Wr+YfwK+UOqCQDPO47VIYQ7jIXbSoqzU8TNoFKRANAzsYK3YKY9wd3\/MkdxW8iyRShSC1pA1VuXygRg0uHxzlYRd1\/koegaj6hkv\/L7k1phoOE4ksFGtACgPUTnkQQwjyeX+IRDrKJ6J9lR271c79+BulJoASUDjQt1DtkvAB1MaiSGIBRNbgPspAStVjU6L9YGFX0AKLxYIZUYW1CaIQOZLEJRvKEFVF2+uUzA280KnBU3cibIFtRNkVG8IlGEgooWAKjFCjkHtuBgkCEnhVAcHVpAyUCSs6\/JBED1NeO3XOSR4DltcuLw6HLKAW9dsmyTxzK7BvAmZxdTIrzpudBYt6qmYQoawh2YH8QYdgSgJgureo3zpodlMViieZTymGTxPy9qtsWdhbOln4X18uGTo1fB5Yd6jPOE52cDjy915WEoj3wAvPplBX4GwBZQkQEAoVjBcryyBWohA5SSyOD2JdeRYYczCZme16MGyFWQJzVAWKh2NYB3O9uZEp3kdKh+QEm9Avjvc5inT1A8AwX8Jz6HL3DF58iSPxR+\/wCAa9mrztza0pP7b7gWKyBctsC1kCGuhVB4ElpAFX6dAeDUdVaEmbU5Fi9xPYjiUPxQm1zMODS2aBW88R8UGHgIVGoBAMwlK1BYsYWzlwVudaZDNgarco2LGOixAneRLSgwkPE3BQZaQEUtAM7B70PnYFw+uBafYT\/21SbOzrbQchmYjJc7NsR1mcPtw7EybeEiw\/30n70+4GKTRzmNCishUefR6xovOGkNCCVYED0b1ATAc1Xl\/+WgDhx6lM+0TyhftoLD8ChXvjKhnK0rBSBlMHxj2BVzguJZX5P2cjamRHs5\/7891suGLm4ySQKmlo9wHnmJ8yfKI4\/LpPPIq4yfKY88UAxlJgCLIRN7mTpAHnkAcNPu\/gNsnJUv28fGIHmrqptQHvE6CBjQtS3\/fsePvOMD42XpgSnNZKviEYR\/HVyjQaXmA7AWMrk+OVcBEH0A2PTIghMcEawPIiH++1ZvClX8K40AvLnB5B9b8mUpCj62isWgD1T0AbCW2xYTUOPNGoDfaW8\/KvEFUykmGXlUDvnrenEnbAfKE5jznsavtzwZwfbRNpoV3tMYyk2IRsqoE2sj7ZslFxDH9vGBvHRVo\/bipmq\/Ef0\/(\/figma)--&gt;\"><\/span><span style=\"color: #40a335;\"><strong>\u00a1CONT\u00c1CTANOS!<\/strong><\/span><\/p>\n<p>[\/et_pb_text][et_pb_contact_form use_spam_service=\u00bbon\u00bb email=\u00bbcomercial@acemaingenieria.com\u00bb custom_message=\u00bbPAGINA PRINCIPAL &#8211; ACEMA Ingenier\u00eda||et_pb_line_break_holder||&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;||et_pb_line_break_holder||||et_pb_line_break_holder||De : %%Name%% %%Last_Name%%||et_pb_line_break_holder||Correo electr\u00f3nico: %%Email%%||et_pb_line_break_holder||N\u00famero de contacto: %%Numero_contacto%%||et_pb_line_break_holder||Mensaje: %%Message%%\u00bb use_redirect=\u00bbon\u00bb redirect_url=\u00bbhttps:\/\/acemaingenieria.com\/gracias\u00bb submit_button_text=\u00bbEnviar\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb _unique_id=\u00bb24f4c78c-4604-495c-ad90-56d883d02d5a\u00bb form_field_text_color=\u00bb#000000&#8243; title_font=\u00bbMontserrat||||||||\u00bb title_text_color=\u00bb#000000&#8243; captcha_font=\u00bbMontserrat||||||||\u00bb captcha_text_color=\u00bb#000000&#8243; custom_button=\u00bbon\u00bb button_text_size=\u00bb20px\u00bb button_text_color=\u00bb#FFFFFF\u00bb button_bg_color=\u00bb#2058DB\u00bb button_border_width=\u00bb0px\u00bb button_border_radius=\u00bb25px\u00bb button_letter_spacing=\u00bb0px\u00bb button_font=\u00bb|700|||||||\u00bb button_use_icon=\u00bboff\u00bb module_alignment=\u00bbcenter\u00bb border_radii=\u00bbon|10px|10px|10px|10px\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_color=\u00bb#215BA0&#8243; box_shadow_style_button=\u00bbpreset1&#8243; global_colors_info=\u00bb{}\u00bb][et_pb_contact_field field_id=\u00bbName\u00bb field_title=\u00bbNombres\u00bb allowed_symbols=\u00bbletters\u00bb _builder_version=\u00bb4.27.4&#8243; form_field_font=\u00bbMontserrat||||||||\u00bb border_radii=\u00bbon|10px|10px|10px|10px\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_color=\u00bb#215BA0&#8243; global_colors_info=\u00bb{}\u00bb button_text_size__hover_enabled=\u00bboff\u00bb button_one_text_size__hover_enabled=\u00bboff\u00bb button_two_text_size__hover_enabled=\u00bboff\u00bb button_text_color__hover_enabled=\u00bboff\u00bb button_one_text_color__hover_enabled=\u00bboff\u00bb button_two_text_color__hover_enabled=\u00bboff\u00bb button_border_width__hover_enabled=\u00bboff\u00bb button_one_border_width__hover_enabled=\u00bboff\u00bb button_two_border_width__hover_enabled=\u00bboff\u00bb button_border_color__hover_enabled=\u00bboff\u00bb button_one_border_color__hover_enabled=\u00bboff\u00bb button_two_border_color__hover_enabled=\u00bboff\u00bb button_border_radius__hover_enabled=\u00bboff\u00bb button_one_border_radius__hover_enabled=\u00bboff\u00bb button_two_border_radius__hover_enabled=\u00bboff\u00bb button_letter_spacing__hover_enabled=\u00bboff\u00bb button_one_letter_spacing__hover_enabled=\u00bboff\u00bb button_two_letter_spacing__hover_enabled=\u00bboff\u00bb button_bg_color__hover_enabled=\u00bboff\u00bb button_one_bg_color__hover_enabled=\u00bboff\u00bb button_two_bg_color__hover_enabled=\u00bboff\u00bb][\/et_pb_contact_field][et_pb_contact_field field_id=\u00bbLast_Name\u00bb field_title=\u00bbApellidos\u00bb allowed_symbols=\u00bbletters\u00bb _builder_version=\u00bb4.27.0&#8243; form_field_font=\u00bbMontserrat||||||||\u00bb border_radii=\u00bbon|10px|10px|10px|10px\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_color=\u00bb#215BA0&#8243; global_colors_info=\u00bb{}\u00bb button_text_size__hover_enabled=\u00bboff\u00bb button_one_text_size__hover_enabled=\u00bboff\u00bb button_two_text_size__hover_enabled=\u00bboff\u00bb button_text_color__hover_enabled=\u00bboff\u00bb button_one_text_color__hover_enabled=\u00bboff\u00bb button_two_text_color__hover_enabled=\u00bboff\u00bb button_border_width__hover_enabled=\u00bboff\u00bb button_one_border_width__hover_enabled=\u00bboff\u00bb button_two_border_width__hover_enabled=\u00bboff\u00bb button_border_color__hover_enabled=\u00bboff\u00bb button_one_border_color__hover_enabled=\u00bboff\u00bb button_two_border_color__hover_enabled=\u00bboff\u00bb button_border_radius__hover_enabled=\u00bboff\u00bb button_one_border_radius__hover_enabled=\u00bboff\u00bb button_two_border_radius__hover_enabled=\u00bboff\u00bb button_letter_spacing__hover_enabled=\u00bboff\u00bb button_one_letter_spacing__hover_enabled=\u00bboff\u00bb button_two_letter_spacing__hover_enabled=\u00bboff\u00bb button_bg_color__hover_enabled=\u00bboff\u00bb button_one_bg_color__hover_enabled=\u00bboff\u00bb button_two_bg_color__hover_enabled=\u00bboff\u00bb][\/et_pb_contact_field][et_pb_contact_field field_id=\u00bbNumero_contacto\u00bb field_title=\u00bbN\u00famero de contacto\u00bb allowed_symbols=\u00bbnumbers\u00bb _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb form_field_font=\u00bbMontserrat||||||||\u00bb width_tablet=\u00bb\u00bb width_phone=\u00bb100%\u00bb width_last_edited=\u00bbon|phone\u00bb max_width=\u00bb100%\u00bb max_width_tablet=\u00bb100%\u00bb max_width_phone=\u00bb100%\u00bb max_width_last_edited=\u00bbon|phone\u00bb border_radii=\u00bbon|10px|10px|10px|10px\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_color=\u00bb#215BA0&#8243; global_colors_info=\u00bb{}\u00bb][\/et_pb_contact_field][et_pb_contact_field field_id=\u00bbEmail\u00bb field_title=\u00bbCorreo electr\u00f3nico\u00bb field_type=\u00bbemail\u00bb _builder_version=\u00bb4.27.0&#8243; form_field_font=\u00bbMontserrat||||||||\u00bb max_width=\u00bb100%\u00bb max_width_tablet=\u00bb\u00bb max_width_phone=\u00bb100%\u00bb max_width_last_edited=\u00bbon|phone\u00bb custom_margin=\u00bb||||false|false\u00bb module_alignment_tablet=\u00bbcenter\u00bb module_alignment_phone=\u00bbright\u00bb module_alignment_last_edited=\u00bbon|phone\u00bb border_radii=\u00bbon|10px|10px|10px|10px\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_color=\u00bb#215BA0&#8243; global_colors_info=\u00bb{}\u00bb button_text_size__hover_enabled=\u00bboff\u00bb button_one_text_size__hover_enabled=\u00bboff\u00bb button_two_text_size__hover_enabled=\u00bboff\u00bb button_text_color__hover_enabled=\u00bboff\u00bb button_one_text_color__hover_enabled=\u00bboff\u00bb button_two_text_color__hover_enabled=\u00bboff\u00bb button_border_width__hover_enabled=\u00bboff\u00bb button_one_border_width__hover_enabled=\u00bboff\u00bb button_two_border_width__hover_enabled=\u00bboff\u00bb button_border_color__hover_enabled=\u00bboff\u00bb button_one_border_color__hover_enabled=\u00bboff\u00bb button_two_border_color__hover_enabled=\u00bboff\u00bb button_border_radius__hover_enabled=\u00bboff\u00bb button_one_border_radius__hover_enabled=\u00bboff\u00bb button_two_border_radius__hover_enabled=\u00bboff\u00bb button_letter_spacing__hover_enabled=\u00bboff\u00bb button_one_letter_spacing__hover_enabled=\u00bboff\u00bb button_two_letter_spacing__hover_enabled=\u00bboff\u00bb button_bg_color__hover_enabled=\u00bboff\u00bb button_one_bg_color__hover_enabled=\u00bboff\u00bb button_two_bg_color__hover_enabled=\u00bboff\u00bb][\/et_pb_contact_field][et_pb_contact_field field_id=\u00bbrequest_type\u00bb field_title=\u00bbTipo de solicitud\u00bb field_type=\u00bbselect\u00bb select_options=\u00bb%91{%22value%22:%22Servicios solares%22,%22checked%22:0,%22dragID%22:-1},{%22value%22:%22Servicios el\u00e9ctricos%22,%22checked%22:0,%22dragID%22:0},{%22value%22:%22Trabaja con nosotros%22,%22checked%22:0,%22dragID%22:1}%93&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_contact_field][et_pb_contact_field field_id=\u00bbMessage\u00bb field_title=\u00bbEscribe tu mensaje&#8230;\u00bb field_type=\u00bbtext\u00bb fullwidth_field=\u00bbon\u00bb _builder_version=\u00bb4.27.0&#8243; form_field_font=\u00bbMontserrat||||||||\u00bb border_radii=\u00bbon|5px|5px|5px|5px\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_color=\u00bb#215BA0&#8243; global_colors_info=\u00bb{}\u00bb button_text_size__hover_enabled=\u00bboff\u00bb button_one_text_size__hover_enabled=\u00bboff\u00bb button_two_text_size__hover_enabled=\u00bboff\u00bb button_text_color__hover_enabled=\u00bboff\u00bb button_one_text_color__hover_enabled=\u00bboff\u00bb button_two_text_color__hover_enabled=\u00bboff\u00bb button_border_width__hover_enabled=\u00bboff\u00bb button_one_border_width__hover_enabled=\u00bboff\u00bb button_two_border_width__hover_enabled=\u00bboff\u00bb button_border_color__hover_enabled=\u00bboff\u00bb button_one_border_color__hover_enabled=\u00bboff\u00bb button_two_border_color__hover_enabled=\u00bboff\u00bb button_border_radius__hover_enabled=\u00bboff\u00bb button_one_border_radius__hover_enabled=\u00bboff\u00bb button_two_border_radius__hover_enabled=\u00bboff\u00bb button_letter_spacing__hover_enabled=\u00bboff\u00bb button_one_letter_spacing__hover_enabled=\u00bboff\u00bb button_two_letter_spacing__hover_enabled=\u00bboff\u00bb button_bg_color__hover_enabled=\u00bboff\u00bb button_one_bg_color__hover_enabled=\u00bboff\u00bb button_two_bg_color__hover_enabled=\u00bboff\u00bb][\/et_pb_contact_field][et_pb_contact_field field_id=\u00bbPol\u00edticas\u00bb field_title=\u00bbPol\u00edticas de privacidad\u00bb field_type=\u00bbcheckbox\u00bb checkbox_options=\u00bb%91{%22value%22:%22Acepto%22,%22checked%22:0,%22dragID%22:-1,%22link_url%22:%22https:\/\/acemaingenieria.com\/politica-privacidad\/%22}%93&#8243; fullwidth_field=\u00bbon\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb form_field_background_color=\u00bb#FFFFFF\u00bb form_field_text_color=\u00bb#000000&#8243; form_field_focus_background_color=\u00bb#000000&#8243; form_field_focus_text_color=\u00bb#FFFFFF\u00bb form_field_font=\u00bbMontserrat||||||||\u00bb background_color=\u00bb#FFFFFF\u00bb background_enable_color=\u00bbon\u00bb transform_scale=\u00bb91%|91%\u00bb width_tablet=\u00bb\u00bb width_phone=\u00bb\u00bb width_last_edited=\u00bbon|phone\u00bb max_width=\u00bb26%\u00bb max_width_tablet=\u00bb26%\u00bb max_width_phone=\u00bb49%\u00bb max_width_last_edited=\u00bbon|phone\u00bb custom_margin=\u00bb|||30px|false|false\u00bb custom_margin_tablet=\u00bb|||30px|false|false\u00bb custom_margin_phone=\u00bb|||10px|false|false\u00bb custom_margin_last_edited=\u00bbon|phone\u00bb custom_padding=\u00bb10px||10px||true|false\u00bb custom_padding_tablet=\u00bb10px||10px||true|false\u00bb custom_padding_phone=\u00bb10px||10px||true|false\u00bb custom_padding_last_edited=\u00bbon|phone\u00bb link_option_url=\u00bbhttps:\/\/acemaingenieria.com\/politica-privacidad\/\u00bb link_option_url_new_window=\u00bbon\u00bb module_alignment_tablet=\u00bb\u00bb module_alignment_phone=\u00bb\u00bb module_alignment_last_edited=\u00bbon|phone\u00bb custom_css_main_element=\u00bbcolor:black;||border-radius:20px;\u00bb border_radii=\u00bbon|5px|5px|5px|5px\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_color=\u00bb#215BA0&#8243; global_colors_info=\u00bb{}\u00bb][\/et_pb_contact_field][\/et_pb_contact_form][\/et_pb_column][\/et_pb_row][et_pb_row disabled_on=\u00bboff|off|off\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#FFFFFF\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#FFFFFF\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f3666-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"3666\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/pages\/1734#wpcf7-f3666-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"3666\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f3666-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<p><!DOCTYPE html>\n<\/p>\n<html lang=\"es\">\n\t<head>\n <meta charset=\"UTF-8\" \/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n\t\t<title>Formulario Minimalista\n\t\t<\/title>\n\t\t<style>\n \/* =========================================\n ESTILOS MEJORADOS - MINIMALISTA CON BUEN UX\n ========================================= *\/\n body {\n font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;\n background-color: #f8fafc;\n margin: 0;\n padding: 0;\n color: #334155;\n line-height: 1.6;\n }\n\n .formulario-acema {\n background: white;\n border-radius: 16px;\n padding: 48px 40px;\n width: 100%;\n \n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);\n border: 1px solid rgba(226, 232, 240, 0.6);\n position: relative;\n overflow: hidden;\n }\n\n \/* Burbujas decorativas transparentes en esquinas *\/\n .formulario-acema::before {\n content: '';\n position: absolute;\n width: 200px;\n height: 200px;\n background: radial-gradient(circle, rgba(33, 91, 160, 0.08), rgba(33, 91, 160, 0));\n border-radius: 50%;\n top: -80px;\n right: -80px;\n pointer-events: none;\n z-index: 0;\n }\n\n .formulario-acema::after {\n content: '';\n position: absolute;\n width: 250px;\n height: 250px;\n background: radial-gradient(circle, rgba(64, 163, 53, 0.08), rgba(64, 163, 53, 0));\n border-radius: 50%;\n bottom: -120px;\n left: -100px;\n pointer-events: none;\n z-index: 0;\n }\n\n \/* Asegurar que el contenido est\u00e9 sobre las burbujas *\/\n .formulario-acema h2 {\n position: relative;\n z-index: 1;\n color:#40a335;\n text-align: center;\n font-weight: 900;\n font-size: 32px;\n margin-bottom: 40px;\n letter-spacing: -0.5px;\n }\n\n \/* Grid mejorado con mejor espaciado *\/\n .grid-layout {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 24px;\n margin-bottom: 24px;\n position: relative;\n z-index: 1;\n }\n\n .column {\n display: flex;\n flex-direction: column;\n position: relative;\n }\n\n \/* Select row mejorado *\/\n .select-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 24px;\n margin-bottom: 24px;\n position: relative;\n z-index: 1;\n }\n\n \/* Campos de formulario - minimalista *\/\n .formulario-acema input[type=\"text\"],\n .formulario-acema input[type=\"email\"],\n .formulario-acema input[type=\"tel\"],\n .formulario-acema select,\n .formulario-acema textarea,\n .formulario-acema input[type=\"file\"] {\n width: 100%;\n background-color: transparent;\n color: #727272a8;\n border: none;\n border-bottom: 2px solid #e2e8f0;\n border-radius: 0;\n padding: 14px 0 8px;\n font-size: 15px;\n font-family: inherit;\n transition: all 0.25s ease;\n appearance: none;\n cursor: pointer;\n }\n\n \/* Estilo espec\u00edfico para el select \"Tipo de solicitud\" *\/\n .formulario-acema select {\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 16px center;\n background-size: 16px;\n padding-right: 40px;\n background-color: white;\n }\n\n \/* Estados hover y focus para select *\/\n .formulario-acema select:hover {\n border-bottom-color: #93c5fd;\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23215ba0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n }\n\n .formulario-acema select:focus {\n outline: none;\n border-bottom-color: #7eb3f3;\n background-color: transparent;\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23215ba0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n box-shadow: 0 2px 0 0 rgba(33, 91, 160, 0.1);\n }\n \n\n \/* Estilo para cuando se ha seleccionado una opci\u00f3n *\/\n .formulario-acema select:valid:not([value=\"\"]) {\n color: #334155;\n font-weight: 500;\n }\n\n \/* Estilo para la opci\u00f3n por defecto *\/\n .formulario-acema select option[value=\"\"] {\n color: #215ba0;\n font-style: italic;\n }\n\n \/* Estilo para las opciones del dropdown *\/\n .formulario-acema select option {\n background-color: white;\n color: #215ba0;\n padding: 12px 16px;\n font-size: 15px;\n font-family: inherit;\n transition: all 0.2s ease;\n border-bottom: 1px solid #f1f5f9;\n }\n\n \/* Estilo para la \u00faltima opci\u00f3n (sin borde inferior) *\/\n .formulario-acema select option:last-child {\n border-bottom: none;\n }\n\n \/* Estilo para opciones al hacer hover en el dropdown *\/\n .formulario-acema select option:hover {\n background-color: #dbeafe;\n color: #215ba0;\n padding-left: 20px;\n cursor: pointer;\n }\n\n \/* Estilo para opci\u00f3n seleccionada en el dropdown *\/\n .formulario-acema select option:checked {\n background: linear-gradient(135deg, #215ba0 0%, #2563eb 100%);\n color:#215ba0;\n border-radius: 15px;\n font-weight: 500;\n position: relative;\n }\n\n \/* Flecha decorativa para opci\u00f3n seleccionada *\/\n .formulario-acema select option:checked::after {\n content: \"\u2713\";\n position: absolute;\n right: 16px;\n font-size: 14px;\n font-weight: bold;\n }\n\n \/* Estados focus mejorados *\/\n .formulario-acema input:focus,\n .formulario-acema select:focus,\n .formulario-acema textarea:focus {\n outline: none;\n border-bottom-color: #215ba0;\n box-shadow: 0 2px 0 0 rgba(33, 91, 160, 0.1);\n background-color: transparent;\n }\n\n \/* Placeholders elegantes *\/\n .formulario-acema input::placeholder,\n .formulario-acema textarea::placeholder {\n color: transparent;\n opacity: 1;\n transition: color 0.2s ease;\n }\n\n .formulario-acema input:focus::placeholder,\n .formulario-acema textarea:focus::placeholder {\n color:#929292a8;\n }\n\n \/* \u00c1rea de mensaje *\/\n .formulario-acema textarea {\n height: 140px;\n resize: vertical;\n min-height: 140px;\n margin-bottom: 32px;\n font-family: inherit;\n line-height: 1.5;\n border: 1px solid rgb(214, 212, 212);\n border-radius: 13px ;\n \n }\n\n \/* Estilos para etiquetas flotantes *\/\n .field-container {\n position: relative;\n margin-bottom: 8px;\n z-index: 1;\n }\n\n .field-label {\n position: absolute;\n top: 18px;\n left: 0;\n font-size: 15px;\n font-weight: 500;\n color:#929292a8; ;\n pointer-events: none;\n transition: all 0.2s ease;\n transform-origin: left center;\n margin: 0;\n padding: 0;\n }\n\n \/* Estados de la etiqueta flotante *\/\n .field-container.focused .field-label,\n .field-container.has-value .field-label {\n top: 0;\n font-size: 12px;\n color: #215ba0;\n transform: translateY(0);\n font-weight: 600;\n }\n\n .field-container select ~ .field-label {\n background-color: white;\n padding-right: 30px;\n padding-left: 4px;\n z-index: 1;\n }\n\n \/* Campos con valor pero sin foco *\/\n .field-container input:not(:placeholder-shown) ~ .field-label,\n .field-container textarea:not(:placeholder-shown) ~ .field-label,\n .field-container select:valid:not([value=\"\"]) ~ .field-label {\n top: 0;\n font-size: 12px;\n color: #64748b;\n font-weight: 500;\n }\n\n \/* Select enfocado *\/\n .field-container select:focus ~ .field-label {\n color: #215ba0;\n font-weight: 600;\n }\n\n \/* Privacidad - m\u00e1s minimalista *\/\n .privacy-card {\n background: #f8fafc;\n border-radius: 12px;\n padding: 16px;\n margin: 0 0 32px 0;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n border: 1px solid #e2e8f0;\n width: fit-content;\n position: relative;\n z-index: 1;\n }\n\n .privacy-title {\n color: #1e293b;\n font-weight: 600;\n font-size: 15px;\n margin: 0;\n }\n\n .privacy-card a {\n color: #40a335;\n font-weight: 500;\n text-decoration: none;\n transition: color 0.2s ease;\n font-size: 14px;\n }\n\n .privacy-card a:hover {\n color: #047857;\n text-decoration: underline;\n }\n\n \/* Checkbox wrapper mejorado *\/\n .checkbox-wrapper {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n }\n\n \/* Checkbox personalizado *\/\n .wpcf7-list-item {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .formulario-acema .privacy-card input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n border-radius: 3px;\n border: 1.5px solid #cbd5e1;\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n\n .formulario-acema .privacy-card input[type=\"checkbox\"]:checked {\n background-color: #40a335;\n border-color: #059669;\n }\n\n .wpcf7-list-item-label {\n color: #475569;\n font-size: 13px;\n cursor: pointer;\n margin: 0;\n }\n\n \/* Bot\u00f3n de enviar - CENTRADO HORIZONTALMENTE *\/\n .submit-wrapper {\n text-align: center;\n width: 100%;\n margin-top: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n z-index: 1;\n }\n\n .formulario-acema input[type=\"submit\"] {\n background-color: #215ba0;\n color: white;\n padding: 16px 48px;\n border-radius: 12px;\n border: none;\n font-weight: 600;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.25s ease;\n display: inline-block;\n letter-spacing: 0.3px;\n min-width: 220px;\n box-shadow: 0 4px 20px rgba(37, 99, 235, 0.15);\n }\n\n .formulario-acema input[type=\"submit\"]:hover {\n background-color: #1d4ed8;\n transform: translateY(-3px);\n box-shadow: 0 8px 30px rgba(37, 99, 235, 0.25);\n }\n\n .formulario-acema input[type=\"submit\"]:active {\n transform: translateY(-1px);\n }\n\n \/* Campo de archivo mejorado *\/\n .hidden-cv {\n display: none;\n opacity: 0;\n transform: translateY(-10px);\n transition: all 0.3s ease;\n }\n\n .hidden-cv.active {\n display: flex;\n flex-direction: column;\n gap: 16px;\n opacity: 1;\n transform: translateY(0);\n }\n\n .file-wrapper {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 12px;\n flex-wrap: nowrap;\n }\n\n .hidden-cv p {\n color: #215ba0;\n font-weight: 600;\n font-size: 12px;\n text-align: left;\n margin: 0;\n flex: 0 0 auto;\n white-space: nowrap;\n padding: 0;\n align-self: center;\n }\n\n \/* Input file personalizado - minimalista y compacto *\/\n .formulario-acema input[type=\"file\"] {\n padding: 8px;\n cursor: pointer;\n border: 2px dashed #e2e8f0;\n background-color: white;\n border-radius: 6px;\n width: auto;\n display: inline-block;\n flex: 0 0 auto;\n font-size: 13px;\n }\n\n .vacante-input {\n flex: 1 1 auto;\n min-width: 140px;\n padding: 14px 0 8px;\n border: none;\n border-bottom: 2px solid #e2e8f0;\n font-family: inherit;\n font-size: 15px;\n background-color: transparent;\n color: #727272a8;\n width: 100%;\n transition: all 0.25s ease;\n }\n\n .formulario-acema input[type=\"file\"]:hover {\n border-color: #3b82f6;\n background-color: #f8fafc;\n }\n\n \/* Placeholder visible para vacante input *\/\n .vacante-input::placeholder {\n color: #929292a8;\n opacity: 1;\n }\n\n .formulario-acema input[type=\"file\"]::-webkit-file-upload-button {\n background-color: #215ba0;\n color: white;\n border: none;\n padding: 6px 12px;\n border-radius: 4px;\n margin-right: 8px;\n cursor: pointer;\n font-family: inherit;\n font-size: 12px;\n font-weight: 500;\n transition: all 0.2s ease;\n }\n\n .formulario-acema input[type=\"file\"]::-webkit-file-upload-button:hover {\n background-color: #1d4ed8;\n transform: translateY(-1px);\n }\n\n \/* Mensaje de error *\/\n .error-message {\n color: #ef4444;\n font-size: 13px;\n font-weight: 500;\n margin-top: 8px;\n display: none;\n animation: slideIn 0.3s ease;\n }\n\n .error-message.show {\n display: block;\n }\n\n \/* Alerta de archivo faltante *\/\n .file-alert {\n background-color: #fee2e2;\n border: 1px solid #fecaca;\n border-radius: 8px;\n padding: 10px 12px;\n margin-top: 8px;\n display: none;\n font-size: 13px;\n color: #991b1b;\n font-weight: 500;\n }\n\n .file-alert.show {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .file-alert::before {\n content: \"\u26a0\";\n font-size: 16px;\n flex-shrink: 0;\n }\n\n \/* =========================================\n ESTILOS PARA EL POPUP\/MODAL\n ========================================= *\/\n .success-modal {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n\n .success-modal.active {\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 1;\n }\n\n .modal-content {\n background: white;\n border-radius: 20px;\n padding: 32px 32px;\n width: 90%;\n max-width: 420px;\n text-align: center;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);\n border: 1px solid rgba(226, 232, 240, 0.8);\n transform: translateY(30px) scale(0.95);\n opacity: 0;\n transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n position: relative;\n overflow: hidden;\n }\n\n .success-modal.active .modal-content {\n transform: translateY(0) scale(1);\n opacity: 1;\n }\n\n \/* Icono de \u00e9xito *\/\n .modal-icon {\n width: 70px;\n height: 70px;\n background: linear-gradient(135deg, #215ba0 0%, #40a335 100%);\n border-radius: 50%;\n margin: 0 auto 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: iconPop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s both;\n }\n\n .modal-icon svg {\n width: 40px;\n height: 40px;\n fill: white;\n }\n\n @keyframes iconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 70% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n \/* T\u00edtulo del modal *\/\n .modal-title {\n color: #1e293b;\n font-weight: 700;\n font-size: 24px;\n margin-bottom: 12px;\n letter-spacing: -0.5px;\n }\n\n \/* Mensaje del modal *\/\n .modal-message {\n color: #64748b;\n font-size: 15px;\n line-height: 1.5;\n margin-bottom: 24px;\n max-width: 380px;\n margin-left: auto;\n margin-right: auto;\n }\n\n \/* Bot\u00f3n del modal *\/\n .modal-button {\n background: linear-gradient(135deg, #215ba0 0%, #2563eb 100%);\n color: white;\n border: none;\n padding: 16px 40px;\n border-radius: 12px;\n font-weight: 600;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.3s ease;\n display: inline-block;\n letter-spacing: 0.3px;\n box-shadow: 0 4px 20px rgba(33, 91, 160, 0.2);\n }\n\n .modal-button:hover {\n transform: translateY(-3px);\n box-shadow: 0 8px 30px rgba(33, 91, 160, 0.3);\n }\n\n .modal-button:active {\n transform: translateY(-1px);\n }\n\n \/* Animaci\u00f3n de confeti *\/\n .confetti {\n position: absolute;\n width: 10px;\n height: 10px;\n background: #f59e0b;\n opacity: 0;\n }\n\n \/* Decoraci\u00f3n sutil *\/\n .modal-decoration {\n position: absolute;\n width: 200px;\n height: 200px;\n background: linear-gradient(135deg, rgba(33, 91, 160, 0.05) 0%, rgba(37, 99, 235, 0.05) 100%);\n border-radius: 50%;\n top: -100px;\n right: -100px;\n z-index: -1;\n }\n\n .modal-decoration:nth-child(2) {\n width: 150px;\n height: 150px;\n background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(5, 150, 105, 0.05) 100%);\n bottom: -75px;\n left: -75px;\n top: auto;\n right: auto;\n }\n\n \/* Animaciones sutiles *\/\n .formulario-acema input,\n .formulario-acema select,\n .formulario-acema textarea {\n animation: fadeIn 0.3s ease-out;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n \/* Animaci\u00f3n para el select cuando cambia *\/\n @keyframes selectChange {\n 0% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-2px);\n }\n 100% {\n transform: translateY(0);\n }\n }\n\n .formulario-acema select.changed {\n animation: selectChange 0.3s ease;\n }\n\n \/* Responsivo mejorado *\/\n @media (max-width: 768px) {\n .formulario-acema {\n padding: 32px 24px;\n margin: 0;\n }\n\n .formulario-acema h2 {\n font-size: 28px;\n margin-bottom: 32px;\n }\n\n .grid-layout {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n .select-row {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n .privacy-card {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n padding: 16px;\n margin-bottom: 24px;\n }\n\n \/* Bot\u00f3n centrado en m\u00f3vil *\/\n .submit-wrapper {\n margin-top: 16px;\n }\n\n .formulario-acema input[type=\"submit\"] {\n width: 100%;\n max-width: 280px;\n padding: 16px;\n }\n\n \/* Ajuste para select en m\u00f3viles *\/\n .formulario-acema select {\n font-size: 16px; \/* Previene zoom en iOS *\/\n padding: 16px 0 10px;\n }\n\n \/* Modal responsive *\/\n .modal-content {\n padding: 28px 24px;\n margin: 20px;\n width: calc(100% - 40px);\n }\n\n .modal-title {\n font-size: 22px;\n margin-bottom: 10px;\n }\n\n .modal-message {\n font-size: 14px;\n padding: 0 10px;\n margin-bottom: 20px;\n }\n\n .modal-icon {\n width: 65px;\n height: 65px;\n margin-bottom: 14px;\n }\n\n \/* ...existing code... *\/\n }\n\n \/* Para pantallas muy peque\u00f1as *\/\n @media (max-width: 480px) {\n body {\n padding: 12px;\n }\n\n .formulario-acema {\n padding: 24px 20px;\n border-radius: 12px;\n }\n\n .formulario-acema h2 {\n font-size: 24px;\n margin-bottom: 28px;\n }\n\n .formulario-acema input[type=\"submit\"] {\n min-width: auto;\n width: 100%;\n padding: 16px 24px;\n }\n\n .modal-content {\n padding: 24px 18px;\n }\n\n .modal-title {\n font-size: 20px;\n margin-bottom: 8px;\n }\n\n \/* ...existing code... *\/\n }\n\t\t<\/style>\n\t<\/head>\n\t<body>\n\t\t<div class=\"formulario-acema\">\n\t\t\t<h2>\u00a1CONT\u00c1CTANOS!\n\t\t\t<\/h2>\n\t\t\t<div class=\"grid-layout\">\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span><br \/>\n<span class=\"field-label\">Nombres<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellidos\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"apellidos\" \/><\/span><br \/>\n<span class=\"field-label\">Apellidos<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telefono\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"tel\" name=\"telefono\" \/><\/span><br \/>\n<span class=\"field-label\">Tel\u00e9fono<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"email\" name=\"correo\" \/><\/span><br \/>\n<span class=\"field-label\">Correo electr\u00f3nico<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"select-row\">\n\t\t\t\t<div class=\"select-wrapper\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><select id=\"tipo-solicitud\" name=\"destino\" required>\n <option value=\"\" selected disabled>Tipo de solicitud<\/option>\n <option value=\"comercial.solar@acemaingenieria.com\">Servicios solares<\/option>\n <option value=\"comercial@acemaingenieria.com\">Servicios el\u00e9ctricos<\/option>\n <option value=\"desarrollo.humano@acemaingenieria.com\">Trabaja con nosotros<\/option>\n <\/select><br \/>\n<span class=\"field-label\"><\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div id=\"cv-wrapper\" class=\"hidden-cv\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><input type=\"text\" name=\"vacante\" id=\"vacante\" class=\"vacante-input\" placeholder=\" \" \/><br \/>\n<span class=\"field-label\">Vacante a la que aplica<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"file-wrapper\">\n\t\t\t\t\t\t<p>Adjunta tu hoja de vida\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"hoja_de_vida\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".pdf,.doc,.docx\" aria-invalid=\"false\" type=\"file\" name=\"hoja_de_vida\" \/><\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<div class=\"file-alert\" id=\"file-alert\">\n\t\t\t\t\t\t\t<p>Archivo requerido\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"error-message\" id=\"file-error\">\n\t\t\t\t\t\t\t<p>Por favor, adjunta tu hoja de vida\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"field-container\">\n\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"\" name=\"mensaje\"><\/textarea><\/span><br \/>\n<span class=\"field-label\">Mensaje<\/span>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t\t<div class=\"privacy-card\">\n\t\t\t\t<p><span class=\"privacy-title\">Pol\u00edticas de privacidad<\/span><br \/>\n<a href=\"\/politica-privacidad\" target=\"_blank\">Ver pol\u00edticas<\/a>\n\t\t\t\t<\/p>\n\t\t\t\t<div class=\"checkbox-wrapper\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"acepto\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acepto\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Acepto<\/span><\/label><\/span><\/span><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"submit-wrapper\">\n\t\t\t\t<p><input type=\"submit\" value=\"Enviar mensaje\" id=\"submit-button\" \/>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n \n <!-- Este div se usa para ocultar cualquier mensaje de confirmaci\u00f3n de Contact Form 7 -->\n\t\t\t<div style=\"display: none;\">\n\t\t\t\t<div class=\"wpcf7-response-output\" aria-hidden=\"true\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"wpcf7-mail-sent-ok\" style=\"display: none;\">\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n <!-- Modal de \u00e9xito -->\n\t\t<div class=\"success-modal\" id=\"successModal\">\n\t\t\t<div class=\"modal-content\">\n\t\t\t\t<div class=\"modal-decoration\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"modal-decoration\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"modal-icon\">\n\t\t\t\t\t<p><svg viewBox=\"0 0 24 24\">\n                    <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/>\n                <\/svg>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<h3 class=\"modal-title\">\u00a1Mensaje Enviado!\n\t\t\t\t<\/h3>\n\t\t\t\t<p class=\"modal-message\"><br \/>\nGracias por tu mensaje. Ha sido enviado correctamente.\n\t\t\t\t<\/p>\n\t\t\t\t<p>Nos pondremos en contacto contigo pronto.\n\t\t\t\t<\/p>\n\t\t\t\t<p><button class=\"modal-button\" id=\"closeModal\">Aceptar<\/button>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<p><script>\n document.addEventListener(\"DOMContentLoaded\", function () {\n const selectDestino = document.getElementById(\"tipo-solicitud\");\n const cvWrapper = document.getElementById(\"cv-wrapper\");\n const fileInput = cvWrapper ? cvWrapper.querySelector('input[type=\"file\"]') : null;\n const errorMessage = document.getElementById(\"file-error\");\n const fileAlert = document.getElementById(\"file-alert\");\n const form = document.querySelector('.formulario-acema');\n const submitButton = document.getElementById(\"submit-button\");\n const successModal = document.getElementById(\"successModal\");\n const closeModalBtn = document.getElementById(\"closeModal\");\n\n \/\/ Ocultar cualquier mensaje de Contact Form 7 que pueda aparecer\n function hideCF7Messages() {\n \/\/ Ocultar todos los mensajes de Contact Form 7\n const cf7Messages = document.querySelectorAll('.wpcf7-response-output, .wpcf7-mail-sent-ok, .wpcf7-mail-sent-ng, .wpcf7-spam-blocked, .wpcf7-validation-errors');\n cf7Messages.forEach(message => {\n message.style.display = 'none';\n message.setAttribute('aria-hidden', 'true');\n });\n \n \/\/ Tambi\u00e9n ocultar cualquier mensaje dentro del formulario\n const allMessages = document.querySelectorAll('.formulario-acema div[role=\"alert\"], .formulario-acema .alert, .formulario-acema .success-message');\n allMessages.forEach(message => {\n message.style.display = 'none';\n });\n }\n\n \/\/ Funci\u00f3n para inicializar etiquetas flotantes\n function initFloatingLabels() {\n const fieldContainers = document.querySelectorAll('.field-container');\n \n fieldContainers.forEach(container => {\n const input = container.querySelector('input, textarea, select');\n const label = container.querySelector('.field-label');\n \n if (!input || !label) return;\n \n \/\/ Inicializar estado\n updateLabelState(input, container);\n \n \/\/ Eventos para input\n input.addEventListener('focus', function() {\n container.classList.add('focused');\n updateLabelState(this, container);\n \n \/\/ Efecto especial para select\n if (this.tagName === 'SELECT') {\n this.style.borderBottomColor = '#215ba0';\n }\n });\n \n input.addEventListener('blur', function() {\n container.classList.remove('focused');\n updateLabelState(this, container);\n \n \/\/ Reset para select\n if (this.tagName === 'SELECT') {\n if (!this.value) {\n this.style.borderBottomColor = '#e2e8f0';\n }\n }\n });\n \n \/\/ Evento para cambios (para select y input)\n input.addEventListener('change', function() {\n updateLabelState(this, container);\n \n \/\/ Animaci\u00f3n para select cuando cambia\n if (this.tagName === 'SELECT' && this.value) {\n this.classList.add('changed');\n setTimeout(() => {\n this.classList.remove('changed');\n }, 300);\n }\n });\n \n \/\/ Evento para input (para campos de texto)\n input.addEventListener('input', function() {\n updateLabelState(this, container);\n });\n \n \/\/ Inicializar con el valor actual (para campos precargados)\n if (input.value) {\n container.classList.add('has-value');\n }\n });\n }\n \n function updateLabelState(input, container) {\n const label = container.querySelector('.field-label');\n \n if (input.tagName === 'SELECT') {\n \/\/ Para select\n if (input.value && input.value !== \"\") {\n container.classList.add('has-value');\n label.style.color = '#64748b';\n input.style.color = '#334155';\n } else {\n container.classList.remove('has-value');\n input.style.color = '#94a3b8';\n }\n } else if (input.tagName === 'TEXTAREA') {\n \/\/ Para textarea\n if (input.value.trim()) {\n container.classList.add('has-value');\n } else {\n container.classList.remove('has-value');\n }\n } else {\n \/\/ Para inputs normales\n if (input.value.trim()) {\n container.classList.add('has-value');\n } else {\n container.classList.remove('has-value');\n }\n }\n }\n\n \/\/ Funci\u00f3n para mostrar el modal de \u00e9xito\n function showSuccessModal() {\n \/\/ Primero ocultamos cualquier mensaje de CF7\n hideCF7Messages();\n \n \/\/ Luego mostramos nuestro modal\n successModal.classList.add('active');\n document.body.style.overflow = 'hidden'; \/\/ Previene scroll\n \n \/\/ Crear efecto de confeti simple\n createConfetti();\n }\n\n \/\/ Funci\u00f3n para cerrar el modal\n function closeSuccessModal() {\n successModal.classList.remove('active');\n document.body.style.overflow = 'auto'; \/\/ Restaura scroll\n \n \/\/ Limpiar el formulario despu\u00e9s de enviar\n if (form) {\n form.reset();\n \n \/\/ Resetear las etiquetas flotantes\n const fieldContainers = document.querySelectorAll('.field-container');\n fieldContainers.forEach(container => {\n container.classList.remove('has-value');\n const input = container.querySelector('input, textarea, select');\n if (input && input.tagName === 'SELECT') {\n input.style.color = '#94a3b8';\n }\n });\n \n \/\/ Resetear el campo CV\n if (cvWrapper) {\n cvWrapper.classList.remove(\"active\");\n if (fileInput) {\n fileInput.removeAttribute(\"required\");\n }\n }\n }\n \n \/\/ Asegurarnos de que los mensajes de CF7 permanezcan ocultos\n setTimeout(hideCF7Messages, 100);\n }\n\n \/\/ Funci\u00f3n para crear efecto de confeti simple\n function createConfetti() {\n const modalContent = document.querySelector('.modal-content');\n const colors = ['#215ba0', '#2563eb', '#10b981', '#f59e0b', '#ef4444'];\n \n for (let i = 0; i < 20; i++) {\n const confetti = document.createElement('div');\n confetti.className = 'confetti';\n confetti.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];\n confetti.style.left = Math.random() * 100 + '%';\n confetti.style.top = '-10px';\n confetti.style.transform = `rotate(${Math.random() * 360}deg)`;\n confetti.style.borderRadius = Math.random() > 0.5 ? '50%' : '0';\n \n modalContent.appendChild(confetti);\n \n \/\/ Animaci\u00f3n\n setTimeout(() => {\n confetti.style.transition = 'all 1s cubic-bezier(0.1, 0.8, 0.3, 1)';\n confetti.style.opacity = '1';\n confetti.style.transform = `translateY(${window.innerHeight}px) rotate(${Math.random() * 720}deg)`;\n \n \/\/ Eliminar despu\u00e9s de la animaci\u00f3n\n setTimeout(() => {\n confetti.remove();\n }, 1000);\n }, i * 50);\n }\n }\n\n \/\/ Event listeners para el modal\n if (closeModalBtn) {\n closeModalBtn.addEventListener('click', closeSuccessModal);\n }\n\n \/\/ Cerrar modal al hacer clic fuera del contenido\n if (successModal) {\n successModal.addEventListener('click', function(e) {\n if (e.target === this) {\n closeSuccessModal();\n }\n });\n }\n\n \/\/ Cerrar modal con la tecla Escape\n document.addEventListener('keydown', function(e) {\n if (e.key === 'Escape' && successModal.classList.contains('active')) {\n closeSuccessModal();\n }\n });\n\n if (selectDestino && cvWrapper) {\n \/\/ Funci\u00f3n para mostrar\/ocultar el campo CV\n function toggleCVField() {\n const selectedOption = selectDestino.options[selectDestino.selectedIndex];\n const selectedText = selectedOption ? selectedOption.text : '';\n const fileAlert = document.getElementById(\"file-alert\");\n\n if (selectedText === \"Trabaja con nosotros\") {\n cvWrapper.classList.add(\"active\");\n if (fileInput) {\n fileInput.setAttribute(\"required\", \"required\");\n fileInput.parentElement.style.borderColor = \"#ef4444\";\n }\n } else {\n cvWrapper.classList.remove(\"active\");\n if (fileInput) {\n fileInput.removeAttribute(\"required\");\n fileInput.parentElement.style.borderColor = \"\";\n errorMessage.classList.remove(\"show\");\n if (fileAlert) {\n fileAlert.classList.remove(\"show\");\n }\n }\n }\n }\n\n \/\/ Ejecutar al cambiar la selecci\u00f3n\n selectDestino.addEventListener(\"change\", function() {\n toggleCVField();\n \n \/\/ Cambiar color del texto cuando se selecciona una opci\u00f3n v\u00e1lida\n if (this.value) {\n this.style.color = '#334155';\n } else {\n this.style.color = '#94a3b8';\n }\n });\n\n \/\/ Ejecutar al cargar la p\u00e1gina\n toggleCVField();\n\n \/\/ Validar archivo antes de enviar\n if (form && submitButton) {\n submitButton.addEventListener(\"click\", function(e) {\n const selectedOption = selectDestino.options[selectDestino.selectedIndex];\n const selectedText = selectedOption ? selectedOption.text : '';\n const fileAlert = document.getElementById(\"file-alert\");\n \n if (selectedText === \"Trabaja con nosotros\" && fileInput && !fileInput.value) {\n e.preventDefault();\n fileInput.focus();\n fileInput.parentElement.style.borderColor = \"#ef4444\";\n fileInput.parentElement.style.boxShadow = \"0 0 0 3px rgba(239, 68, 68, 0.1)\";\n errorMessage.classList.add(\"show\");\n if (fileAlert) {\n fileAlert.classList.add(\"show\");\n }\n return false;\n }\n \n \/\/ Simular env\u00edo exitoso (en producci\u00f3n, esto se har\u00eda con AJAX)\n e.preventDefault();\n console.log('Mostrando modal...'); \/\/ Debug\n showSuccessModal();\n });\n }\n\n \/\/ Limpiar el error cuando se selecciona un archivo\n if (fileInput) {\n fileInput.addEventListener(\"change\", function() {\n const fileAlert = document.getElementById(\"file-alert\");\n if (this.value) {\n this.parentElement.style.borderColor = \"#e2e8f0\";\n this.parentElement.style.boxShadow = \"none\";\n errorMessage.classList.remove(\"show\");\n if (fileAlert) {\n fileAlert.classList.remove(\"show\");\n }\n }\n });\n }\n }\n\n \/\/ Mejorar la experiencia del checkbox\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach(checkbox => {\n checkbox.addEventListener('change', function() {\n if(this.checked) {\n this.style.boxShadow = '0 0 0 3px rgba(5, 150, 105, 0.1)';\n } else {\n this.style.boxShadow = 'none';\n }\n });\n });\n\n \/\/ Cambiar texto del bot\u00f3n file input a espa\u00f1ol\n if (fileInput) {\n fileInput.setAttribute('accept', '.pdf,.doc,.docx');\n \/\/ Para navegadores que soportan el atributo capture\n const fileLabel = fileInput.parentElement;\n if (fileLabel) {\n \/\/ Crear un wrapper personalizado con etiqueta en espa\u00f1ol\n const customLabel = document.createElement('label');\n customLabel.style.cursor = 'pointer';\n customLabel.style.display = 'inline-flex';\n customLabel.style.alignItems = 'center';\n customLabel.style.gap = '8px';\n \n \/\/ El input mantiene su funcionalidad pero est\u00e1 oculto\n fileInput.style.display = 'none';\n \n const buttonSpan = document.createElement('span');\n buttonSpan.textContent = 'Seleccionar archivo';\n buttonSpan.style.backgroundColor = '#215ba0';\n buttonSpan.style.color = 'white';\n buttonSpan.style.padding = '6px 12px';\n buttonSpan.style.borderRadius = '4px';\n buttonSpan.style.fontSize = '12px';\n buttonSpan.style.fontWeight = '500';\n buttonSpan.style.cursor = 'pointer';\n buttonSpan.style.transition = 'all 0.2s ease';\n buttonSpan.style.fontFamily = 'inherit';\n \n const fileNameSpan = document.createElement('span');\n fileNameSpan.textContent = 'Ning\u00fan archivo seleccionado';\n fileNameSpan.style.fontSize = '12px';\n fileNameSpan.style.color = '#64748b';\n fileNameSpan.style.fontFamily = 'inherit';\n \n customLabel.appendChild(buttonSpan);\n customLabel.appendChild(fileNameSpan);\n \n fileInput.parentElement.insertBefore(customLabel, fileInput);\n \n \/\/ Actualizar nombre del archivo cuando se selecciona\n fileInput.addEventListener('change', function() {\n if (this.files && this.files[0]) {\n fileNameSpan.textContent = this.files[0].name;\n fileNameSpan.style.color = '#215ba0';\n fileNameSpan.style.fontWeight = '500';\n buttonSpan.style.backgroundColor = '#1d4ed8';\n }\n });\n \n \/\/ Hover effect\n buttonSpan.addEventListener('mouseenter', function() {\n this.style.backgroundColor = '#1d4ed8';\n this.style.transform = 'translateY(-1px)';\n });\n \n buttonSpan.addEventListener('mouseleave', function() {\n this.style.backgroundColor = fileInput.files && fileInput.files[0] ? '#1d4ed8' : '#215ba0';\n this.style.transform = 'translateY(0)';\n });\n \n \/\/ Click en el label activa el input file\n customLabel.addEventListener('click', function(e) {\n if (e.target !== fileInput) {\n fileInput.click();\n }\n });\n }\n }\n\n \/\/ Inicializar etiquetas flotantes\n initFloatingLabels();\n \n \/\/ Ocultar mensajes de CF7 al cargar la p\u00e1gina\n hideCF7Messages();\n \n \/\/ Observador para detectar y ocultar mensajes que aparezcan din\u00e1micamente\n const observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(mutation) {\n if (mutation.addedNodes && mutation.addedNodes.length > 0) {\n hideCF7Messages();\n }\n });\n });\n \n \/\/ Observar cambios en el formulario\n if (form) {\n observer.observe(form, { childList: true, subtree: true });\n }\n });\n <\/script>\n\t\t<\/p>\n\t<\/body>\n<\/html><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row disabled_on=\u00bbon|on|on\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb disabled=\u00bbon\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f3675-o2\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"3675\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/pages\/1734#wpcf7-f3675-o2\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"3675\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f3675-o2\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<p><!DOCTYPE html>\n<\/p>\n<html lang=\"es\">\n\t<head>\n <meta charset=\"UTF-8\" \/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n\t\t<title>Formulario Minimalista\n\t\t<\/title>\n\t\t<style>\n \/* =========================================\n ESTILOS MEJORADOS - MINIMALISTA CON BUEN UX\n ========================================= *\/\n body {\n font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;\n background-color: #f8fafc;\n margin: 0;\n padding: 0;\n color: #334155;\n line-height: 1.6;\n }\n\n .formulario-acema {\n background: white;\n border-radius: 16px;\n padding: 48px 40px;\n width: 100%;\n \n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);\n border: 1px solid rgba(226, 232, 240, 0.6);\n position: relative;\n overflow: hidden;\n }\n\n \/* Burbujas decorativas transparentes en esquinas *\/\n .formulario-acema::before {\n content: '';\n position: absolute;\n width: 200px;\n height: 200px;\n background: radial-gradient(circle, rgba(33, 91, 160, 0.08), rgba(33, 91, 160, 0));\n border-radius: 50%;\n top: -80px;\n right: -80px;\n pointer-events: none;\n z-index: 0;\n }\n\n .formulario-acema::after {\n content: '';\n position: absolute;\n width: 250px;\n height: 250px;\n background: radial-gradient(circle, rgba(64, 163, 53, 0.08), rgba(64, 163, 53, 0));\n border-radius: 50%;\n bottom: -120px;\n left: -100px;\n pointer-events: none;\n z-index: 0;\n }\n\n \/* Asegurar que el contenido est\u00e9 sobre las burbujas *\/\n .formulario-acema h2 {\n position: relative;\n z-index: 1;\n color:#40a335;\n text-align: center;\n font-weight: 900;\n font-size: 32px;\n margin-bottom: 40px;\n letter-spacing: -0.5px;\n }\n\n \/* Grid mejorado con mejor espaciado *\/\n .grid-layout {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 24px;\n margin-bottom: 24px;\n position: relative;\n z-index: 1;\n }\n\n .column {\n display: flex;\n flex-direction: column;\n position: relative;\n }\n\n \/* Select row mejorado *\/\n .select-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 24px;\n margin-bottom: 24px;\n position: relative;\n z-index: 1;\n }\n\n \/* Campos de formulario - minimalista *\/\n .formulario-acema input[type=\"text\"],\n .formulario-acema input[type=\"email\"],\n .formulario-acema input[type=\"tel\"],\n .formulario-acema select,\n .formulario-acema textarea,\n .formulario-acema input[type=\"file\"] {\n width: 100%;\n background-color: transparent;\n color: #727272a8;\n border: none;\n border-bottom: 2px solid #e2e8f0;\n border-radius: 0;\n padding: 14px 0 8px;\n font-size: 15px;\n font-family: inherit;\n transition: all 0.25s ease;\n appearance: none;\n cursor: pointer;\n }\n\n \/* Estilo espec\u00edfico para el select \"Tipo de solicitud\" *\/\n .formulario-acema select {\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 16px center;\n background-size: 16px;\n padding-right: 40px;\n background-color: white;\n }\n\n \/* Estados hover y focus para select *\/\n .formulario-acema select:hover {\n border-bottom-color: #93c5fd;\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23215ba0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n }\n\n .formulario-acema select:focus {\n outline: none;\n border-bottom-color: #7eb3f3;\n background-color: transparent;\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23215ba0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n box-shadow: 0 2px 0 0 rgba(33, 91, 160, 0.1);\n }\n \n\n \/* Estilo para cuando se ha seleccionado una opci\u00f3n *\/\n .formulario-acema select:valid:not([value=\"\"]) {\n color: #334155;\n font-weight: 500;\n }\n\n \/* Estilo para la opci\u00f3n por defecto *\/\n .formulario-acema select option[value=\"\"] {\n color: #215ba0;\n font-style: italic;\n }\n\n \/* Estilo para las opciones del dropdown *\/\n .formulario-acema select option {\n background-color: white;\n color: #215ba0;\n padding: 12px 16px;\n font-size: 15px;\n font-family: inherit;\n transition: all 0.2s ease;\n border-bottom: 1px solid #f1f5f9;\n }\n\n \/* Estilo para la \u00faltima opci\u00f3n (sin borde inferior) *\/\n .formulario-acema select option:last-child {\n border-bottom: none;\n }\n\n \/* Estilo para opciones al hacer hover en el dropdown *\/\n .formulario-acema select option:hover {\n background-color: #dbeafe;\n color: #215ba0;\n padding-left: 20px;\n cursor: pointer;\n }\n\n \/* Estilo para opci\u00f3n seleccionada en el dropdown *\/\n .formulario-acema select option:checked {\n background: linear-gradient(135deg, #215ba0 0%, #2563eb 100%);\n color:#215ba0;\n border-radius: 15px;\n font-weight: 500;\n position: relative;\n }\n\n \/* Flecha decorativa para opci\u00f3n seleccionada *\/\n .formulario-acema select option:checked::after {\n content: \"\u2713\";\n position: absolute;\n right: 16px;\n font-size: 14px;\n font-weight: bold;\n }\n\n \/* Estados focus mejorados *\/\n .formulario-acema input:focus,\n .formulario-acema select:focus,\n .formulario-acema textarea:focus {\n outline: none;\n border-bottom-color: #215ba0;\n box-shadow: 0 2px 0 0 rgba(33, 91, 160, 0.1);\n background-color: transparent;\n }\n\n \/* Placeholders elegantes *\/\n .formulario-acema input::placeholder,\n .formulario-acema textarea::placeholder {\n color: transparent;\n opacity: 1;\n transition: color 0.2s ease;\n }\n\n .formulario-acema input:focus::placeholder,\n .formulario-acema textarea:focus::placeholder {\n color:#929292a8;\n }\n\n \/* \u00c1rea de mensaje *\/\n .formulario-acema textarea {\n height: 140px;\n resize: vertical;\n min-height: 140px;\n margin-bottom: 32px;\n font-family: inherit;\n line-height: 1.5;\n border: 1px solid rgb(214, 212, 212);\n border-radius: 13px ;\n \n }\n\n \/* Estilos para etiquetas flotantes *\/\n .field-container {\n position: relative;\n margin-bottom: 8px;\n z-index: 1;\n }\n\n .field-label {\n position: absolute;\n top: 18px;\n left: 0;\n font-size: 15px;\n font-weight: 500;\n color:#929292a8; ;\n pointer-events: none;\n transition: all 0.2s ease;\n transform-origin: left center;\n margin: 0;\n padding: 0;\n }\n\n \/* Estados de la etiqueta flotante *\/\n .field-container.focused .field-label,\n .field-container.has-value .field-label {\n top: 0;\n font-size: 12px;\n color: #215ba0;\n transform: translateY(0);\n font-weight: 600;\n }\n\n .field-container select ~ .field-label {\n background-color: white;\n padding-right: 30px;\n padding-left: 4px;\n z-index: 1;\n }\n\n \/* Campos con valor pero sin foco *\/\n .field-container input:not(:placeholder-shown) ~ .field-label,\n .field-container textarea:not(:placeholder-shown) ~ .field-label,\n .field-container select:valid:not([value=\"\"]) ~ .field-label {\n top: 0;\n font-size: 12px;\n color: #64748b;\n font-weight: 500;\n }\n\n \/* Select enfocado *\/\n .field-container select:focus ~ .field-label {\n color: #215ba0;\n font-weight: 600;\n }\n\n \/* Privacidad - m\u00e1s minimalista *\/\n .privacy-card {\n background: #f8fafc;\n border-radius: 12px;\n padding: 16px;\n margin: 0 0 32px 0;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n border: 1px solid #e2e8f0;\n width: fit-content;\n position: relative;\n z-index: 1;\n }\n\n .privacy-title {\n color: #1e293b;\n font-weight: 600;\n font-size: 15px;\n margin: 0;\n }\n\n .privacy-card a {\n color: #40a335;\n font-weight: 500;\n text-decoration: none;\n transition: color 0.2s ease;\n font-size: 14px;\n }\n\n .privacy-card a:hover {\n color: #047857;\n text-decoration: underline;\n }\n\n \/* Checkbox wrapper mejorado *\/\n .checkbox-wrapper {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n }\n\n \/* Checkbox personalizado *\/\n .wpcf7-list-item {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .formulario-acema .privacy-card input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n border-radius: 3px;\n border: 1.5px solid #cbd5e1;\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n\n .formulario-acema .privacy-card input[type=\"checkbox\"]:checked {\n background-color: #40a335;\n border-color: #059669;\n }\n\n .wpcf7-list-item-label {\n color: #475569;\n font-size: 13px;\n cursor: pointer;\n margin: 0;\n }\n\n \/* Bot\u00f3n de enviar - CENTRADO HORIZONTALMENTE *\/\n .submit-wrapper {\n text-align: center;\n width: 100%;\n margin-top: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n z-index: 1;\n }\n\n .formulario-acema input[type=\"submit\"] {\n background-color: #215ba0;\n color: white;\n padding: 16px 48px;\n border-radius: 12px;\n border: none;\n font-weight: 600;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.25s ease;\n display: inline-block;\n letter-spacing: 0.3px;\n min-width: 220px;\n box-shadow: 0 4px 20px rgba(37, 99, 235, 0.15);\n }\n\n .formulario-acema input[type=\"submit\"]:hover {\n background-color: #1d4ed8;\n transform: translateY(-3px);\n box-shadow: 0 8px 30px rgba(37, 99, 235, 0.25);\n }\n\n .formulario-acema input[type=\"submit\"]:active {\n transform: translateY(-1px);\n }\n\n \/* Campo de archivo mejorado *\/\n .hidden-cv {\n display: none;\n opacity: 0;\n transform: translateY(-10px);\n transition: all 0.3s ease;\n }\n\n .hidden-cv.active {\n display: block;\n opacity: 1;\n transform: translateY(0);\n }\n\n .file-wrapper {\n position: relative;\n }\n\n .hidden-cv p {\n color: #215ba0;\n font-weight: 600;\n font-size: 14px;\n margin-bottom: 10px;\n text-align: left;\n }\n\n \/* Input file personalizado *\/\n .formulario-acema input[type=\"file\"] {\n padding: 12px;\n cursor: pointer;\n border: 2px dashed #e2e8f0;\n background-color: white;\n border-radius: 8px;\n }\n\n .formulario-acema input[type=\"file\"]:hover {\n border-color: #3b82f6;\n background-color: #f8fafc;\n }\n\n .formulario-acema input[type=\"file\"]::-webkit-file-upload-button {\n background-color: #215ba0;\n color: white;\n border: none;\n padding: 8px 16px;\n border-radius: 6px;\n margin-right: 12px;\n cursor: pointer;\n font-family: inherit;\n font-size: 14px;\n transition: all 0.2s ease;\n }\n\n .formulario-acema input[type=\"file\"]::-webkit-file-upload-button:hover {\n background-color: #1d4ed8;\n transform: translateY(-1px);\n }\n\n \/* Mensaje de error *\/\n .error-message {\n color: #ef4444;\n font-size: 13px;\n font-weight: 500;\n margin-top: 8px;\n display: none;\n animation: slideIn 0.3s ease;\n }\n\n .error-message.show {\n display: block;\n }\n\n \/* Alerta de archivo faltante *\/\n .file-alert {\n background-color: #fee2e2;\n border: 1px solid #fecaca;\n border-radius: 8px;\n padding: 10px 12px;\n margin-top: 8px;\n display: none;\n font-size: 13px;\n color: #991b1b;\n font-weight: 500;\n }\n\n .file-alert.show {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .file-alert::before {\n content: \"\u26a0\";\n font-size: 16px;\n flex-shrink: 0;\n }\n\n \/* =========================================\n ESTILOS PARA EL POPUP\/MODAL\n ========================================= *\/\n .success-modal {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n\n .success-modal.active {\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 1;\n }\n\n .modal-content {\n background: white;\n border-radius: 20px;\n padding: 32px 32px;\n width: 90%;\n max-width: 420px;\n text-align: center;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);\n border: 1px solid rgba(226, 232, 240, 0.8);\n transform: translateY(30px) scale(0.95);\n opacity: 0;\n transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n position: relative;\n overflow: hidden;\n }\n\n .success-modal.active .modal-content {\n transform: translateY(0) scale(1);\n opacity: 1;\n }\n\n \/* Icono de \u00e9xito *\/\n .modal-icon {\n width: 70px;\n height: 70px;\n background: linear-gradient(135deg, #215ba0 0%, #40a335 100%);\n border-radius: 50%;\n margin: 0 auto 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: iconPop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s both;\n }\n\n .modal-icon svg {\n width: 40px;\n height: 40px;\n fill: white;\n }\n\n @keyframes iconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 70% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n \/* T\u00edtulo del modal *\/\n .modal-title {\n color: #1e293b;\n font-weight: 700;\n font-size: 24px;\n margin-bottom: 12px;\n letter-spacing: -0.5px;\n }\n\n \/* Mensaje del modal *\/\n .modal-message {\n color: #64748b;\n font-size: 15px;\n line-height: 1.5;\n margin-bottom: 24px;\n max-width: 380px;\n margin-left: auto;\n margin-right: auto;\n }\n\n \/* Bot\u00f3n del modal *\/\n .modal-button {\n background: linear-gradient(135deg, #215ba0 0%, #2563eb 100%);\n color: white;\n border: none;\n padding: 16px 40px;\n border-radius: 12px;\n font-weight: 600;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.3s ease;\n display: inline-block;\n letter-spacing: 0.3px;\n box-shadow: 0 4px 20px rgba(33, 91, 160, 0.2);\n }\n\n .modal-button:hover {\n transform: translateY(-3px);\n box-shadow: 0 8px 30px rgba(33, 91, 160, 0.3);\n }\n\n .modal-button:active {\n transform: translateY(-1px);\n }\n\n \/* Animaci\u00f3n de confeti *\/\n .confetti {\n position: absolute;\n width: 10px;\n height: 10px;\n background: #f59e0b;\n opacity: 0;\n }\n\n \/* Decoraci\u00f3n sutil *\/\n .modal-decoration {\n position: absolute;\n width: 200px;\n height: 200px;\n background: linear-gradient(135deg, rgba(33, 91, 160, 0.05) 0%, rgba(37, 99, 235, 0.05) 100%);\n border-radius: 50%;\n top: -100px;\n right: -100px;\n z-index: -1;\n }\n\n .modal-decoration:nth-child(2) {\n width: 150px;\n height: 150px;\n background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(5, 150, 105, 0.05) 100%);\n bottom: -75px;\n left: -75px;\n top: auto;\n right: auto;\n }\n\n \/* Animaciones sutiles *\/\n .formulario-acema input,\n .formulario-acema select,\n .formulario-acema textarea {\n animation: fadeIn 0.3s ease-out;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n \/* Animaci\u00f3n para el select cuando cambia *\/\n @keyframes selectChange {\n 0% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-2px);\n }\n 100% {\n transform: translateY(0);\n }\n }\n\n .formulario-acema select.changed {\n animation: selectChange 0.3s ease;\n }\n\n \/* Responsivo mejorado *\/\n @media (max-width: 768px) {\n .formulario-acema {\n padding: 32px 24px;\n margin: 0;\n }\n\n .formulario-acema h2 {\n font-size: 28px;\n margin-bottom: 32px;\n }\n\n .grid-layout {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n .select-row {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n .privacy-card {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n padding: 16px;\n margin-bottom: 24px;\n }\n\n \/* Bot\u00f3n centrado en m\u00f3vil *\/\n .submit-wrapper {\n margin-top: 16px;\n }\n\n .formulario-acema input[type=\"submit\"] {\n width: 100%;\n max-width: 280px;\n padding: 16px;\n }\n\n \/* Ajuste para select en m\u00f3viles *\/\n .formulario-acema select {\n font-size: 16px; \/* Previene zoom en iOS *\/\n padding: 16px 0 10px;\n }\n\n \/* Modal responsive *\/\n .modal-content {\n padding: 28px 24px;\n margin: 20px;\n width: calc(100% - 40px);\n }\n\n .modal-title {\n font-size: 22px;\n margin-bottom: 10px;\n }\n\n .modal-message {\n font-size: 14px;\n padding: 0 10px;\n margin-bottom: 20px;\n }\n\n .modal-icon {\n width: 65px;\n height: 65px;\n margin-bottom: 14px;\n }\n\n \/* ...existing code... *\/\n }\n\n \/* Para pantallas muy peque\u00f1as *\/\n @media (max-width: 480px) {\n body {\n padding: 12px;\n }\n\n .formulario-acema {\n padding: 24px 20px;\n border-radius: 12px;\n }\n\n .formulario-acema h2 {\n font-size: 24px;\n margin-bottom: 28px;\n }\n\n .formulario-acema input[type=\"submit\"] {\n min-width: auto;\n width: 100%;\n padding: 16px 24px;\n }\n\n .modal-content {\n padding: 24px 18px;\n }\n\n .modal-title {\n font-size: 20px;\n margin-bottom: 8px;\n }\n\n \/* ...existing code... *\/\n }\n\t\t<\/style>\n\t<\/head>\n\t<body>\n\t\t<div class=\"formulario-acema\">\n\t\t\t<h2>CONT\u00c1CTANOS\n\t\t\t<\/h2>\n\t\t\t<div class=\"grid-layout\">\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span><br \/>\n<span class=\"field-label\">Nombres<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellidos\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"apellidos\" \/><\/span><br \/>\n<span class=\"field-label\">Apellidos<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telefono\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"tel\" name=\"telefono\" \/><\/span><br \/>\n<span class=\"field-label\">Tel\u00e9fono<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"email\" name=\"correo\" \/><\/span><br \/>\n<span class=\"field-label\">Correo electr\u00f3nico<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"select-row\">\n\t\t\t\t<div class=\"select-wrapper\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><select id=\"tipo-solicitud\" name=\"destino\" required>\n <option value=\"\" selected disabled>Tipo de solicitud<\/option>\n <option value=\"comercial.solar@acemaingenieria.com\n\">Servicios solares<\/option>\n <option value=\"comercial@acemaingenieria.com\">Servicios el\u00e9ctricos<\/option>\n <option value=\"desarrollo.humano@acemaingenieria.com\">Trabaja con nosotros<\/option>\n <\/select><br \/>\n<span class=\"field-label\"><\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div id=\"cv-wrapper\" class=\"hidden-cv\">\n\t\t\t\t\t<div class=\"file-wrapper\">\n\t\t\t\t\t\t<p>Adjunta tu hoja de vida\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"hoja_de_vida\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".pdf,.doc,.docx\" aria-invalid=\"false\" type=\"file\" name=\"hoja_de_vida\" \/><\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<div class=\"file-alert\" id=\"file-alert\">\n\t\t\t\t\t\t\t<p>Archivo requerido\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"error-message\" id=\"file-error\">\n\t\t\t\t\t\t\t<p>Por favor, adjunta tu hoja de vida\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"field-container\">\n\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"\" name=\"mensaje\"><\/textarea><\/span><br \/>\n<span class=\"field-label\">Mensaje<\/span>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t\t<div class=\"privacy-card\">\n\t\t\t\t<p><span class=\"privacy-title\">Pol\u00edticas de privacidad<\/span><br \/>\n<a href=\"\/politica-privacidad\" target=\"_blank\">Ver pol\u00edticas<\/a>\n\t\t\t\t<\/p>\n\t\t\t\t<div class=\"checkbox-wrapper\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"acepto\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acepto\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Acepto<\/span><\/label><\/span><\/span><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"submit-wrapper\">\n\t\t\t\t<p><input type=\"submit\" value=\"Enviar mensaje\" id=\"submit-button\" \/>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n \n <!-- Este div se usa para ocultar cualquier mensaje de confirmaci\u00f3n de Contact Form 7 -->\n\t\t\t<div style=\"display: none;\">\n\t\t\t\t<div class=\"wpcf7-response-output\" aria-hidden=\"true\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"wpcf7-mail-sent-ok\" style=\"display: none;\">\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n <!-- Modal de \u00e9xito -->\n\t\t<div class=\"success-modal\" id=\"successModal\">\n\t\t\t<div class=\"modal-content\">\n\t\t\t\t<div class=\"modal-decoration\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"modal-decoration\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"modal-icon\">\n\t\t\t\t\t<p><svg viewBox=\"0 0 24 24\">\n                    <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/>\n                <\/svg>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<h3 class=\"modal-title\">\u00a1Mensaje Enviado!\n\t\t\t\t<\/h3>\n\t\t\t\t<p class=\"modal-message\"><br \/>\nGracias por tu mensaje. Ha sido enviado correctamente.\n\t\t\t\t<\/p>\n\t\t\t\t<p>Nos pondremos en contacto contigo pronto.\n\t\t\t\t<\/p>\n\t\t\t\t<p><button class=\"modal-button\" id=\"closeModal\">Aceptar<\/button>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<p><script>\n document.addEventListener(\"DOMContentLoaded\", function () {\n const selectDestino = document.getElementById(\"tipo-solicitud\");\n const cvWrapper = document.getElementById(\"cv-wrapper\");\n const fileInput = cvWrapper ? cvWrapper.querySelector('input[type=\"file\"]') : null;\n const errorMessage = document.getElementById(\"file-error\");\n const fileAlert = document.getElementById(\"file-alert\");\n const form = document.querySelector('.formulario-acema');\n const submitButton = document.getElementById(\"submit-button\");\n const successModal = document.getElementById(\"successModal\");\n const closeModalBtn = document.getElementById(\"closeModal\");\n\n \/\/ Ocultar cualquier mensaje de Contact Form 7 que pueda aparecer\n function hideCF7Messages() {\n \/\/ Ocultar todos los mensajes de Contact Form 7\n const cf7Messages = document.querySelectorAll('.wpcf7-response-output, .wpcf7-mail-sent-ok, .wpcf7-mail-sent-ng, .wpcf7-spam-blocked, .wpcf7-validation-errors');\n cf7Messages.forEach(message => {\n message.style.display = 'none';\n message.setAttribute('aria-hidden', 'true');\n });\n \n \/\/ Tambi\u00e9n ocultar cualquier mensaje dentro del formulario\n const allMessages = document.querySelectorAll('.formulario-acema div[role=\"alert\"], .formulario-acema .alert, .formulario-acema .success-message');\n allMessages.forEach(message => {\n message.style.display = 'none';\n });\n }\n\n \/\/ Funci\u00f3n para inicializar etiquetas flotantes\n function initFloatingLabels() {\n const fieldContainers = document.querySelectorAll('.field-container');\n \n fieldContainers.forEach(container => {\n const input = container.querySelector('input, textarea, select');\n const label = container.querySelector('.field-label');\n \n if (!input || !label) return;\n \n \/\/ Inicializar estado\n updateLabelState(input, container);\n \n \/\/ Eventos para input\n input.addEventListener('focus', function() {\n container.classList.add('focused');\n updateLabelState(this, container);\n \n \/\/ Efecto especial para select\n if (this.tagName === 'SELECT') {\n this.style.borderBottomColor = '#215ba0';\n }\n });\n \n input.addEventListener('blur', function() {\n container.classList.remove('focused');\n updateLabelState(this, container);\n \n \/\/ Reset para select\n if (this.tagName === 'SELECT') {\n if (!this.value) {\n this.style.borderBottomColor = '#e2e8f0';\n }\n }\n });\n \n \/\/ Evento para cambios (para select y input)\n input.addEventListener('change', function() {\n updateLabelState(this, container);\n \n \/\/ Animaci\u00f3n para select cuando cambia\n if (this.tagName === 'SELECT' && this.value) {\n this.classList.add('changed');\n setTimeout(() => {\n this.classList.remove('changed');\n }, 300);\n }\n });\n \n \/\/ Evento para input (para campos de texto)\n input.addEventListener('input', function() {\n updateLabelState(this, container);\n });\n \n \/\/ Inicializar con el valor actual (para campos precargados)\n if (input.value) {\n container.classList.add('has-value');\n }\n });\n }\n \n function updateLabelState(input, container) {\n const label = container.querySelector('.field-label');\n \n if (input.tagName === 'SELECT') {\n \/\/ Para select\n if (input.value && input.value !== \"\") {\n container.classList.add('has-value');\n label.style.color = '#64748b';\n input.style.color = '#334155';\n } else {\n container.classList.remove('has-value');\n input.style.color = '#94a3b8';\n }\n } else if (input.tagName === 'TEXTAREA') {\n \/\/ Para textarea\n if (input.value.trim()) {\n container.classList.add('has-value');\n } else {\n container.classList.remove('has-value');\n }\n } else {\n \/\/ Para inputs normales\n if (input.value.trim()) {\n container.classList.add('has-value');\n } else {\n container.classList.remove('has-value');\n }\n }\n }\n\n \/\/ Funci\u00f3n para mostrar el modal de \u00e9xito\n function showSuccessModal() {\n \/\/ Primero ocultamos cualquier mensaje de CF7\n hideCF7Messages();\n \n \/\/ Luego mostramos nuestro modal\n successModal.classList.add('active');\n document.body.style.overflow = 'hidden'; \/\/ Previene scroll\n \n \/\/ Crear efecto de confeti simple\n createConfetti();\n }\n\n \/\/ Funci\u00f3n para cerrar el modal\n function closeSuccessModal() {\n successModal.classList.remove('active');\n document.body.style.overflow = 'auto'; \/\/ Restaura scroll\n \n \/\/ Limpiar el formulario despu\u00e9s de enviar\n if (form) {\n form.reset();\n \n \/\/ Resetear las etiquetas flotantes\n const fieldContainers = document.querySelectorAll('.field-container');\n fieldContainers.forEach(container => {\n container.classList.remove('has-value');\n const input = container.querySelector('input, textarea, select');\n if (input && input.tagName === 'SELECT') {\n input.style.color = '#94a3b8';\n }\n });\n \n \/\/ Resetear el campo CV\n if (cvWrapper) {\n cvWrapper.classList.remove(\"active\");\n if (fileInput) {\n fileInput.removeAttribute(\"required\");\n }\n }\n }\n \n \/\/ Asegurarnos de que los mensajes de CF7 permanezcan ocultos\n setTimeout(hideCF7Messages, 100);\n }\n\n \/\/ Funci\u00f3n para crear efecto de confeti simple\n function createConfetti() {\n const modalContent = document.querySelector('.modal-content');\n const colors = ['#215ba0', '#2563eb', '#10b981', '#f59e0b', '#ef4444'];\n \n for (let i = 0; i < 20; i++) {\n const confetti = document.createElement('div');\n confetti.className = 'confetti';\n confetti.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];\n confetti.style.left = Math.random() * 100 + '%';\n confetti.style.top = '-10px';\n confetti.style.transform = `rotate(${Math.random() * 360}deg)`;\n confetti.style.borderRadius = Math.random() > 0.5 ? '50%' : '0';\n \n modalContent.appendChild(confetti);\n \n \/\/ Animaci\u00f3n\n setTimeout(() => {\n confetti.style.transition = 'all 1s cubic-bezier(0.1, 0.8, 0.3, 1)';\n confetti.style.opacity = '1';\n confetti.style.transform = `translateY(${window.innerHeight}px) rotate(${Math.random() * 720}deg)`;\n \n \/\/ Eliminar despu\u00e9s de la animaci\u00f3n\n setTimeout(() => {\n confetti.remove();\n }, 1000);\n }, i * 50);\n }\n }\n\n \/\/ Event listeners para el modal\n if (closeModalBtn) {\n closeModalBtn.addEventListener('click', closeSuccessModal);\n }\n\n \/\/ Cerrar modal al hacer clic fuera del contenido\n if (successModal) {\n successModal.addEventListener('click', function(e) {\n if (e.target === this) {\n closeSuccessModal();\n }\n });\n }\n\n \/\/ Cerrar modal con la tecla Escape\n document.addEventListener('keydown', function(e) {\n if (e.key === 'Escape' && successModal.classList.contains('active')) {\n closeSuccessModal();\n }\n });\n\n if (selectDestino && cvWrapper) {\n \/\/ Funci\u00f3n para mostrar\/ocultar el campo CV\n function toggleCVField() {\n const selectedOption = selectDestino.options[selectDestino.selectedIndex];\n const selectedText = selectedOption ? selectedOption.text : '';\n const fileAlert = document.getElementById(\"file-alert\");\n\n if (selectedText === \"Trabaja con nosotros\") {\n cvWrapper.classList.add(\"active\");\n if (fileInput) {\n fileInput.setAttribute(\"required\", \"required\");\n fileInput.parentElement.style.borderColor = \"#ef4444\";\n }\n } else {\n cvWrapper.classList.remove(\"active\");\n if (fileInput) {\n fileInput.removeAttribute(\"required\");\n fileInput.parentElement.style.borderColor = \"\";\n errorMessage.classList.remove(\"show\");\n if (fileAlert) {\n fileAlert.classList.remove(\"show\");\n }\n }\n }\n }\n\n \/\/ Ejecutar al cambiar la selecci\u00f3n\n selectDestino.addEventListener(\"change\", function() {\n toggleCVField();\n \n \/\/ Cambiar color del texto cuando se selecciona una opci\u00f3n v\u00e1lida\n if (this.value) {\n this.style.color = '#334155';\n } else {\n this.style.color = '#94a3b8';\n }\n });\n\n \/\/ Ejecutar al cargar la p\u00e1gina\n toggleCVField();\n\n \/\/ Validar archivo antes de enviar\n if (form && submitButton) {\n submitButton.addEventListener(\"click\", function(e) {\n const selectedOption = selectDestino.options[selectDestino.selectedIndex];\n const selectedText = selectedOption ? selectedOption.text : '';\n const fileAlert = document.getElementById(\"file-alert\");\n \n if (selectedText === \"Trabaja con nosotros\" && fileInput && !fileInput.value) {\n e.preventDefault();\n fileInput.focus();\n fileInput.parentElement.style.borderColor = \"#ef4444\";\n fileInput.parentElement.style.boxShadow = \"0 0 0 3px rgba(239, 68, 68, 0.1)\";\n errorMessage.classList.add(\"show\");\n if (fileAlert) {\n fileAlert.classList.add(\"show\");\n }\n return false;\n }\n \n \/\/ Simular env\u00edo exitoso (en producci\u00f3n, esto se har\u00eda con AJAX)\n e.preventDefault();\n console.log('Mostrando modal...'); \/\/ Debug\n showSuccessModal();\n });\n }\n\n \/\/ Limpiar el error cuando se selecciona un archivo\n if (fileInput) {\n fileInput.addEventListener(\"change\", function() {\n const fileAlert = document.getElementById(\"file-alert\");\n if (this.value) {\n this.parentElement.style.borderColor = \"#e2e8f0\";\n this.parentElement.style.boxShadow = \"none\";\n errorMessage.classList.remove(\"show\");\n if (fileAlert) {\n fileAlert.classList.remove(\"show\");\n }\n }\n });\n }\n }\n\n \/\/ Mejorar la experiencia del checkbox\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach(checkbox => {\n checkbox.addEventListener('change', function() {\n if(this.checked) {\n this.style.boxShadow = '0 0 0 3px rgba(5, 150, 105, 0.1)';\n } else {\n this.style.boxShadow = 'none';\n }\n });\n });\n\n \/\/ Inicializar etiquetas flotantes\n initFloatingLabels();\n \n \/\/ Ocultar mensajes de CF7 al cargar la p\u00e1gina\n hideCF7Messages();\n \n \/\/ Observador para detectar y ocultar mensajes que aparezcan din\u00e1micamente\n const observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(mutation) {\n if (mutation.addedNodes && mutation.addedNodes.length > 0) {\n hideCF7Messages();\n }\n });\n });\n \n \/\/ Observar cambios en el formulario\n if (form) {\n observer.observe(form, { childList: true, subtree: true });\n }\n });\n <\/script>\n\t\t<\/p>\n\t<\/body>\n<\/html><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.22.2&#8243; _module_preset=\u00bbdefault\u00bb min_height=\u00bb130.7px\u00bb custom_margin=\u00bb0px||0px||false|false\u00bb custom_padding=\u00bb27px||27px||true|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb text_font_size=\u00bb28px\u00bb custom_padding=\u00bb||15px|||\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #000000;\"><strong>\u00a1Hacemos realidad tus proyectos el\u00e9ctricos!<\/strong><\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a1CONT\u00c1CTANOS!\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f3666-o3\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"3666\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/pages\/1734#wpcf7-f3666-o3\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"3666\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f3666-o3\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<p><!DOCTYPE html>\n<\/p>\n<html lang=\"es\">\n\t<head>\n <meta charset=\"UTF-8\" \/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n\t\t<title>Formulario Minimalista\n\t\t<\/title>\n\t\t<style>\n \/* =========================================\n ESTILOS MEJORADOS - MINIMALISTA CON BUEN UX\n ========================================= *\/\n body {\n font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;\n background-color: #f8fafc;\n margin: 0;\n padding: 0;\n color: #334155;\n line-height: 1.6;\n }\n\n .formulario-acema {\n background: white;\n border-radius: 16px;\n padding: 48px 40px;\n width: 100%;\n \n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);\n border: 1px solid rgba(226, 232, 240, 0.6);\n position: relative;\n overflow: hidden;\n }\n\n \/* Burbujas decorativas transparentes en esquinas *\/\n .formulario-acema::before {\n content: '';\n position: absolute;\n width: 200px;\n height: 200px;\n background: radial-gradient(circle, rgba(33, 91, 160, 0.08), rgba(33, 91, 160, 0));\n border-radius: 50%;\n top: -80px;\n right: -80px;\n pointer-events: none;\n z-index: 0;\n }\n\n .formulario-acema::after {\n content: '';\n position: absolute;\n width: 250px;\n height: 250px;\n background: radial-gradient(circle, rgba(64, 163, 53, 0.08), rgba(64, 163, 53, 0));\n border-radius: 50%;\n bottom: -120px;\n left: -100px;\n pointer-events: none;\n z-index: 0;\n }\n\n \/* Asegurar que el contenido est\u00e9 sobre las burbujas *\/\n .formulario-acema h2 {\n position: relative;\n z-index: 1;\n color:#40a335;\n text-align: center;\n font-weight: 900;\n font-size: 32px;\n margin-bottom: 40px;\n letter-spacing: -0.5px;\n }\n\n \/* Grid mejorado con mejor espaciado *\/\n .grid-layout {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 24px;\n margin-bottom: 24px;\n position: relative;\n z-index: 1;\n }\n\n .column {\n display: flex;\n flex-direction: column;\n position: relative;\n }\n\n \/* Select row mejorado *\/\n .select-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 24px;\n margin-bottom: 24px;\n position: relative;\n z-index: 1;\n }\n\n \/* Campos de formulario - minimalista *\/\n .formulario-acema input[type=\"text\"],\n .formulario-acema input[type=\"email\"],\n .formulario-acema input[type=\"tel\"],\n .formulario-acema select,\n .formulario-acema textarea,\n .formulario-acema input[type=\"file\"] {\n width: 100%;\n background-color: transparent;\n color: #727272a8;\n border: none;\n border-bottom: 2px solid #e2e8f0;\n border-radius: 0;\n padding: 14px 0 8px;\n font-size: 15px;\n font-family: inherit;\n transition: all 0.25s ease;\n appearance: none;\n cursor: pointer;\n }\n\n \/* Estilo espec\u00edfico para el select \"Tipo de solicitud\" *\/\n .formulario-acema select {\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 16px center;\n background-size: 16px;\n padding-right: 40px;\n background-color: white;\n }\n\n \/* Estados hover y focus para select *\/\n .formulario-acema select:hover {\n border-bottom-color: #93c5fd;\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23215ba0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n }\n\n .formulario-acema select:focus {\n outline: none;\n border-bottom-color: #7eb3f3;\n background-color: transparent;\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23215ba0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n box-shadow: 0 2px 0 0 rgba(33, 91, 160, 0.1);\n }\n \n\n \/* Estilo para cuando se ha seleccionado una opci\u00f3n *\/\n .formulario-acema select:valid:not([value=\"\"]) {\n color: #334155;\n font-weight: 500;\n }\n\n \/* Estilo para la opci\u00f3n por defecto *\/\n .formulario-acema select option[value=\"\"] {\n color: #215ba0;\n font-style: italic;\n }\n\n \/* Estilo para las opciones del dropdown *\/\n .formulario-acema select option {\n background-color: white;\n color: #215ba0;\n padding: 12px 16px;\n font-size: 15px;\n font-family: inherit;\n transition: all 0.2s ease;\n border-bottom: 1px solid #f1f5f9;\n }\n\n \/* Estilo para la \u00faltima opci\u00f3n (sin borde inferior) *\/\n .formulario-acema select option:last-child {\n border-bottom: none;\n }\n\n \/* Estilo para opciones al hacer hover en el dropdown *\/\n .formulario-acema select option:hover {\n background-color: #dbeafe;\n color: #215ba0;\n padding-left: 20px;\n cursor: pointer;\n }\n\n \/* Estilo para opci\u00f3n seleccionada en el dropdown *\/\n .formulario-acema select option:checked {\n background: linear-gradient(135deg, #215ba0 0%, #2563eb 100%);\n color:#215ba0;\n border-radius: 15px;\n font-weight: 500;\n position: relative;\n }\n\n \/* Flecha decorativa para opci\u00f3n seleccionada *\/\n .formulario-acema select option:checked::after {\n content: \"\u2713\";\n position: absolute;\n right: 16px;\n font-size: 14px;\n font-weight: bold;\n }\n\n \/* Estados focus mejorados *\/\n .formulario-acema input:focus,\n .formulario-acema select:focus,\n .formulario-acema textarea:focus {\n outline: none;\n border-bottom-color: #215ba0;\n box-shadow: 0 2px 0 0 rgba(33, 91, 160, 0.1);\n background-color: transparent;\n }\n\n \/* Placeholders elegantes *\/\n .formulario-acema input::placeholder,\n .formulario-acema textarea::placeholder {\n color: transparent;\n opacity: 1;\n transition: color 0.2s ease;\n }\n\n .formulario-acema input:focus::placeholder,\n .formulario-acema textarea:focus::placeholder {\n color:#929292a8;\n }\n\n \/* \u00c1rea de mensaje *\/\n .formulario-acema textarea {\n height: 140px;\n resize: vertical;\n min-height: 140px;\n margin-bottom: 32px;\n font-family: inherit;\n line-height: 1.5;\n border: 1px solid rgb(214, 212, 212);\n border-radius: 13px ;\n \n }\n\n \/* Estilos para etiquetas flotantes *\/\n .field-container {\n position: relative;\n margin-bottom: 8px;\n z-index: 1;\n }\n\n .field-label {\n position: absolute;\n top: 18px;\n left: 0;\n font-size: 15px;\n font-weight: 500;\n color:#929292a8; ;\n pointer-events: none;\n transition: all 0.2s ease;\n transform-origin: left center;\n margin: 0;\n padding: 0;\n }\n\n \/* Estados de la etiqueta flotante *\/\n .field-container.focused .field-label,\n .field-container.has-value .field-label {\n top: 0;\n font-size: 12px;\n color: #215ba0;\n transform: translateY(0);\n font-weight: 600;\n }\n\n .field-container select ~ .field-label {\n background-color: white;\n padding-right: 30px;\n padding-left: 4px;\n z-index: 1;\n }\n\n \/* Campos con valor pero sin foco *\/\n .field-container input:not(:placeholder-shown) ~ .field-label,\n .field-container textarea:not(:placeholder-shown) ~ .field-label,\n .field-container select:valid:not([value=\"\"]) ~ .field-label {\n top: 0;\n font-size: 12px;\n color: #64748b;\n font-weight: 500;\n }\n\n \/* Select enfocado *\/\n .field-container select:focus ~ .field-label {\n color: #215ba0;\n font-weight: 600;\n }\n\n \/* Privacidad - m\u00e1s minimalista *\/\n .privacy-card {\n background: #f8fafc;\n border-radius: 12px;\n padding: 16px;\n margin: 0 0 32px 0;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n border: 1px solid #e2e8f0;\n width: fit-content;\n position: relative;\n z-index: 1;\n }\n\n .privacy-title {\n color: #1e293b;\n font-weight: 600;\n font-size: 15px;\n margin: 0;\n }\n\n .privacy-card a {\n color: #40a335;\n font-weight: 500;\n text-decoration: none;\n transition: color 0.2s ease;\n font-size: 14px;\n }\n\n .privacy-card a:hover {\n color: #047857;\n text-decoration: underline;\n }\n\n \/* Checkbox wrapper mejorado *\/\n .checkbox-wrapper {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n }\n\n \/* Checkbox personalizado *\/\n .wpcf7-list-item {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .formulario-acema .privacy-card input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n border-radius: 3px;\n border: 1.5px solid #cbd5e1;\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n\n .formulario-acema .privacy-card input[type=\"checkbox\"]:checked {\n background-color: #40a335;\n border-color: #059669;\n }\n\n .wpcf7-list-item-label {\n color: #475569;\n font-size: 13px;\n cursor: pointer;\n margin: 0;\n }\n\n \/* Bot\u00f3n de enviar - CENTRADO HORIZONTALMENTE *\/\n .submit-wrapper {\n text-align: center;\n width: 100%;\n margin-top: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n z-index: 1;\n }\n\n .formulario-acema input[type=\"submit\"] {\n background-color: #215ba0;\n color: white;\n padding: 16px 48px;\n border-radius: 12px;\n border: none;\n font-weight: 600;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.25s ease;\n display: inline-block;\n letter-spacing: 0.3px;\n min-width: 220px;\n box-shadow: 0 4px 20px rgba(37, 99, 235, 0.15);\n }\n\n .formulario-acema input[type=\"submit\"]:hover {\n background-color: #1d4ed8;\n transform: translateY(-3px);\n box-shadow: 0 8px 30px rgba(37, 99, 235, 0.25);\n }\n\n .formulario-acema input[type=\"submit\"]:active {\n transform: translateY(-1px);\n }\n\n \/* Campo de archivo mejorado *\/\n .hidden-cv {\n display: none;\n opacity: 0;\n transform: translateY(-10px);\n transition: all 0.3s ease;\n }\n\n .hidden-cv.active {\n display: flex;\n flex-direction: column;\n gap: 16px;\n opacity: 1;\n transform: translateY(0);\n }\n\n .file-wrapper {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 12px;\n flex-wrap: nowrap;\n }\n\n .hidden-cv p {\n color: #215ba0;\n font-weight: 600;\n font-size: 12px;\n text-align: left;\n margin: 0;\n flex: 0 0 auto;\n white-space: nowrap;\n padding: 0;\n align-self: center;\n }\n\n \/* Input file personalizado - minimalista y compacto *\/\n .formulario-acema input[type=\"file\"] {\n padding: 8px;\n cursor: pointer;\n border: 2px dashed #e2e8f0;\n background-color: white;\n border-radius: 6px;\n width: auto;\n display: inline-block;\n flex: 0 0 auto;\n font-size: 13px;\n }\n\n .vacante-input {\n flex: 1 1 auto;\n min-width: 140px;\n padding: 14px 0 8px;\n border: none;\n border-bottom: 2px solid #e2e8f0;\n font-family: inherit;\n font-size: 15px;\n background-color: transparent;\n color: #727272a8;\n width: 100%;\n transition: all 0.25s ease;\n }\n\n .formulario-acema input[type=\"file\"]:hover {\n border-color: #3b82f6;\n background-color: #f8fafc;\n }\n\n \/* Placeholder visible para vacante input *\/\n .vacante-input::placeholder {\n color: #929292a8;\n opacity: 1;\n }\n\n .formulario-acema input[type=\"file\"]::-webkit-file-upload-button {\n background-color: #215ba0;\n color: white;\n border: none;\n padding: 6px 12px;\n border-radius: 4px;\n margin-right: 8px;\n cursor: pointer;\n font-family: inherit;\n font-size: 12px;\n font-weight: 500;\n transition: all 0.2s ease;\n }\n\n .formulario-acema input[type=\"file\"]::-webkit-file-upload-button:hover {\n background-color: #1d4ed8;\n transform: translateY(-1px);\n }\n\n \/* Mensaje de error *\/\n .error-message {\n color: #ef4444;\n font-size: 13px;\n font-weight: 500;\n margin-top: 8px;\n display: none;\n animation: slideIn 0.3s ease;\n }\n\n .error-message.show {\n display: block;\n }\n\n \/* Alerta de archivo faltante *\/\n .file-alert {\n background-color: #fee2e2;\n border: 1px solid #fecaca;\n border-radius: 8px;\n padding: 10px 12px;\n margin-top: 8px;\n display: none;\n font-size: 13px;\n color: #991b1b;\n font-weight: 500;\n }\n\n .file-alert.show {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .file-alert::before {\n content: \"\u26a0\";\n font-size: 16px;\n flex-shrink: 0;\n }\n\n \/* =========================================\n ESTILOS PARA EL POPUP\/MODAL\n ========================================= *\/\n .success-modal {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n\n .success-modal.active {\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 1;\n }\n\n .modal-content {\n background: white;\n border-radius: 20px;\n padding: 32px 32px;\n width: 90%;\n max-width: 420px;\n text-align: center;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);\n border: 1px solid rgba(226, 232, 240, 0.8);\n transform: translateY(30px) scale(0.95);\n opacity: 0;\n transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n position: relative;\n overflow: hidden;\n }\n\n .success-modal.active .modal-content {\n transform: translateY(0) scale(1);\n opacity: 1;\n }\n\n \/* Icono de \u00e9xito *\/\n .modal-icon {\n width: 70px;\n height: 70px;\n background: linear-gradient(135deg, #215ba0 0%, #40a335 100%);\n border-radius: 50%;\n margin: 0 auto 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: iconPop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s both;\n }\n\n .modal-icon svg {\n width: 40px;\n height: 40px;\n fill: white;\n }\n\n @keyframes iconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 70% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n \/* T\u00edtulo del modal *\/\n .modal-title {\n color: #1e293b;\n font-weight: 700;\n font-size: 24px;\n margin-bottom: 12px;\n letter-spacing: -0.5px;\n }\n\n \/* Mensaje del modal *\/\n .modal-message {\n color: #64748b;\n font-size: 15px;\n line-height: 1.5;\n margin-bottom: 24px;\n max-width: 380px;\n margin-left: auto;\n margin-right: auto;\n }\n\n \/* Bot\u00f3n del modal *\/\n .modal-button {\n background: linear-gradient(135deg, #215ba0 0%, #2563eb 100%);\n color: white;\n border: none;\n padding: 16px 40px;\n border-radius: 12px;\n font-weight: 600;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.3s ease;\n display: inline-block;\n letter-spacing: 0.3px;\n box-shadow: 0 4px 20px rgba(33, 91, 160, 0.2);\n }\n\n .modal-button:hover {\n transform: translateY(-3px);\n box-shadow: 0 8px 30px rgba(33, 91, 160, 0.3);\n }\n\n .modal-button:active {\n transform: translateY(-1px);\n }\n\n \/* Animaci\u00f3n de confeti *\/\n .confetti {\n position: absolute;\n width: 10px;\n height: 10px;\n background: #f59e0b;\n opacity: 0;\n }\n\n \/* Decoraci\u00f3n sutil *\/\n .modal-decoration {\n position: absolute;\n width: 200px;\n height: 200px;\n background: linear-gradient(135deg, rgba(33, 91, 160, 0.05) 0%, rgba(37, 99, 235, 0.05) 100%);\n border-radius: 50%;\n top: -100px;\n right: -100px;\n z-index: -1;\n }\n\n .modal-decoration:nth-child(2) {\n width: 150px;\n height: 150px;\n background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(5, 150, 105, 0.05) 100%);\n bottom: -75px;\n left: -75px;\n top: auto;\n right: auto;\n }\n\n \/* Animaciones sutiles *\/\n .formulario-acema input,\n .formulario-acema select,\n .formulario-acema textarea {\n animation: fadeIn 0.3s ease-out;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n \/* Animaci\u00f3n para el select cuando cambia *\/\n @keyframes selectChange {\n 0% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-2px);\n }\n 100% {\n transform: translateY(0);\n }\n }\n\n .formulario-acema select.changed {\n animation: selectChange 0.3s ease;\n }\n\n \/* Responsivo mejorado *\/\n @media (max-width: 768px) {\n .formulario-acema {\n padding: 32px 24px;\n margin: 0;\n }\n\n .formulario-acema h2 {\n font-size: 28px;\n margin-bottom: 32px;\n }\n\n .grid-layout {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n .select-row {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n .privacy-card {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n padding: 16px;\n margin-bottom: 24px;\n }\n\n \/* Bot\u00f3n centrado en m\u00f3vil *\/\n .submit-wrapper {\n margin-top: 16px;\n }\n\n .formulario-acema input[type=\"submit\"] {\n width: 100%;\n max-width: 280px;\n padding: 16px;\n }\n\n \/* Ajuste para select en m\u00f3viles *\/\n .formulario-acema select {\n font-size: 16px; \/* Previene zoom en iOS *\/\n padding: 16px 0 10px;\n }\n\n \/* Modal responsive *\/\n .modal-content {\n padding: 28px 24px;\n margin: 20px;\n width: calc(100% - 40px);\n }\n\n .modal-title {\n font-size: 22px;\n margin-bottom: 10px;\n }\n\n .modal-message {\n font-size: 14px;\n padding: 0 10px;\n margin-bottom: 20px;\n }\n\n .modal-icon {\n width: 65px;\n height: 65px;\n margin-bottom: 14px;\n }\n\n \/* ...existing code... *\/\n }\n\n \/* Para pantallas muy peque\u00f1as *\/\n @media (max-width: 480px) {\n body {\n padding: 12px;\n }\n\n .formulario-acema {\n padding: 24px 20px;\n border-radius: 12px;\n }\n\n .formulario-acema h2 {\n font-size: 24px;\n margin-bottom: 28px;\n }\n\n .formulario-acema input[type=\"submit\"] {\n min-width: auto;\n width: 100%;\n padding: 16px 24px;\n }\n\n .modal-content {\n padding: 24px 18px;\n }\n\n .modal-title {\n font-size: 20px;\n margin-bottom: 8px;\n }\n\n \/* ...existing code... *\/\n }\n\t\t<\/style>\n\t<\/head>\n\t<body>\n\t\t<div class=\"formulario-acema\">\n\t\t\t<h2>\u00a1CONT\u00c1CTANOS!\n\t\t\t<\/h2>\n\t\t\t<div class=\"grid-layout\">\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span><br \/>\n<span class=\"field-label\">Nombres<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellidos\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"apellidos\" \/><\/span><br \/>\n<span class=\"field-label\">Apellidos<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telefono\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"tel\" name=\"telefono\" \/><\/span><br \/>\n<span class=\"field-label\">Tel\u00e9fono<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"email\" name=\"correo\" \/><\/span><br \/>\n<span class=\"field-label\">Correo electr\u00f3nico<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"select-row\">\n\t\t\t\t<div class=\"select-wrapper\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><select id=\"tipo-solicitud\" name=\"destino\" required>\n <option value=\"\" selected disabled>Tipo de solicitud<\/option>\n <option value=\"comercial.solar@acemaingenieria.com\">Servicios solares<\/option>\n <option value=\"comercial@acemaingenieria.com\">Servicios el\u00e9ctricos<\/option>\n <option value=\"desarrollo.humano@acemaingenieria.com\">Trabaja con nosotros<\/option>\n <\/select><br \/>\n<span class=\"field-label\"><\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div id=\"cv-wrapper\" class=\"hidden-cv\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><input type=\"text\" name=\"vacante\" id=\"vacante\" class=\"vacante-input\" placeholder=\" \" \/><br \/>\n<span class=\"field-label\">Vacante a la que aplica<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"file-wrapper\">\n\t\t\t\t\t\t<p>Adjunta tu hoja de vida\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"hoja_de_vida\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".pdf,.doc,.docx\" aria-invalid=\"false\" type=\"file\" name=\"hoja_de_vida\" \/><\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<div class=\"file-alert\" id=\"file-alert\">\n\t\t\t\t\t\t\t<p>Archivo requerido\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"error-message\" id=\"file-error\">\n\t\t\t\t\t\t\t<p>Por favor, adjunta tu hoja de vida\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"field-container\">\n\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"\" name=\"mensaje\"><\/textarea><\/span><br \/>\n<span class=\"field-label\">Mensaje<\/span>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t\t<div class=\"privacy-card\">\n\t\t\t\t<p><span class=\"privacy-title\">Pol\u00edticas de privacidad<\/span><br \/>\n<a href=\"\/politica-privacidad\" target=\"_blank\">Ver pol\u00edticas<\/a>\n\t\t\t\t<\/p>\n\t\t\t\t<div class=\"checkbox-wrapper\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"acepto\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acepto\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Acepto<\/span><\/label><\/span><\/span><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"submit-wrapper\">\n\t\t\t\t<p><input type=\"submit\" value=\"Enviar mensaje\" id=\"submit-button\" \/>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n \n <!-- Este div se usa para ocultar cualquier mensaje de confirmaci\u00f3n de Contact Form 7 -->\n\t\t\t<div style=\"display: none;\">\n\t\t\t\t<div class=\"wpcf7-response-output\" aria-hidden=\"true\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"wpcf7-mail-sent-ok\" style=\"display: none;\">\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n <!-- Modal de \u00e9xito -->\n\t\t<div class=\"success-modal\" id=\"successModal\">\n\t\t\t<div class=\"modal-content\">\n\t\t\t\t<div class=\"modal-decoration\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"modal-decoration\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"modal-icon\">\n\t\t\t\t\t<p><svg viewBox=\"0 0 24 24\">\n                    <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/>\n                <\/svg>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<h3 class=\"modal-title\">\u00a1Mensaje Enviado!\n\t\t\t\t<\/h3>\n\t\t\t\t<p class=\"modal-message\"><br \/>\nGracias por tu mensaje. Ha sido enviado correctamente.\n\t\t\t\t<\/p>\n\t\t\t\t<p>Nos pondremos en contacto contigo pronto.\n\t\t\t\t<\/p>\n\t\t\t\t<p><button class=\"modal-button\" id=\"closeModal\">Aceptar<\/button>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<p><script>\n document.addEventListener(\"DOMContentLoaded\", function () {\n const selectDestino = document.getElementById(\"tipo-solicitud\");\n const cvWrapper = document.getElementById(\"cv-wrapper\");\n const fileInput = cvWrapper ? cvWrapper.querySelector('input[type=\"file\"]') : null;\n const errorMessage = document.getElementById(\"file-error\");\n const fileAlert = document.getElementById(\"file-alert\");\n const form = document.querySelector('.formulario-acema');\n const submitButton = document.getElementById(\"submit-button\");\n const successModal = document.getElementById(\"successModal\");\n const closeModalBtn = document.getElementById(\"closeModal\");\n\n \/\/ Ocultar cualquier mensaje de Contact Form 7 que pueda aparecer\n function hideCF7Messages() {\n \/\/ Ocultar todos los mensajes de Contact Form 7\n const cf7Messages = document.querySelectorAll('.wpcf7-response-output, .wpcf7-mail-sent-ok, .wpcf7-mail-sent-ng, .wpcf7-spam-blocked, .wpcf7-validation-errors');\n cf7Messages.forEach(message => {\n message.style.display = 'none';\n message.setAttribute('aria-hidden', 'true');\n });\n \n \/\/ Tambi\u00e9n ocultar cualquier mensaje dentro del formulario\n const allMessages = document.querySelectorAll('.formulario-acema div[role=\"alert\"], .formulario-acema .alert, .formulario-acema .success-message');\n allMessages.forEach(message => {\n message.style.display = 'none';\n });\n }\n\n \/\/ Funci\u00f3n para inicializar etiquetas flotantes\n function initFloatingLabels() {\n const fieldContainers = document.querySelectorAll('.field-container');\n \n fieldContainers.forEach(container => {\n const input = container.querySelector('input, textarea, select');\n const label = container.querySelector('.field-label');\n \n if (!input || !label) return;\n \n \/\/ Inicializar estado\n updateLabelState(input, container);\n \n \/\/ Eventos para input\n input.addEventListener('focus', function() {\n container.classList.add('focused');\n updateLabelState(this, container);\n \n \/\/ Efecto especial para select\n if (this.tagName === 'SELECT') {\n this.style.borderBottomColor = '#215ba0';\n }\n });\n \n input.addEventListener('blur', function() {\n container.classList.remove('focused');\n updateLabelState(this, container);\n \n \/\/ Reset para select\n if (this.tagName === 'SELECT') {\n if (!this.value) {\n this.style.borderBottomColor = '#e2e8f0';\n }\n }\n });\n \n \/\/ Evento para cambios (para select y input)\n input.addEventListener('change', function() {\n updateLabelState(this, container);\n \n \/\/ Animaci\u00f3n para select cuando cambia\n if (this.tagName === 'SELECT' && this.value) {\n this.classList.add('changed');\n setTimeout(() => {\n this.classList.remove('changed');\n }, 300);\n }\n });\n \n \/\/ Evento para input (para campos de texto)\n input.addEventListener('input', function() {\n updateLabelState(this, container);\n });\n \n \/\/ Inicializar con el valor actual (para campos precargados)\n if (input.value) {\n container.classList.add('has-value');\n }\n });\n }\n \n function updateLabelState(input, container) {\n const label = container.querySelector('.field-label');\n \n if (input.tagName === 'SELECT') {\n \/\/ Para select\n if (input.value && input.value !== \"\") {\n container.classList.add('has-value');\n label.style.color = '#64748b';\n input.style.color = '#334155';\n } else {\n container.classList.remove('has-value');\n input.style.color = '#94a3b8';\n }\n } else if (input.tagName === 'TEXTAREA') {\n \/\/ Para textarea\n if (input.value.trim()) {\n container.classList.add('has-value');\n } else {\n container.classList.remove('has-value');\n }\n } else {\n \/\/ Para inputs normales\n if (input.value.trim()) {\n container.classList.add('has-value');\n } else {\n container.classList.remove('has-value');\n }\n }\n }\n\n \/\/ Funci\u00f3n para mostrar el modal de \u00e9xito\n function showSuccessModal() {\n \/\/ Primero ocultamos cualquier mensaje de CF7\n hideCF7Messages();\n \n \/\/ Luego mostramos nuestro modal\n successModal.classList.add('active');\n document.body.style.overflow = 'hidden'; \/\/ Previene scroll\n \n \/\/ Crear efecto de confeti simple\n createConfetti();\n }\n\n \/\/ Funci\u00f3n para cerrar el modal\n function closeSuccessModal() {\n successModal.classList.remove('active');\n document.body.style.overflow = 'auto'; \/\/ Restaura scroll\n \n \/\/ Limpiar el formulario despu\u00e9s de enviar\n if (form) {\n form.reset();\n \n \/\/ Resetear las etiquetas flotantes\n const fieldContainers = document.querySelectorAll('.field-container');\n fieldContainers.forEach(container => {\n container.classList.remove('has-value');\n const input = container.querySelector('input, textarea, select');\n if (input && input.tagName === 'SELECT') {\n input.style.color = '#94a3b8';\n }\n });\n \n \/\/ Resetear el campo CV\n if (cvWrapper) {\n cvWrapper.classList.remove(\"active\");\n if (fileInput) {\n fileInput.removeAttribute(\"required\");\n }\n }\n }\n \n \/\/ Asegurarnos de que los mensajes de CF7 permanezcan ocultos\n setTimeout(hideCF7Messages, 100);\n }\n\n \/\/ Funci\u00f3n para crear efecto de confeti simple\n function createConfetti() {\n const modalContent = document.querySelector('.modal-content');\n const colors = ['#215ba0', '#2563eb', '#10b981', '#f59e0b', '#ef4444'];\n \n for (let i = 0; i < 20; i++) {\n const confetti = document.createElement('div');\n confetti.className = 'confetti';\n confetti.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];\n confetti.style.left = Math.random() * 100 + '%';\n confetti.style.top = '-10px';\n confetti.style.transform = `rotate(${Math.random() * 360}deg)`;\n confetti.style.borderRadius = Math.random() > 0.5 ? '50%' : '0';\n \n modalContent.appendChild(confetti);\n \n \/\/ Animaci\u00f3n\n setTimeout(() => {\n confetti.style.transition = 'all 1s cubic-bezier(0.1, 0.8, 0.3, 1)';\n confetti.style.opacity = '1';\n confetti.style.transform = `translateY(${window.innerHeight}px) rotate(${Math.random() * 720}deg)`;\n \n \/\/ Eliminar despu\u00e9s de la animaci\u00f3n\n setTimeout(() => {\n confetti.remove();\n }, 1000);\n }, i * 50);\n }\n }\n\n \/\/ Event listeners para el modal\n if (closeModalBtn) {\n closeModalBtn.addEventListener('click', closeSuccessModal);\n }\n\n \/\/ Cerrar modal al hacer clic fuera del contenido\n if (successModal) {\n successModal.addEventListener('click', function(e) {\n if (e.target === this) {\n closeSuccessModal();\n }\n });\n }\n\n \/\/ Cerrar modal con la tecla Escape\n document.addEventListener('keydown', function(e) {\n if (e.key === 'Escape' && successModal.classList.contains('active')) {\n closeSuccessModal();\n }\n });\n\n if (selectDestino && cvWrapper) {\n \/\/ Funci\u00f3n para mostrar\/ocultar el campo CV\n function toggleCVField() {\n const selectedOption = selectDestino.options[selectDestino.selectedIndex];\n const selectedText = selectedOption ? selectedOption.text : '';\n const fileAlert = document.getElementById(\"file-alert\");\n\n if (selectedText === \"Trabaja con nosotros\") {\n cvWrapper.classList.add(\"active\");\n if (fileInput) {\n fileInput.setAttribute(\"required\", \"required\");\n fileInput.parentElement.style.borderColor = \"#ef4444\";\n }\n } else {\n cvWrapper.classList.remove(\"active\");\n if (fileInput) {\n fileInput.removeAttribute(\"required\");\n fileInput.parentElement.style.borderColor = \"\";\n errorMessage.classList.remove(\"show\");\n if (fileAlert) {\n fileAlert.classList.remove(\"show\");\n }\n }\n }\n }\n\n \/\/ Ejecutar al cambiar la selecci\u00f3n\n selectDestino.addEventListener(\"change\", function() {\n toggleCVField();\n \n \/\/ Cambiar color del texto cuando se selecciona una opci\u00f3n v\u00e1lida\n if (this.value) {\n this.style.color = '#334155';\n } else {\n this.style.color = '#94a3b8';\n }\n });\n\n \/\/ Ejecutar al cargar la p\u00e1gina\n toggleCVField();\n\n \/\/ Validar archivo antes de enviar\n if (form && submitButton) {\n submitButton.addEventListener(\"click\", function(e) {\n const selectedOption = selectDestino.options[selectDestino.selectedIndex];\n const selectedText = selectedOption ? selectedOption.text : '';\n const fileAlert = document.getElementById(\"file-alert\");\n \n if (selectedText === \"Trabaja con nosotros\" && fileInput && !fileInput.value) {\n e.preventDefault();\n fileInput.focus();\n fileInput.parentElement.style.borderColor = \"#ef4444\";\n fileInput.parentElement.style.boxShadow = \"0 0 0 3px rgba(239, 68, 68, 0.1)\";\n errorMessage.classList.add(\"show\");\n if (fileAlert) {\n fileAlert.classList.add(\"show\");\n }\n return false;\n }\n \n \/\/ Simular env\u00edo exitoso (en producci\u00f3n, esto se har\u00eda con AJAX)\n e.preventDefault();\n console.log('Mostrando modal...'); \/\/ Debug\n showSuccessModal();\n });\n }\n\n \/\/ Limpiar el error cuando se selecciona un archivo\n if (fileInput) {\n fileInput.addEventListener(\"change\", function() {\n const fileAlert = document.getElementById(\"file-alert\");\n if (this.value) {\n this.parentElement.style.borderColor = \"#e2e8f0\";\n this.parentElement.style.boxShadow = \"none\";\n errorMessage.classList.remove(\"show\");\n if (fileAlert) {\n fileAlert.classList.remove(\"show\");\n }\n }\n });\n }\n }\n\n \/\/ Mejorar la experiencia del checkbox\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach(checkbox => {\n checkbox.addEventListener('change', function() {\n if(this.checked) {\n this.style.boxShadow = '0 0 0 3px rgba(5, 150, 105, 0.1)';\n } else {\n this.style.boxShadow = 'none';\n }\n });\n });\n\n \/\/ Cambiar texto del bot\u00f3n file input a espa\u00f1ol\n if (fileInput) {\n fileInput.setAttribute('accept', '.pdf,.doc,.docx');\n \/\/ Para navegadores que soportan el atributo capture\n const fileLabel = fileInput.parentElement;\n if (fileLabel) {\n \/\/ Crear un wrapper personalizado con etiqueta en espa\u00f1ol\n const customLabel = document.createElement('label');\n customLabel.style.cursor = 'pointer';\n customLabel.style.display = 'inline-flex';\n customLabel.style.alignItems = 'center';\n customLabel.style.gap = '8px';\n \n \/\/ El input mantiene su funcionalidad pero est\u00e1 oculto\n fileInput.style.display = 'none';\n \n const buttonSpan = document.createElement('span');\n buttonSpan.textContent = 'Seleccionar archivo';\n buttonSpan.style.backgroundColor = '#215ba0';\n buttonSpan.style.color = 'white';\n buttonSpan.style.padding = '6px 12px';\n buttonSpan.style.borderRadius = '4px';\n buttonSpan.style.fontSize = '12px';\n buttonSpan.style.fontWeight = '500';\n buttonSpan.style.cursor = 'pointer';\n buttonSpan.style.transition = 'all 0.2s ease';\n buttonSpan.style.fontFamily = 'inherit';\n \n const fileNameSpan = document.createElement('span');\n fileNameSpan.textContent = 'Ning\u00fan archivo seleccionado';\n fileNameSpan.style.fontSize = '12px';\n fileNameSpan.style.color = '#64748b';\n fileNameSpan.style.fontFamily = 'inherit';\n \n customLabel.appendChild(buttonSpan);\n customLabel.appendChild(fileNameSpan);\n \n fileInput.parentElement.insertBefore(customLabel, fileInput);\n \n \/\/ Actualizar nombre del archivo cuando se selecciona\n fileInput.addEventListener('change', function() {\n if (this.files && this.files[0]) {\n fileNameSpan.textContent = this.files[0].name;\n fileNameSpan.style.color = '#215ba0';\n fileNameSpan.style.fontWeight = '500';\n buttonSpan.style.backgroundColor = '#1d4ed8';\n }\n });\n \n \/\/ Hover effect\n buttonSpan.addEventListener('mouseenter', function() {\n this.style.backgroundColor = '#1d4ed8';\n this.style.transform = 'translateY(-1px)';\n });\n \n buttonSpan.addEventListener('mouseleave', function() {\n this.style.backgroundColor = fileInput.files && fileInput.files[0] ? '#1d4ed8' : '#215ba0';\n this.style.transform = 'translateY(0)';\n });\n \n \/\/ Click en el label activa el input file\n customLabel.addEventListener('click', function(e) {\n if (e.target !== fileInput) {\n fileInput.click();\n }\n });\n }\n }\n\n \/\/ Inicializar etiquetas flotantes\n initFloatingLabels();\n \n \/\/ Ocultar mensajes de CF7 al cargar la p\u00e1gina\n hideCF7Messages();\n \n \/\/ Observador para detectar y ocultar mensajes que aparezcan din\u00e1micamente\n const observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(mutation) {\n if (mutation.addedNodes && mutation.addedNodes.length > 0) {\n hideCF7Messages();\n }\n });\n });\n \n \/\/ Observar cambios en el formulario\n if (form) {\n observer.observe(form, { childList: true, subtree: true });\n }\n });\n <\/script>\n\t\t<\/p>\n\t<\/body>\n<\/html><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f3675-o4\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"3675\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/pages\/1734#wpcf7-f3675-o4\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"3675\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f3675-o4\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<p><!DOCTYPE html>\n<\/p>\n<html lang=\"es\">\n\t<head>\n <meta charset=\"UTF-8\" \/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n\t\t<title>Formulario Minimalista\n\t\t<\/title>\n\t\t<style>\n \/* =========================================\n ESTILOS MEJORADOS - MINIMALISTA CON BUEN UX\n ========================================= *\/\n body {\n font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;\n background-color: #f8fafc;\n margin: 0;\n padding: 0;\n color: #334155;\n line-height: 1.6;\n }\n\n .formulario-acema {\n background: white;\n border-radius: 16px;\n padding: 48px 40px;\n width: 100%;\n \n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);\n border: 1px solid rgba(226, 232, 240, 0.6);\n position: relative;\n overflow: hidden;\n }\n\n \/* Burbujas decorativas transparentes en esquinas *\/\n .formulario-acema::before {\n content: '';\n position: absolute;\n width: 200px;\n height: 200px;\n background: radial-gradient(circle, rgba(33, 91, 160, 0.08), rgba(33, 91, 160, 0));\n border-radius: 50%;\n top: -80px;\n right: -80px;\n pointer-events: none;\n z-index: 0;\n }\n\n .formulario-acema::after {\n content: '';\n position: absolute;\n width: 250px;\n height: 250px;\n background: radial-gradient(circle, rgba(64, 163, 53, 0.08), rgba(64, 163, 53, 0));\n border-radius: 50%;\n bottom: -120px;\n left: -100px;\n pointer-events: none;\n z-index: 0;\n }\n\n \/* Asegurar que el contenido est\u00e9 sobre las burbujas *\/\n .formulario-acema h2 {\n position: relative;\n z-index: 1;\n color:#40a335;\n text-align: center;\n font-weight: 900;\n font-size: 32px;\n margin-bottom: 40px;\n letter-spacing: -0.5px;\n }\n\n \/* Grid mejorado con mejor espaciado *\/\n .grid-layout {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 24px;\n margin-bottom: 24px;\n position: relative;\n z-index: 1;\n }\n\n .column {\n display: flex;\n flex-direction: column;\n position: relative;\n }\n\n \/* Select row mejorado *\/\n .select-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 24px;\n margin-bottom: 24px;\n position: relative;\n z-index: 1;\n }\n\n \/* Campos de formulario - minimalista *\/\n .formulario-acema input[type=\"text\"],\n .formulario-acema input[type=\"email\"],\n .formulario-acema input[type=\"tel\"],\n .formulario-acema select,\n .formulario-acema textarea,\n .formulario-acema input[type=\"file\"] {\n width: 100%;\n background-color: transparent;\n color: #727272a8;\n border: none;\n border-bottom: 2px solid #e2e8f0;\n border-radius: 0;\n padding: 14px 0 8px;\n font-size: 15px;\n font-family: inherit;\n transition: all 0.25s ease;\n appearance: none;\n cursor: pointer;\n }\n\n \/* Estilo espec\u00edfico para el select \"Tipo de solicitud\" *\/\n .formulario-acema select {\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 16px center;\n background-size: 16px;\n padding-right: 40px;\n background-color: white;\n }\n\n \/* Estados hover y focus para select *\/\n .formulario-acema select:hover {\n border-bottom-color: #93c5fd;\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23215ba0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n }\n\n .formulario-acema select:focus {\n outline: none;\n border-bottom-color: #7eb3f3;\n background-color: transparent;\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23215ba0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n box-shadow: 0 2px 0 0 rgba(33, 91, 160, 0.1);\n }\n \n\n \/* Estilo para cuando se ha seleccionado una opci\u00f3n *\/\n .formulario-acema select:valid:not([value=\"\"]) {\n color: #334155;\n font-weight: 500;\n }\n\n \/* Estilo para la opci\u00f3n por defecto *\/\n .formulario-acema select option[value=\"\"] {\n color: #215ba0;\n font-style: italic;\n }\n\n \/* Estilo para las opciones del dropdown *\/\n .formulario-acema select option {\n background-color: white;\n color: #215ba0;\n padding: 12px 16px;\n font-size: 15px;\n font-family: inherit;\n transition: all 0.2s ease;\n border-bottom: 1px solid #f1f5f9;\n }\n\n \/* Estilo para la \u00faltima opci\u00f3n (sin borde inferior) *\/\n .formulario-acema select option:last-child {\n border-bottom: none;\n }\n\n \/* Estilo para opciones al hacer hover en el dropdown *\/\n .formulario-acema select option:hover {\n background-color: #dbeafe;\n color: #215ba0;\n padding-left: 20px;\n cursor: pointer;\n }\n\n \/* Estilo para opci\u00f3n seleccionada en el dropdown *\/\n .formulario-acema select option:checked {\n background: linear-gradient(135deg, #215ba0 0%, #2563eb 100%);\n color:#215ba0;\n border-radius: 15px;\n font-weight: 500;\n position: relative;\n }\n\n \/* Flecha decorativa para opci\u00f3n seleccionada *\/\n .formulario-acema select option:checked::after {\n content: \"\u2713\";\n position: absolute;\n right: 16px;\n font-size: 14px;\n font-weight: bold;\n }\n\n \/* Estados focus mejorados *\/\n .formulario-acema input:focus,\n .formulario-acema select:focus,\n .formulario-acema textarea:focus {\n outline: none;\n border-bottom-color: #215ba0;\n box-shadow: 0 2px 0 0 rgba(33, 91, 160, 0.1);\n background-color: transparent;\n }\n\n \/* Placeholders elegantes *\/\n .formulario-acema input::placeholder,\n .formulario-acema textarea::placeholder {\n color: transparent;\n opacity: 1;\n transition: color 0.2s ease;\n }\n\n .formulario-acema input:focus::placeholder,\n .formulario-acema textarea:focus::placeholder {\n color:#929292a8;\n }\n\n \/* \u00c1rea de mensaje *\/\n .formulario-acema textarea {\n height: 140px;\n resize: vertical;\n min-height: 140px;\n margin-bottom: 32px;\n font-family: inherit;\n line-height: 1.5;\n border: 1px solid rgb(214, 212, 212);\n border-radius: 13px ;\n \n }\n\n \/* Estilos para etiquetas flotantes *\/\n .field-container {\n position: relative;\n margin-bottom: 8px;\n z-index: 1;\n }\n\n .field-label {\n position: absolute;\n top: 18px;\n left: 0;\n font-size: 15px;\n font-weight: 500;\n color:#929292a8; ;\n pointer-events: none;\n transition: all 0.2s ease;\n transform-origin: left center;\n margin: 0;\n padding: 0;\n }\n\n \/* Estados de la etiqueta flotante *\/\n .field-container.focused .field-label,\n .field-container.has-value .field-label {\n top: 0;\n font-size: 12px;\n color: #215ba0;\n transform: translateY(0);\n font-weight: 600;\n }\n\n .field-container select ~ .field-label {\n background-color: white;\n padding-right: 30px;\n padding-left: 4px;\n z-index: 1;\n }\n\n \/* Campos con valor pero sin foco *\/\n .field-container input:not(:placeholder-shown) ~ .field-label,\n .field-container textarea:not(:placeholder-shown) ~ .field-label,\n .field-container select:valid:not([value=\"\"]) ~ .field-label {\n top: 0;\n font-size: 12px;\n color: #64748b;\n font-weight: 500;\n }\n\n \/* Select enfocado *\/\n .field-container select:focus ~ .field-label {\n color: #215ba0;\n font-weight: 600;\n }\n\n \/* Privacidad - m\u00e1s minimalista *\/\n .privacy-card {\n background: #f8fafc;\n border-radius: 12px;\n padding: 16px;\n margin: 0 0 32px 0;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n border: 1px solid #e2e8f0;\n width: fit-content;\n position: relative;\n z-index: 1;\n }\n\n .privacy-title {\n color: #1e293b;\n font-weight: 600;\n font-size: 15px;\n margin: 0;\n }\n\n .privacy-card a {\n color: #40a335;\n font-weight: 500;\n text-decoration: none;\n transition: color 0.2s ease;\n font-size: 14px;\n }\n\n .privacy-card a:hover {\n color: #047857;\n text-decoration: underline;\n }\n\n \/* Checkbox wrapper mejorado *\/\n .checkbox-wrapper {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n }\n\n \/* Checkbox personalizado *\/\n .wpcf7-list-item {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .formulario-acema .privacy-card input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n border-radius: 3px;\n border: 1.5px solid #cbd5e1;\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n\n .formulario-acema .privacy-card input[type=\"checkbox\"]:checked {\n background-color: #40a335;\n border-color: #059669;\n }\n\n .wpcf7-list-item-label {\n color: #475569;\n font-size: 13px;\n cursor: pointer;\n margin: 0;\n }\n\n \/* Bot\u00f3n de enviar - CENTRADO HORIZONTALMENTE *\/\n .submit-wrapper {\n text-align: center;\n width: 100%;\n margin-top: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n z-index: 1;\n }\n\n .formulario-acema input[type=\"submit\"] {\n background-color: #215ba0;\n color: white;\n padding: 16px 48px;\n border-radius: 12px;\n border: none;\n font-weight: 600;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.25s ease;\n display: inline-block;\n letter-spacing: 0.3px;\n min-width: 220px;\n box-shadow: 0 4px 20px rgba(37, 99, 235, 0.15);\n }\n\n .formulario-acema input[type=\"submit\"]:hover {\n background-color: #1d4ed8;\n transform: translateY(-3px);\n box-shadow: 0 8px 30px rgba(37, 99, 235, 0.25);\n }\n\n .formulario-acema input[type=\"submit\"]:active {\n transform: translateY(-1px);\n }\n\n \/* Campo de archivo mejorado *\/\n .hidden-cv {\n display: none;\n opacity: 0;\n transform: translateY(-10px);\n transition: all 0.3s ease;\n }\n\n .hidden-cv.active {\n display: block;\n opacity: 1;\n transform: translateY(0);\n }\n\n .file-wrapper {\n position: relative;\n }\n\n .hidden-cv p {\n color: #215ba0;\n font-weight: 600;\n font-size: 14px;\n margin-bottom: 10px;\n text-align: left;\n }\n\n \/* Input file personalizado *\/\n .formulario-acema input[type=\"file\"] {\n padding: 12px;\n cursor: pointer;\n border: 2px dashed #e2e8f0;\n background-color: white;\n border-radius: 8px;\n }\n\n .formulario-acema input[type=\"file\"]:hover {\n border-color: #3b82f6;\n background-color: #f8fafc;\n }\n\n .formulario-acema input[type=\"file\"]::-webkit-file-upload-button {\n background-color: #215ba0;\n color: white;\n border: none;\n padding: 8px 16px;\n border-radius: 6px;\n margin-right: 12px;\n cursor: pointer;\n font-family: inherit;\n font-size: 14px;\n transition: all 0.2s ease;\n }\n\n .formulario-acema input[type=\"file\"]::-webkit-file-upload-button:hover {\n background-color: #1d4ed8;\n transform: translateY(-1px);\n }\n\n \/* Mensaje de error *\/\n .error-message {\n color: #ef4444;\n font-size: 13px;\n font-weight: 500;\n margin-top: 8px;\n display: none;\n animation: slideIn 0.3s ease;\n }\n\n .error-message.show {\n display: block;\n }\n\n \/* Alerta de archivo faltante *\/\n .file-alert {\n background-color: #fee2e2;\n border: 1px solid #fecaca;\n border-radius: 8px;\n padding: 10px 12px;\n margin-top: 8px;\n display: none;\n font-size: 13px;\n color: #991b1b;\n font-weight: 500;\n }\n\n .file-alert.show {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .file-alert::before {\n content: \"\u26a0\";\n font-size: 16px;\n flex-shrink: 0;\n }\n\n \/* =========================================\n ESTILOS PARA EL POPUP\/MODAL\n ========================================= *\/\n .success-modal {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n\n .success-modal.active {\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 1;\n }\n\n .modal-content {\n background: white;\n border-radius: 20px;\n padding: 32px 32px;\n width: 90%;\n max-width: 420px;\n text-align: center;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);\n border: 1px solid rgba(226, 232, 240, 0.8);\n transform: translateY(30px) scale(0.95);\n opacity: 0;\n transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n position: relative;\n overflow: hidden;\n }\n\n .success-modal.active .modal-content {\n transform: translateY(0) scale(1);\n opacity: 1;\n }\n\n \/* Icono de \u00e9xito *\/\n .modal-icon {\n width: 70px;\n height: 70px;\n background: linear-gradient(135deg, #215ba0 0%, #40a335 100%);\n border-radius: 50%;\n margin: 0 auto 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: iconPop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s both;\n }\n\n .modal-icon svg {\n width: 40px;\n height: 40px;\n fill: white;\n }\n\n @keyframes iconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 70% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n \/* T\u00edtulo del modal *\/\n .modal-title {\n color: #1e293b;\n font-weight: 700;\n font-size: 24px;\n margin-bottom: 12px;\n letter-spacing: -0.5px;\n }\n\n \/* Mensaje del modal *\/\n .modal-message {\n color: #64748b;\n font-size: 15px;\n line-height: 1.5;\n margin-bottom: 24px;\n max-width: 380px;\n margin-left: auto;\n margin-right: auto;\n }\n\n \/* Bot\u00f3n del modal *\/\n .modal-button {\n background: linear-gradient(135deg, #215ba0 0%, #2563eb 100%);\n color: white;\n border: none;\n padding: 16px 40px;\n border-radius: 12px;\n font-weight: 600;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.3s ease;\n display: inline-block;\n letter-spacing: 0.3px;\n box-shadow: 0 4px 20px rgba(33, 91, 160, 0.2);\n }\n\n .modal-button:hover {\n transform: translateY(-3px);\n box-shadow: 0 8px 30px rgba(33, 91, 160, 0.3);\n }\n\n .modal-button:active {\n transform: translateY(-1px);\n }\n\n \/* Animaci\u00f3n de confeti *\/\n .confetti {\n position: absolute;\n width: 10px;\n height: 10px;\n background: #f59e0b;\n opacity: 0;\n }\n\n \/* Decoraci\u00f3n sutil *\/\n .modal-decoration {\n position: absolute;\n width: 200px;\n height: 200px;\n background: linear-gradient(135deg, rgba(33, 91, 160, 0.05) 0%, rgba(37, 99, 235, 0.05) 100%);\n border-radius: 50%;\n top: -100px;\n right: -100px;\n z-index: -1;\n }\n\n .modal-decoration:nth-child(2) {\n width: 150px;\n height: 150px;\n background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(5, 150, 105, 0.05) 100%);\n bottom: -75px;\n left: -75px;\n top: auto;\n right: auto;\n }\n\n \/* Animaciones sutiles *\/\n .formulario-acema input,\n .formulario-acema select,\n .formulario-acema textarea {\n animation: fadeIn 0.3s ease-out;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n \/* Animaci\u00f3n para el select cuando cambia *\/\n @keyframes selectChange {\n 0% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-2px);\n }\n 100% {\n transform: translateY(0);\n }\n }\n\n .formulario-acema select.changed {\n animation: selectChange 0.3s ease;\n }\n\n \/* Responsivo mejorado *\/\n @media (max-width: 768px) {\n .formulario-acema {\n padding: 32px 24px;\n margin: 0;\n }\n\n .formulario-acema h2 {\n font-size: 28px;\n margin-bottom: 32px;\n }\n\n .grid-layout {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n .select-row {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n .privacy-card {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n padding: 16px;\n margin-bottom: 24px;\n }\n\n \/* Bot\u00f3n centrado en m\u00f3vil *\/\n .submit-wrapper {\n margin-top: 16px;\n }\n\n .formulario-acema input[type=\"submit\"] {\n width: 100%;\n max-width: 280px;\n padding: 16px;\n }\n\n \/* Ajuste para select en m\u00f3viles *\/\n .formulario-acema select {\n font-size: 16px; \/* Previene zoom en iOS *\/\n padding: 16px 0 10px;\n }\n\n \/* Modal responsive *\/\n .modal-content {\n padding: 28px 24px;\n margin: 20px;\n width: calc(100% - 40px);\n }\n\n .modal-title {\n font-size: 22px;\n margin-bottom: 10px;\n }\n\n .modal-message {\n font-size: 14px;\n padding: 0 10px;\n margin-bottom: 20px;\n }\n\n .modal-icon {\n width: 65px;\n height: 65px;\n margin-bottom: 14px;\n }\n\n \/* ...existing code... *\/\n }\n\n \/* Para pantallas muy peque\u00f1as *\/\n @media (max-width: 480px) {\n body {\n padding: 12px;\n }\n\n .formulario-acema {\n padding: 24px 20px;\n border-radius: 12px;\n }\n\n .formulario-acema h2 {\n font-size: 24px;\n margin-bottom: 28px;\n }\n\n .formulario-acema input[type=\"submit\"] {\n min-width: auto;\n width: 100%;\n padding: 16px 24px;\n }\n\n .modal-content {\n padding: 24px 18px;\n }\n\n .modal-title {\n font-size: 20px;\n margin-bottom: 8px;\n }\n\n \/* ...existing code... *\/\n }\n\t\t<\/style>\n\t<\/head>\n\t<body>\n\t\t<div class=\"formulario-acema\">\n\t\t\t<h2>CONT\u00c1CTANOS\n\t\t\t<\/h2>\n\t\t\t<div class=\"grid-layout\">\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span><br \/>\n<span class=\"field-label\">Nombres<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellidos\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"apellidos\" \/><\/span><br \/>\n<span class=\"field-label\">Apellidos<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telefono\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"tel\" name=\"telefono\" \/><\/span><br \/>\n<span class=\"field-label\">Tel\u00e9fono<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"column\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"email\" name=\"correo\" \/><\/span><br \/>\n<span class=\"field-label\">Correo electr\u00f3nico<\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"select-row\">\n\t\t\t\t<div class=\"select-wrapper\">\n\t\t\t\t\t<div class=\"field-container\">\n\t\t\t\t\t\t<p><select id=\"tipo-solicitud\" name=\"destino\" required>\n <option value=\"\" selected disabled>Tipo de solicitud<\/option>\n <option value=\"comercial.solar@acemaingenieria.com\n\">Servicios solares<\/option>\n <option value=\"comercial@acemaingenieria.com\">Servicios el\u00e9ctricos<\/option>\n <option value=\"desarrollo.humano@acemaingenieria.com\">Trabaja con nosotros<\/option>\n <\/select><br \/>\n<span class=\"field-label\"><\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div id=\"cv-wrapper\" class=\"hidden-cv\">\n\t\t\t\t\t<div class=\"file-wrapper\">\n\t\t\t\t\t\t<p>Adjunta tu hoja de vida\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"hoja_de_vida\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".pdf,.doc,.docx\" aria-invalid=\"false\" type=\"file\" name=\"hoja_de_vida\" \/><\/span>\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<div class=\"file-alert\" id=\"file-alert\">\n\t\t\t\t\t\t\t<p>Archivo requerido\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"error-message\" id=\"file-error\">\n\t\t\t\t\t\t\t<p>Por favor, adjunta tu hoja de vida\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"field-container\">\n\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"\" name=\"mensaje\"><\/textarea><\/span><br \/>\n<span class=\"field-label\">Mensaje<\/span>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t\t<div class=\"privacy-card\">\n\t\t\t\t<p><span class=\"privacy-title\">Pol\u00edticas de privacidad<\/span><br \/>\n<a href=\"\/politica-privacidad\" target=\"_blank\">Ver pol\u00edticas<\/a>\n\t\t\t\t<\/p>\n\t\t\t\t<div class=\"checkbox-wrapper\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"acepto\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acepto\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Acepto<\/span><\/label><\/span><\/span><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"submit-wrapper\">\n\t\t\t\t<p><input type=\"submit\" value=\"Enviar mensaje\" id=\"submit-button\" \/>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n \n <!-- Este div se usa para ocultar cualquier mensaje de confirmaci\u00f3n de Contact Form 7 -->\n\t\t\t<div style=\"display: none;\">\n\t\t\t\t<div class=\"wpcf7-response-output\" aria-hidden=\"true\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"wpcf7-mail-sent-ok\" style=\"display: none;\">\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n <!-- Modal de \u00e9xito -->\n\t\t<div class=\"success-modal\" id=\"successModal\">\n\t\t\t<div class=\"modal-content\">\n\t\t\t\t<div class=\"modal-decoration\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"modal-decoration\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"modal-icon\">\n\t\t\t\t\t<p><svg viewBox=\"0 0 24 24\">\n                    <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/>\n                <\/svg>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<h3 class=\"modal-title\">\u00a1Mensaje Enviado!\n\t\t\t\t<\/h3>\n\t\t\t\t<p class=\"modal-message\"><br \/>\nGracias por tu mensaje. Ha sido enviado correctamente.\n\t\t\t\t<\/p>\n\t\t\t\t<p>Nos pondremos en contacto contigo pronto.\n\t\t\t\t<\/p>\n\t\t\t\t<p><button class=\"modal-button\" id=\"closeModal\">Aceptar<\/button>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<p><script>\n document.addEventListener(\"DOMContentLoaded\", function () {\n const selectDestino = document.getElementById(\"tipo-solicitud\");\n const cvWrapper = document.getElementById(\"cv-wrapper\");\n const fileInput = cvWrapper ? cvWrapper.querySelector('input[type=\"file\"]') : null;\n const errorMessage = document.getElementById(\"file-error\");\n const fileAlert = document.getElementById(\"file-alert\");\n const form = document.querySelector('.formulario-acema');\n const submitButton = document.getElementById(\"submit-button\");\n const successModal = document.getElementById(\"successModal\");\n const closeModalBtn = document.getElementById(\"closeModal\");\n\n \/\/ Ocultar cualquier mensaje de Contact Form 7 que pueda aparecer\n function hideCF7Messages() {\n \/\/ Ocultar todos los mensajes de Contact Form 7\n const cf7Messages = document.querySelectorAll('.wpcf7-response-output, .wpcf7-mail-sent-ok, .wpcf7-mail-sent-ng, .wpcf7-spam-blocked, .wpcf7-validation-errors');\n cf7Messages.forEach(message => {\n message.style.display = 'none';\n message.setAttribute('aria-hidden', 'true');\n });\n \n \/\/ Tambi\u00e9n ocultar cualquier mensaje dentro del formulario\n const allMessages = document.querySelectorAll('.formulario-acema div[role=\"alert\"], .formulario-acema .alert, .formulario-acema .success-message');\n allMessages.forEach(message => {\n message.style.display = 'none';\n });\n }\n\n \/\/ Funci\u00f3n para inicializar etiquetas flotantes\n function initFloatingLabels() {\n const fieldContainers = document.querySelectorAll('.field-container');\n \n fieldContainers.forEach(container => {\n const input = container.querySelector('input, textarea, select');\n const label = container.querySelector('.field-label');\n \n if (!input || !label) return;\n \n \/\/ Inicializar estado\n updateLabelState(input, container);\n \n \/\/ Eventos para input\n input.addEventListener('focus', function() {\n container.classList.add('focused');\n updateLabelState(this, container);\n \n \/\/ Efecto especial para select\n if (this.tagName === 'SELECT') {\n this.style.borderBottomColor = '#215ba0';\n }\n });\n \n input.addEventListener('blur', function() {\n container.classList.remove('focused');\n updateLabelState(this, container);\n \n \/\/ Reset para select\n if (this.tagName === 'SELECT') {\n if (!this.value) {\n this.style.borderBottomColor = '#e2e8f0';\n }\n }\n });\n \n \/\/ Evento para cambios (para select y input)\n input.addEventListener('change', function() {\n updateLabelState(this, container);\n \n \/\/ Animaci\u00f3n para select cuando cambia\n if (this.tagName === 'SELECT' && this.value) {\n this.classList.add('changed');\n setTimeout(() => {\n this.classList.remove('changed');\n }, 300);\n }\n });\n \n \/\/ Evento para input (para campos de texto)\n input.addEventListener('input', function() {\n updateLabelState(this, container);\n });\n \n \/\/ Inicializar con el valor actual (para campos precargados)\n if (input.value) {\n container.classList.add('has-value');\n }\n });\n }\n \n function updateLabelState(input, container) {\n const label = container.querySelector('.field-label');\n \n if (input.tagName === 'SELECT') {\n \/\/ Para select\n if (input.value && input.value !== \"\") {\n container.classList.add('has-value');\n label.style.color = '#64748b';\n input.style.color = '#334155';\n } else {\n container.classList.remove('has-value');\n input.style.color = '#94a3b8';\n }\n } else if (input.tagName === 'TEXTAREA') {\n \/\/ Para textarea\n if (input.value.trim()) {\n container.classList.add('has-value');\n } else {\n container.classList.remove('has-value');\n }\n } else {\n \/\/ Para inputs normales\n if (input.value.trim()) {\n container.classList.add('has-value');\n } else {\n container.classList.remove('has-value');\n }\n }\n }\n\n \/\/ Funci\u00f3n para mostrar el modal de \u00e9xito\n function showSuccessModal() {\n \/\/ Primero ocultamos cualquier mensaje de CF7\n hideCF7Messages();\n \n \/\/ Luego mostramos nuestro modal\n successModal.classList.add('active');\n document.body.style.overflow = 'hidden'; \/\/ Previene scroll\n \n \/\/ Crear efecto de confeti simple\n createConfetti();\n }\n\n \/\/ Funci\u00f3n para cerrar el modal\n function closeSuccessModal() {\n successModal.classList.remove('active');\n document.body.style.overflow = 'auto'; \/\/ Restaura scroll\n \n \/\/ Limpiar el formulario despu\u00e9s de enviar\n if (form) {\n form.reset();\n \n \/\/ Resetear las etiquetas flotantes\n const fieldContainers = document.querySelectorAll('.field-container');\n fieldContainers.forEach(container => {\n container.classList.remove('has-value');\n const input = container.querySelector('input, textarea, select');\n if (input && input.tagName === 'SELECT') {\n input.style.color = '#94a3b8';\n }\n });\n \n \/\/ Resetear el campo CV\n if (cvWrapper) {\n cvWrapper.classList.remove(\"active\");\n if (fileInput) {\n fileInput.removeAttribute(\"required\");\n }\n }\n }\n \n \/\/ Asegurarnos de que los mensajes de CF7 permanezcan ocultos\n setTimeout(hideCF7Messages, 100);\n }\n\n \/\/ Funci\u00f3n para crear efecto de confeti simple\n function createConfetti() {\n const modalContent = document.querySelector('.modal-content');\n const colors = ['#215ba0', '#2563eb', '#10b981', '#f59e0b', '#ef4444'];\n \n for (let i = 0; i < 20; i++) {\n const confetti = document.createElement('div');\n confetti.className = 'confetti';\n confetti.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];\n confetti.style.left = Math.random() * 100 + '%';\n confetti.style.top = '-10px';\n confetti.style.transform = `rotate(${Math.random() * 360}deg)`;\n confetti.style.borderRadius = Math.random() > 0.5 ? '50%' : '0';\n \n modalContent.appendChild(confetti);\n \n \/\/ Animaci\u00f3n\n setTimeout(() => {\n confetti.style.transition = 'all 1s cubic-bezier(0.1, 0.8, 0.3, 1)';\n confetti.style.opacity = '1';\n confetti.style.transform = `translateY(${window.innerHeight}px) rotate(${Math.random() * 720}deg)`;\n \n \/\/ Eliminar despu\u00e9s de la animaci\u00f3n\n setTimeout(() => {\n confetti.remove();\n }, 1000);\n }, i * 50);\n }\n }\n\n \/\/ Event listeners para el modal\n if (closeModalBtn) {\n closeModalBtn.addEventListener('click', closeSuccessModal);\n }\n\n \/\/ Cerrar modal al hacer clic fuera del contenido\n if (successModal) {\n successModal.addEventListener('click', function(e) {\n if (e.target === this) {\n closeSuccessModal();\n }\n });\n }\n\n \/\/ Cerrar modal con la tecla Escape\n document.addEventListener('keydown', function(e) {\n if (e.key === 'Escape' && successModal.classList.contains('active')) {\n closeSuccessModal();\n }\n });\n\n if (selectDestino && cvWrapper) {\n \/\/ Funci\u00f3n para mostrar\/ocultar el campo CV\n function toggleCVField() {\n const selectedOption = selectDestino.options[selectDestino.selectedIndex];\n const selectedText = selectedOption ? selectedOption.text : '';\n const fileAlert = document.getElementById(\"file-alert\");\n\n if (selectedText === \"Trabaja con nosotros\") {\n cvWrapper.classList.add(\"active\");\n if (fileInput) {\n fileInput.setAttribute(\"required\", \"required\");\n fileInput.parentElement.style.borderColor = \"#ef4444\";\n }\n } else {\n cvWrapper.classList.remove(\"active\");\n if (fileInput) {\n fileInput.removeAttribute(\"required\");\n fileInput.parentElement.style.borderColor = \"\";\n errorMessage.classList.remove(\"show\");\n if (fileAlert) {\n fileAlert.classList.remove(\"show\");\n }\n }\n }\n }\n\n \/\/ Ejecutar al cambiar la selecci\u00f3n\n selectDestino.addEventListener(\"change\", function() {\n toggleCVField();\n \n \/\/ Cambiar color del texto cuando se selecciona una opci\u00f3n v\u00e1lida\n if (this.value) {\n this.style.color = '#334155';\n } else {\n this.style.color = '#94a3b8';\n }\n });\n\n \/\/ Ejecutar al cargar la p\u00e1gina\n toggleCVField();\n\n \/\/ Validar archivo antes de enviar\n if (form && submitButton) {\n submitButton.addEventListener(\"click\", function(e) {\n const selectedOption = selectDestino.options[selectDestino.selectedIndex];\n const selectedText = selectedOption ? selectedOption.text : '';\n const fileAlert = document.getElementById(\"file-alert\");\n \n if (selectedText === \"Trabaja con nosotros\" && fileInput && !fileInput.value) {\n e.preventDefault();\n fileInput.focus();\n fileInput.parentElement.style.borderColor = \"#ef4444\";\n fileInput.parentElement.style.boxShadow = \"0 0 0 3px rgba(239, 68, 68, 0.1)\";\n errorMessage.classList.add(\"show\");\n if (fileAlert) {\n fileAlert.classList.add(\"show\");\n }\n return false;\n }\n \n \/\/ Simular env\u00edo exitoso (en producci\u00f3n, esto se har\u00eda con AJAX)\n e.preventDefault();\n console.log('Mostrando modal...'); \/\/ Debug\n showSuccessModal();\n });\n }\n\n \/\/ Limpiar el error cuando se selecciona un archivo\n if (fileInput) {\n fileInput.addEventListener(\"change\", function() {\n const fileAlert = document.getElementById(\"file-alert\");\n if (this.value) {\n this.parentElement.style.borderColor = \"#e2e8f0\";\n this.parentElement.style.boxShadow = \"none\";\n errorMessage.classList.remove(\"show\");\n if (fileAlert) {\n fileAlert.classList.remove(\"show\");\n }\n }\n });\n }\n }\n\n \/\/ Mejorar la experiencia del checkbox\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach(checkbox => {\n checkbox.addEventListener('change', function() {\n if(this.checked) {\n this.style.boxShadow = '0 0 0 3px rgba(5, 150, 105, 0.1)';\n } else {\n this.style.boxShadow = 'none';\n }\n });\n });\n\n \/\/ Inicializar etiquetas flotantes\n initFloatingLabels();\n \n \/\/ Ocultar mensajes de CF7 al cargar la p\u00e1gina\n hideCF7Messages();\n \n \/\/ Observador para detectar y ocultar mensajes que aparezcan din\u00e1micamente\n const observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(mutation) {\n if (mutation.addedNodes && mutation.addedNodes.length > 0) {\n hideCF7Messages();\n }\n });\n });\n \n \/\/ Observar cambios en el formulario\n if (form) {\n observer.observe(form, { childList: true, subtree: true });\n }\n });\n <\/script>\n\t\t<\/p>\n\t<\/body>\n<\/html><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\u00a1Hacemos realidad tus proyectos el\u00e9ctricos!<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"class_list":["post-1734","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/acemaingenieria.com\/en\/wp-json\/wp\/v2\/pages\/1734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/acemaingenieria.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/acemaingenieria.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/acemaingenieria.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/acemaingenieria.com\/en\/wp-json\/wp\/v2\/comments?post=1734"}],"version-history":[{"count":83,"href":"https:\/\/acemaingenieria.com\/en\/wp-json\/wp\/v2\/pages\/1734\/revisions"}],"predecessor-version":[{"id":3681,"href":"https:\/\/acemaingenieria.com\/en\/wp-json\/wp\/v2\/pages\/1734\/revisions\/3681"}],"wp:attachment":[{"href":"https:\/\/acemaingenieria.com\/en\/wp-json\/wp\/v2\/media?parent=1734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}