forro

Forro is a end-to-end encrypted contract form based on PGP.
git clone git://git.defalsify.org/forro.git
Info | Log | Files | Refs | README | LICENSE

style.css (7846B)


      1 @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800&display=swap");
      2 
      3 * {
      4   margin: 0;
      5   padding: 0;
      6   box-sizing: border-box;
      7 }
      8 
      9 body,
     10 input,
     11 textarea {
     12   font-family: "Poppins", sans-serif;
     13 }
     14 
     15 .container {
     16   position: relative;
     17   width: 100%;
     18   min-height: 100vh;
     19   padding: 2rem;
     20   background-color: #fafafa;
     21   overflow: hidden;
     22   display: flex;
     23   align-items: center;
     24   justify-content: center;
     25 }
     26 .localkey-container {
     27     display: flex;
     28     flex-direction: column;
     29     align-items: center;
     30     gap: 1.5rem; 
     31     padding: 2rem; 
     32     background-color: #ffffff; 
     33     border: 1px solid #e5e7eb; 
     34     border-radius: 0.5rem; 
     35     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
     36     width: 50%;
     37     margin: 2rem auto; 
     38 }
     39 
     40 .input-passphrase {
     41     width: 80%;
     42     padding: 0.75rem; 
     43     border: 1px solid #d1d5db;
     44     border-radius: 0.375rem; 
     45     outline: none; 
     46     font-size: 1rem; 
     47 }
     48 
     49 .input-passphrase:focus {
     50     border-color: #3b82f6; 
     51     box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25); 
     52 }
     53 
     54 .btn-primary, .btn-secondary {
     55     width: 80%; 
     56     padding: 0.75rem 1rem; 
     57     text-align: center; 
     58     font-weight: 500; 
     59     border-radius: 0.375rem;
     60     cursor: pointer;
     61     outline: none;
     62     transition: background-color 0.3s ease, box-shadow 0.3s ease; 
     63 }
     64 
     65 .btn-primary {
     66     background-color: #3b82f6;
     67     color: #ffffff; 
     68 }
     69 
     70 .btn-primary:hover {
     71     background-color: #2563eb;
     72     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
     73 }
     74 
     75 .btn-secondary {
     76     background-color: #6b7280;
     77     color: #ffffff; 
     78 }
     79 
     80 .btn-secondary:hover {
     81     background-color: #4b5563;
     82     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
     83 }
     84 
     85 .help-text {
     86     font-size: 1rem;
     87     color: #333;
     88     margin-bottom: 0.5rem;
     89     transition: background-color 0.3s, color 0.3s;
     90     padding: 0.5rem;
     91     border-radius: 4px;
     92 }
     93 
     94 .help-text.new {
     95     background-color: #e0f7fa;
     96     color: #007bff;
     97 }
     98 
     99 .help-text.old {
    100     background-color: #f1f1f1;
    101     color: #999;
    102 }
    103 
    104 .form {
    105   width: 100%;
    106   max-width: 820px;
    107   background-color: #fff;
    108   border-radius: 10px;
    109   box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.1);
    110   z-index: 1000;
    111   overflow: hidden;
    112   display: grid;
    113   grid-template-columns: repeat(2, 1fr);
    114 }
    115 
    116 .contact-form {
    117   background-color: #1abc9c;
    118   position: relative;
    119 }
    120 
    121 
    122 .contact-form:before {
    123   content: "";
    124   position: absolute;
    125   width: 26px;
    126   height: 26px;
    127   background-color: #1abc9c;
    128   transform: rotate(45deg);
    129   top: 50px;
    130   left: -13px;
    131 }
    132 
    133 form {
    134   padding: 1rem;
    135   z-index: 10;
    136   overflow: hidden;
    137   position: relative;
    138 }
    139 
    140 .title {
    141   color: #fff;
    142   font-weight: 500;
    143   font-size: 1.5rem;
    144   line-height: 1;
    145   margin-bottom: 0.7rem;
    146 }
    147 
    148 .input-container {
    149   position: relative;
    150   margin: 1rem 0;
    151 }
    152 
    153 form {
    154 	max-width: 600px;
    155 	width: 100%;
    156 	padding: 2rem;
    157 	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    158 	border-radius: 8px;
    159   }
    160   
    161 
    162 
    163   .input-container input[type="file"] {
    164 	padding: 10px;
    165 	font-size: 16px;
    166 	color: #1abc9c;
    167 	background-color: #ffffff;
    168 	border: 2px solid #1abc9c;
    169 	border-radius: 4px;
    170 	cursor: pointer;
    171 	transition: background-color 0.3s ease, color 0.3s ease;
    172   }
    173 
    174   .input-container input[type="file"]:hover {
    175     background-color: #0056b3;
    176   }
    177 
    178   .input-container input[type="file"]:focus {
    179     outline: none;
    180     box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
    181   }
    182 
    183   .input-container ol {
    184     list-style-type: decimal;
    185     padding-left: 20px;
    186   }
    187 
    188   .input-container li {
    189     font-size: 14px;
    190     color: #333;
    191     padding: 5px 0;
    192   }
    193 
    194 .input {
    195   width: 100%;
    196   outline: none;
    197   border: 2px solid #fafafa;
    198   background: none;
    199   padding: 0.6rem 1.2rem;
    200   color: #000;
    201   font-weight: 500;
    202   letter-spacing: 0.5px;
    203   border-radius: 5px;
    204   transition: 0.3s;
    205   font-size: 16px;
    206 
    207 }
    208 
    209 textarea.input {
    210   padding: 0.8rem 1.2rem;
    211   min-height: 150px;
    212   border-radius: 5px;
    213   resize: none;
    214   overflow-y: auto;
    215 }
    216 
    217 
    218 
    219 .btn {
    220   padding: 0.6rem 1.3rem;
    221   background-color: #fff;
    222   border: 2px solid #fafafa;
    223   font-size: 0.95rem;
    224   color: #1abc9c;
    225   line-height: 1;
    226   border-radius: 5px;
    227   outline: none;
    228   cursor: pointer;
    229   transition: 0.3s;
    230   margin: 0;
    231 }
    232 
    233 #identity_select{
    234 	margin-bottom: 10px;
    235 	width: 200px;
    236     padding: 10px;
    237     font-size: 16px;
    238     color: #333;
    239     background-color: #f8f8f8;
    240     border: 1px solid #ccc;
    241     border-radius: 4px;
    242     -webkit-appearance: none; 
    243     -moz-appearance: none; 
    244     appearance: none;
    245     background-image: url('data:image/svg+xml;utf8,<svg fill="%23333" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
    246     background-repeat: no-repeat;
    247     background-position-x: 95%;
    248     background-position-y: 50%;
    249     cursor: pointer;
    250 }
    251 .btn:hover {
    252   background-color: transparent;
    253   color: #fff;
    254 }
    255 
    256 .input-container span {
    257   position: absolute;
    258   top: 0;
    259   left: 25px;
    260   transform: translateY(-50%);
    261   font-size: 0.8rem;
    262   padding: 0 0.4rem;
    263   color: transparent;
    264   pointer-events: none;
    265   z-index: 500;
    266 }
    267 
    268 .input-container span:before,
    269 .input-container span:after {
    270   content: "";
    271   position: absolute;
    272   width: 10%;
    273   opacity: 0;
    274   transition: 0.3s;
    275   height: 5px;
    276   background-color: #1abc9c;
    277   top: 50%;
    278   transform: translateY(-50%);
    279 }
    280 
    281 .input-container span:before {
    282   left: 50%;
    283 }
    284 
    285 .input-container span:after {
    286   right: 50%;
    287 }
    288 
    289 
    290 
    291 
    292 .input-container.focus span:before,
    293 .input-container.focus span:after {
    294   width: 50%;
    295   opacity: 1;
    296 }
    297 
    298 #helpdiv {
    299   padding: 2.3rem 2.2rem;
    300   position: relative;
    301 }
    302 
    303 #helpdiv .title {
    304   color: #1abc9c;
    305 }
    306 
    307 .text {
    308   color: #333;
    309   margin: 1.5rem 0 2rem 0;
    310 }
    311 
    312 .icon {
    313   width: 28px;
    314   margin-right: 0.7rem;
    315 }
    316 
    317 
    318 
    319 
    320 .square {
    321   position: absolute;
    322   height: 400px;
    323   top: 50%;
    324   left: 50%;
    325   transform: translate(181%, 11%);
    326   opacity: 0.2;
    327 }
    328 
    329 .details{
    330     display: flex;
    331     flex-direction: column;
    332     gap: 10px;
    333 }
    334 .identify{
    335   display: flex;
    336   flex-direction: column;
    337   gap: 10px;
    338 }
    339 #reset {
    340     display: flex;
    341 	align-items: center;
    342     gap: 10px;
    343 	justify-content: center;
    344 	margin-top: 5px;
    345 	margin-bottom:5px ;
    346   }
    347 
    348   #reset button {
    349     padding: 10px 20px;
    350     font-size: 16px;
    351     color: #fff;
    352     background-color: #007bff;
    353     border: none;
    354     border-radius: 4px;
    355     cursor: pointer;
    356     transition: background-color 0.3s ease;
    357   }
    358 
    359   #reset button:hover {
    360     background-color: #0056b3;
    361   }
    362 
    363   #reset button:active {
    364     background-color: #004085;
    365   }
    366 
    367   #reset button:focus {
    368     outline: none;
    369     box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
    370   }
    371   
    372   p,
    373 span,dd {
    374   word-wrap: break-word;
    375   word-break: break-all;
    376   max-width: 100%;
    377 }
    378 #dev {
    379   margin-top: 2rem;
    380   padding: 1rem;
    381   background-color: #f1f1f1;
    382   border: 1px solid #ccc;
    383   border-radius: 8px;
    384 }
    385 
    386 #dev hr {
    387   margin-bottom: 1rem;
    388 }
    389 
    390 #dev h2 {
    391   font-size: 1.5rem;
    392   margin-bottom: 1rem;
    393 }
    394 
    395 #dev dl {
    396   display: flex;
    397   flex-wrap: wrap;
    398 }
    399 
    400 #dev dt {
    401   width: 100%;
    402   font-weight: bold;
    403   margin-top: 1rem;
    404 }
    405 
    406 #dev dd {
    407   width: 100%;
    408   margin-left: 0;
    409   margin-bottom: 1rem;
    410   overflow-wrap: break-word;
    411 }
    412 
    413 @media (max-width: 850px) {
    414   .form {
    415     grid-template-columns: 1fr;
    416   }
    417 
    418 
    419   .square {
    420     transform: translate(140%, 43%);
    421     height: 350px;
    422   }
    423 
    424 
    425   .text {
    426     margin: 1rem 0 1.5rem 0;
    427   }
    428 
    429   
    430   .localkey-container {
    431 	width: 80%; 
    432 	padding: 1.5rem;
    433 }
    434 
    435 .input-passphrase, .btn-primary, .btn-secondary {
    436 	width: 100%; 
    437 	font-size: 1rem; 
    438 }
    439 }
    440 
    441 @media (max-width: 480px) {
    442   .container {
    443     padding: 0.2rem;
    444   }
    445 
    446 
    447   .square{
    448     display: none;
    449   }
    450 
    451   
    452   form, #helpdiv {
    453     padding: 0.5rem;
    454   }
    455 
    456   .text,
    457   .information{
    458     font-size: 0.8rem;
    459   }
    460 
    461   .title {
    462     font-size: 1.15rem;
    463   }
    464 
    465   .input {
    466     padding: 0.45rem 1.2rem;
    467   }
    468 
    469   .btn {
    470     padding: 0.45rem 1.2rem;
    471   }
    472   .localkey-container {
    473 	width: 95%; 
    474 	padding: 1rem; 
    475 }
    476 
    477 .input-passphrase, .btn-primary, .btn-secondary {
    478 	width: 100%;
    479 	font-size: 0.9rem;
    480 	padding: 0.65rem; 
    481 }
    482 
    483 .btn-primary, .btn-secondary {
    484 	font-size: 1rem; 
    485 	padding: 0.75rem 1rem;
    486 }
    487 }